MZD-AIO-TI PRO Tips
WARNING: These are called ‘Pro Tips’ for a reason, I take no responsibility for the misuse of any of these instructions. They are provided for informational purposes only, if you are going to attempt making any modifications to your vehicle’s Infotainment System you should have the proper knowledge and experience to recover if something were to go wrong.
SSH
SSH ACCESS IS THE MOST IMPORTANT TOOL FOR DEVELOPMENT ON THE MZD INFOTAINMENT SYSTEM.
The are 3 main ways to gain SSH access:
- USB-Ethernet Adapter
- Wifi
- SSH over ADB (Android Debug Bridge)
In FW v56.00.5XX+ SSH access was disabled, It can be re-enabled with AIO
After restoring SSH your root user/pass will be cmu/jci. With AIO a second root user/pass is added: jci/jci
Why?
I wanted to make a definitive way that AIO could recognize that it had previously modified the passwd file. Since we do not want to put any erroneous information into that file, a user in the Mazda3Revolution Forum suggested to rename the existing cmu (or root) user (with unknown password) to jci and add the new cmu user above that (making it the new root user). That would work except the jci user would be useless since we don’t know the password, solution: create a new jci/jci user/pass and add in place of the original giving us a unique user that can be easily checked programmatically and is usable for SSH access.
Any properly hashed user/pass combination can be added to the passwd file and used for SSH access, at the moment I have 4 root users: cmu, jci, root, and trez (all my passwords are jci for simplicity but you can make them anything). If I was going to perform a firmware update I would remove the root user name and my other 3 root users would persist through the update. There are many ways to create a hashed value including SHA-256, SHA-512, and crypt.
How to make a user/pass using Ubuntu(16.04):