Freeing up memory in Version 70 firmware

Go directly to:      JCI Test Mode

carplay sal1In conjunction with the previous article, where Fiat 124 Spider and Abarth 124 Spider owners are installing the CarPlay retrofit hub kit with Mazda’s version 70 firmware, which is needed to make it all work, since it seems that Fiat has not announced any plans to release version 70 firmware of their own, this article explains how to free up memory by deleting part of the Navigation program.

Due to apparent VIN cross-checking, Navigation is dysfunctional in Fiats and Abarths running Mazda firmware anyways (of course they’ll have a choice of  Google Maps or Waze to guide them to their destinations instead), regardless whether legal Mazda/Fiat SD cards are inserted (the car VIN is NE/NF and the firmware is expecting ND VIN), so I came up with the idea of removing NNG’s ≈ 18 MB   /jci/nng/jci-linux_imx6_volans-release file, that is integral to the Navigation program, in order to free up a good chunk of memory. It is basically the core of  iGO version 9.12.129.728970, and the file is exactly the same for v70.00.000 , v70.00.021, and v70.00.100 (probably a few iterations of v59 Mazda firmware, as well).

Because of the additional firmware memory assigned to CarPlay and Android Auto apps that were added to Version 70 firmware, there is very little left to allow for installing other apps (i.e. Speedometer, Video Player), larger animation files, etc., so this may prove to be quite helpful not only to Fiat and Abarth 124 Spider owners, but Mazda owners that no longer need their built-in Navigation program, and would rather free up some memory*¹.

Also, it is recommended that large apps, like Speedometer, AA and CASDK, be uninstalled, and avoid reinstalling them until after you have installed the Mazda-to-Fiat version 70 tweaks, to insure sufficient memory is available for that tweak, especially if you are restoring the Navigation function.

With Version 70 firmware, you are advised to use the Mazda AIO installer, version 2.8.3 or higher, along with the “Apps to Resources” install option, for installing additional tweaks, as it adapts to changes in the Home page that accommodate CarPlay and Android Auto, as well as making better use of the available memory in the CMU by installing to the resources partition, rather than the almost-full root partition.

mazda-aio-install-options

There used to be a tweak for patching the NNG file (thank you colonelpan1c), so that it would be linked to hacked license files that allowed Navigation to function without purchasing it, and I am simply borrowing the (legal) portion of the tweak which simply copies your NNG file, and gives you the ability to restore it unchanged (no patching), back to your CMU, if so desired in the future.

aha4aiconI ran my idea by Trevor (trezdog44) for his opinion (and bench testing – thank you sir!), prior to having TheSalamander beta test the routine and publishing this article, to insure that removing this file wouldn’t brick the CMU.  In fact, everything simply behaves as if the SD card isn’t installed, and was thinking that Trevor may eventually add this option to MZD-AIO, but he’s informed me that he is developing a new strategy of saving .org (backup) and large app files to a different partition, to get around the almost full partition where jci is loaded, which he’s hoping to implement, starting with MZD-AIO 2.8.2.

Meanwhile, my tweak is available here now, and contains three routines in the zip file:

  • StepOneTest  –  copies NNG file to your USB drive only.
  • StepOne  –  copies NNG file to your USB drive,  and then deletes it from the CMU firmware to free up ≈ 18 MB.
  • StepTwo  –  replaces NNG file from your USB drive, back to the CMU firmware, if desired sometime in the future (or you could simply reinstall the firmware up files).

Instructions (ReadMe.txt):

You’ll need id7 tweak installed in order to tweak via USB (install with my id7 tweak before upgrading to version 70).

Copy all files from StepOneDownloadNNG to your FAT 32 formatted USB drive.  Plug in the USB drive to the car and wait for the scripts to run. Once complete, the NNG file will be downloaded to your USB’s config folder, and then removed from your CMU, freeing up 18,268 KB . Copy this file over to your computer to backup, in case you might wish to reinstall at a later date (or you could simply reinstall the firmware up files).

If you ever to decide to restore this file, delete the contents in your USB drive and copy over the contents from StepTwoUploadNNG to your USB drive, place the backed-up jci-linux_imx6_volans-release file into the config folder on your USB drive.  Plug the USB drive into your car to apply the reinstall tweak. Once you see the car’s system reboot, remove the USB. Your Navigation NNG file will be reinstalled.

StepOneTestDownloadNNG is the same as StepOneDownloadNNG, only it doesn’t delete the file from your firmware, it only copies it to your USB drive, allowing you to feel comfortable with the process.

*¹  also filling up memory that keep tweaks from installing properly, are temporary files @ /tmp/mnt/data_persist/log/dumps/


Linux CPU/MEM/VIP Performance Monitor

This slideshow requires JavaScript.

