I wanted to get a photo of the GPS board flashing its LED when it has a position locked...
Yeah, I've used the super strong double sided tape (thanks Linz & George) to stick it into place.
This is still the "repaired" Terry unit from 07/05/2013 - however, it has had some changes made (still missing a bluetooth chip, damn it)... It is now running the 2014 packages, which I was able to do because I've freed up a lot of extra space so I could do it bit-by-bit without too much risk.
There are quite a few symbolic links needed for extra things going on in the newer firmware:
// Navi changes that were not documented before...
cd /etfsRoot/etc
ln -s /packages/factory/navi/root/etc/navi navi
WARNING: Don't use the update menu inside the sat-nav software - it will crash the unit - I'm not sure why yet, but this was missing which was a candidate for what was wrong - but it didn't fix that.
// New package links
cd /etfsRoot/bin
ln -s /packages/factory/swsa_binaries_and_libraries/root/bin/seperate seperate
ln -s /packages/factory/swsa_binaries_and_libraries/root/bin/hmiEvent hmiEvent
ln -s /packages/factory/graphics/root/bin/exhibit exhibit
ln -s /packages/factory/applications/root/bin/fpv_gauges fpv_gauges
cd /etfsRoot/lib
ln -s /packages/factory/media_player/root/lib/libandroid.so libandroid.so
cd /etfsRoot/usr/bin
ln -s /packages/factory/swsa_binaries_and_libraries/root/usr/bin/dynamic_update_symlink.sh dynamic_update_symlink.sh
ln -s /packages/factory/swsa_binaries_and_libraries/root/usr/bin/dynamic_update_process.sh dynamic_update_process.sh
ln -s /packages/factory/swsa_binaries_and_libraries/root/usr/bin/dynamic_update_identify.sh dynamic_update_identify.sh
ln -s /packages/factory/swsa_binaries_and_libraries/root/usr/bin/dynamic_update_hmi.sh dynamic_update_hmi.sh
/// Moved: date -> /packages/factory/qnx_binaries_and_libraries/root/usr/bin/date
/// (it's now in /boot/proc -> need to copy it back to qnx.. as proc is the read-only partition)
/// Moved: gf-calib -> /packages/factory/qnx_binaries_and_libraries/root/usr/bin/gf-calib
/// (it's now in /packages/factory/graphics/root/usr/bin)
rm gf-calib
ln -s /packages/factory/graphics/root/usr/bin/gf-calib gf-calib
cd /packages/system/trailer
ln -s /packages/factory/swsa_binaries_and_libraries/root/usr/bin/dynamic_update_hmi.sh dynamic_update_hmi.sh
So, yeah, it's now really up to date and acting like my newest unit, except...
ERROR vehicle_se[ 2]receive_ipc_message vehicleSettingsIpcHa@327 : Incorrect message length 32, expected 3
That happens every couple of seconds...
ERROR diagnostic[ 1]NotificationHandler listManagerClient.c@606 : Failed writing list to HMI. Error returned (1)'Operation not permitted'
And that happens once on start-up.
I've reverted back to the original "vehicle_settings" and "diagnostics" executables (copied them into the newer packages) and it's now booting without any error messages. Not sure what's going on here, but I didn't re-write the read-only boot partition(s) as this has a real risk of bricking the unit. That may contain differences that will fix these two issues, but for now it can remain this way.
So, things to note... "libandroid.so" is new! "fpv_gauges" is now installed and running. dynamic_update... is also new - which runs every-time the ignition key switch changes. Seems these newer units are designed to update from the USB stick more easily... There might be an exploit here.
But for now, fpv_gauges is going to be my focus. My understanding is, while the Home screen is showing, the Home button says "FPV" which takes you to the FPV gauges. Inside the menus or nav-software, the Home button says "Home". I ask myself, how hard could it possibly be to hack this program into doing that on a non-FPV car? (Maybe months!)