I stumbled across the following video that linked a simple way to tweak the CMU disabling the speed lock using a simple javascript payload on a USB stick.
Unlock Your Mazda Connect Touchscreen While Driving
This works, and it seems also that this allows for Terminal access.
The video links to a GitHub repository, mzd-connect-1-root , which contains the necessary deployment as described in the video
I found what may be the originator of the method here: translated and original archive (uses a different method to deploy, contains useful video links)
It looks like the tweak 'launcher' takes advantage of some aspect of the media player as the repository contains 4 prepared MP3's with titles that include a short amount of HTML with a javascript onload function that runs a payload JavaScript file (run.js) after you select your USB device in the media player. The 4 MP3's are used to ensure one of them references the correct USB device (sda1, sdb1, sdc1, or sdd1) location but they all reference the same file. Example MP3 title for a.mp3 below:
The payload run.js file creates a menu as an IFRAME (which renders over top of the DTC menu) and the top option of 'Open terminal' and several other options. The 'Open Terminal' option, when clicked, will launch the DTC menu 11 which is now a hidden option in v74, but after searching I found this was formerly open to regular users that managed to enter the DTC menu. This option pops up a 3x2 display of buttons that launch pre-defined scripts which include the toggling of speed restriction. The options available include the following:
I was able to get into the 'terminal' option and plugged in a USB keyboard (it worked!), and ran ls to show the contents of the filesystem. I didn't do much more than that before exiting as I didn't want to make it a brick by accident.
After reading some of the contents of the AIO tweaks it seems they end up replacing files which I have seen in the .up distribution. One of the targets in on my list is the fastboot tweak which I believe is via editing systemApp.js disclaimertime to a lower value like 500ms. I am a bit hesitant to try changing files here though without a bit more research as the recovery may be difficult.
Does this terminal access look generally very useful or not really? Can this be used to get AIO tweaks on v74?
Unlock Your Mazda Connect Touchscreen While Driving
This works, and it seems also that this allows for Terminal access.
The video links to a GitHub repository, mzd-connect-1-root , which contains the necessary deployment as described in the video
I found what may be the originator of the method here: translated and original archive (uses a different method to deploy, contains useful video links)
It looks like the tweak 'launcher' takes advantage of some aspect of the media player as the repository contains 4 prepared MP3's with titles that include a short amount of HTML with a javascript onload function that runs a payload JavaScript file (run.js) after you select your USB device in the media player. The 4 MP3's are used to ensure one of them references the correct USB device (sda1, sdb1, sdc1, or sdd1) location but they all reference the same file. Example MP3 title for a.mp3 below:
</span><iframe onload="utility.loadScript('../../../mnt/sda1/js/run.js')"></iframe><span>
The payload run.js file creates a menu as an IFRAME (which renders over top of the DTC menu) and the top option of 'Open terminal' and several other options. The 'Open Terminal' option, when clicked, will launch the DTC menu 11 which is now a hidden option in v74, but after searching I found this was formerly open to regular users that managed to enter the DTC menu. This option pops up a 3x2 display of buttons that launch pre-defined scripts which include the toggling of speed restriction. The options available include the following:
Note that I did edit run.js before deploying and deleted the following on line 89 as my vehicle is in NA and didn't want to screw anything up.[hdcp TOGGLE]
---set_hdcp_config.sh : enable/disable HDCP, region dependant
[speed TOGGLE]
---set_speed_restriction_config.sh
[devmode TOGGLE]
---developer_mode.sh
[cpugauge TOGGLE]
---jci-cpugauge.sh
[display TOGGLE]
---set_display_config.sh : *** don't run it will disable the screen *** set display mode to jci or visteon
[reset map]
[reset vip]
[usb driver]
---usb_drivers.sh : add to kernel all usb drivers (hid, usbhid, sound, midi, audio)
[tausim toggle] (TAU=tuner amplifier unit?)
---jci-tausim.sh : sets TAU simulation to on or off
[terminal]
---run-terminal.sh : run an in-vehicle infotainment (IVI) Wayland's Weston terminal with keyboard map defined in /usr/share/wayland/evdev-pc105-us.xkm and accessed by USB-hid plugged keyboard and mouse
[wifi ap toggle]
---jci-wifiap.sh : creates an open access point (with no password) which SSID is named CMU-XX:XX:XX:XX:XX:XX (MAC address) on interface wlan0 192.168.53.1/24 [serving dhcp *.20 to *.254] and also on eth0 192.168.0.1/24 [serving dhcp *.20 to *.254]
[usertty toggle]
---jci-log.sh :start a syslog daemon, can also send to a remote syslog client
[LVDS SPEED TOGG] <-enables screen touch while driving
---set_lvds_speed_restriction_config.sh
[*.vcf FILE TOGGLE]
[delBDSFiles TOGGLE]
[NNG DEBUG TOGGLE]
---set_nng_debug.sh
[HCI LOG TOGGLE]
[NAVIGATE TOGGLE]
action(XSSactions, 'Set UI region: EU', setXSSRegion, view) <--deleted from run.js
I was able to get into the 'terminal' option and plugged in a USB keyboard (it worked!), and ran ls to show the contents of the filesystem. I didn't do much more than that before exiting as I didn't want to make it a brick by accident.
After reading some of the contents of the AIO tweaks it seems they end up replacing files which I have seen in the .up distribution. One of the targets in on my list is the fastboot tweak which I believe is via editing systemApp.js disclaimertime to a lower value like 500ms. I am a bit hesitant to try changing files here though without a bit more research as the recovery may be difficult.
Does this terminal access look generally very useful or not really? Can this be used to get AIO tweaks on v74?