For those wanting to view a performance monitor (to observe memory usage) while experimenting, press and hold Music + Back + Mute until the 3-color bar overlay comes up in the right corner of your screen.   You can then operate your Infotainment system and monitor each function’s effect on CPU load, memory (and I think VIP is Virtual IP  throughput?) with either:

  • that small overlay
  • or by tapping the overlay, bringing up a semi-transparent full-screen view of the Linux Performance Monitor

✅ It is temporary function, so the performance monitors will disappear at the next reboot, which can be invoked with press and hold of  Nav + Mute.


JCI Test Mode

This slideshow requires JavaScript.

Since tweaks have yet to be thoroughly adapted and tested for version 70+ firmware, those of you on version 70 (along with id7) might want to learn more about a little-known Test Mode script screens option in your firmware:

  • Little-known to 124 Spider owners, that is.
    Mazda owners prior to 2015 were well aware it 😉 as reverse-engineering some of these scripts for toggling settings (like speed-restricted functions and touchscreen, enabling WiFi, etc.), became the basis for the origins of Siutsch’s  AIO tweaks:

♦   LVDS SPEED TOGGLE → runs set_lvds_speed_restriction_config.shEnable detailed touchscreen input while driving (like input of route destination address)

♦   SPEED TOGGLE → runs set_speed_restriction_config.shReverse other speed restricted items, besides detailed touchscreen input including: Unable to alter some settings / Bluetooth devices can be paired only when the vehicle is parked / Disable viewing of Text messages; the system will only read the message to you / Disable responding to Text messages with the predefined short answers

  • For manually changing settings by invoking USB keyboard drivers, followed by a terminal window on the CMU display screen, plugging a keyboard into one of the car’s USB ports, and entering (tweak) commands directly (rather than emulating a terminal via a laptop connected to a serial port):

♦   USB DRIVER → runs usb_drivers.sh : add to kernel all usb drivers (hid, usbhid, sound, midi, audio, keyboard) use before using Terminal

♦   TERMINAL → runs 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 keyboard and mouse.  

♦   I haven’t personally tried out a terminal session, so please post questions regarding this option on the popular mazda3revolution forum, rather than here.

Firmware after ≈ v56.00.511 disabled the “Easter Egg” (holding the delete button for 15 seconds) used to gain access to Test Mode from the Diagnostics Menu screen, but as frippi has discovered, everything else has been left intact.  Unless you manually substitute frippi’s revised files to your CMU, you can gain access to nine “Test Mode” screens (Options 11 through 19) by simply installing my USB  ** tweak **  which adds a Test Mode button (labelled T/M) ⇓ to the Diagnostics Menu screen.

Use at you own risk though, as these screens were meant for the firmware developers, and I don’t if anyone has documented what programming is assigned to Options 12 – 19.

✅ Option 11 in particular, results in a set of JCI Test script screens (shown above) and described further here

screenshot-jci test mode

Diagnostics Menu panel with mods by frippi & ameridan

Installation Instructions (ReadMe.txt)

Tweak written by ameridan 11/12/2018 to substitute TestCtrl files modified by frippi & ameridan.  If your firmware is ≥ 59.00.502, you’ll need id7 tweak installed in order to tweak via USB.

Tweaks.sh is currently for installing JCI Test Mode button tweak, which replaces the disabled access to the Test Scripts screen by holding down the Delete button.

Copy all files to your FAT 32 formatted USB drive. Plug in the USB drive to the car and wait for the scripts to run. Once complete and system reboots, pull out your USB drive.

The Diagnostics screen can be invoked by either of two methods, which then allows you to enable Test Mode by touching the new T/M button:

Method 1:  Press + hold Music + Favorites + Mute until the Diagnostics menu comes up.
Method 2:  In Display Settings screen, press + hold the time readout (top-right corner) until a beep is heard, then press + hold the Home icon (top-left corner) until another beep and the Diagnostics menu comes up.

am3uuw00012499

Notes:
Avoid selecting the Display Toggle button, as it results in a black (deselected) screen.  In the event you have chosen it by accident, delete tweaks.sh, copy tweaks.sh.black_screen, and change name of the copied file to tweaks.sh and copy files to your USB drive.

If you wish to uninstall the tweak, delete tweaks.sh, copy tweaks.sh.uninstall, and change name of the copied file to tweaks.sh and copy files to your USB drive.

4 thoughts on “Freeing up memory in Version 70 firmware

  1. @The Salamander,
    I started thinking today… If the /jci/nng/jci-linux_imx6_volans-release file from our Fiat firmware was substituted for the Mazda one you deleted, would the Navigation start working? I don’t know if the VIN checking is built into that compressed file or not. I’ll make mine available if you haven’t got your jci backup files.

    Like

    • For the record, it turns out my idea did work, and Mazda firmware will function with the Fiat navigation card by installing my tweak. Read more here.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s