Оновлення Sync 3 – APIM

Із заводу і по VIN коду мультимедіа система APIM йшла із версією Sync 3.0, хоч і все працювало, вирішив оновити до версії 3.4.

Пакети оновлень складають із себе gz (зжимання) + tar (об`єднання в один файл) архів, в якому крім корисних файлів лежить цифровий підпис корисних фалів Version.der (якщо контрольна сума не співпадає, то інсталяція не почнеться), но щоб поставити, наприклад, відеоплеєр від fmods, треба фізичн підключення до eMMC і напряму змінюють файли після монтування файлової системи. Також є різні апаратні версії з різним обсягом оперативки (1 Гб без навігації, 2 Гб з навігацією) і розміром накопичувача (Америка: 8 Гб без навігації, 32 Гб з навігацією; Європа: 16 гб без навігації, 64 гб з навігацією).

Оновлюємо версію

Виймаємо усі флешки із хабів! Форматуємо флешку у формат exFAT. Завантажуємо пакет Reformat. Контент autoinstall.lst

[SYNCGen3.0_ALL]
Item1 = 1U5T-14G386-CB - SyncMyRide\1U5T-14G386-CB.tar.gz 
Open1 = SyncMyRide\1U5T-14G386-CB.tar.gz 
Options = AutoInstall

Після виконнаня SH скрипта APIM вантажиться із реформата, де IFS ядро ОС, а MLO попередній завантажувач (IPL).

update_boot -t -i /tmp/QNX-IFS-REFORMAT -m /tmp/MLO

Після завантаження із реформата система очікує флешку із новими даними. Файли завантажив з дзеркала від Balmix, но краще напряму з серверів Ford через Syn3 Updater від CyanLabs. При вставленні флешки виконувати команди із файлу reformat.lst, файли для версії 3.4.19200 без навігації (голосовий пакет включає і Європейські мови).

APPS=5U5T-14G381-CD.TAR.GZ
VOICE=5U5T-14G391-AB.tar.gz
GRACENOTES=4U5T-14G423-AA.tar.gz

На 1 етапі відбувається перерозмітка eMMC, і далі розпакування і виконання файлів. На цьомі етапі відбувається заміна ядра QNX (файл QNX-IFS) і попереднього завантажувача (MLO) – в ньому відбувається ініціалізація HW. А також розпакуання і монтування розділу із основною аплікацією apps.img.

На 2 етапі розпакування і монтування розділу voice_new.img із голосовими підказками.

На 3 етапі розпакування розділу Gracenotes який містить фото обкладинок альбомів. gracenotes_new.img.

І тут нас чекає червоний екран помилки. Детального пояснення немає.

Скоріш за все не вистарчило пам’яті на диску (у US варіанті без навігації тільки 8 Гб флеш памяті, розділ /fs/images/ розмічений тільки 3 Гб, а ці 3 файли займають 4,57 Гб):

Викидаємо з reformat.lst граценоти і починаємо оновленно заново (версія 3.4.19200):

APPS=5U5T-14G381-CD.TAR.GZ
VOICE=5U5T-14G391-AB.tar.gz // AK

Для 3.4.21098 (голосові підказки і розпізнавання мов країн Європи):

APPS=5U5T-14G381-ES.tar.gz
VOICE=5U5T-14G391-AN.tar.gz

Для 3.4.21194 (EU)

APPS=5U5T-14G381-ET.tar.gz
VOICE=5U5T-14G391-AP.tar.gz

Для 3.4.22048

APPS=5U5T-14G381-EX.tar.gz
VOICE=5U5T-14G391-AR.tar.gz // EU
VOICE=5U5T-14G391-CP.tar.gz // US+CA

Система успішно встановилася і реформатер змінив завантаження на оновлену систему.

Оновлена версія (у версіях новіших 3.4.19200 вимкнули запуск (список блокований пакетів у /etc/Ivsu_Revoke.txt) реворматора, тому для запуску потрібно downgrade через автоінстал до версії 19200, запуск реформатера, інсталяція нової версія).

Багів із відтворенням флешок, роботи кондиціонера не помічено. Блютуз є інколи залипання розмови.

Єдине що у MP3 файлаях якщо у ID3 тегах виконавці не у UTF8 то виводить крякозабри.

Фінальна версія. Нічний режим.

Так виглядала версія 3.0 денна тема.

Файл калібровки: HB5T-14G375-BA, стратегія HB5T-14G374-CA. AS Built через FORScan:

Рекомендовано залити калібровки MY18.5 (!!! уточнити з VIN для Kuga)

GB5T-14G376-AA.VBF - Flash Driver - SBL - Bootloader
1U5T-14G374-DA.VBF - прошивка модуля
1U5T-14G375-AA.VBF - APIM ECU Calibration Data #1 Number (DID F124)
GB5T-14G379-AA.VBF - SYNC Calibration File
JB5T-14G379-BA.VBF - SYNC Calibration File

Характеристики мого модуля: eMMC 8GB, таблиця монтування для 3.0.19200:

/fs/tmpfs/ total=128M available=126M
/fs/Nuance/ total=1.3G available=5.4M
/fs/rwdata/ total=1024M available=672M
/fs/mp/ total=1024M available=172M
/fs/images/ total=4.2G available=2.7G

Для версії 3.4.19200, 3.4.21098:

/fs/Nuance/ total=1.9G available=97M
/fs/rwdata/ total=1.2G available=1021M
/fs/rwdata/quip/ total=35M available=35M
/fs/rwdata/quip/ total=90M available=90M
/fs/mp/ total=1.4G available=144M
/fs/images/ total=3.0G available=956M

Для входу в сервісне меню затискаємо кнопки “перемотка вперед” і “вийняти диск”.

Трохи реверсу прошивки

Розпаковуємо *.img і конвертуємо у *.vdi

"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" convertfromraw -format VDI apps.img apps.vdi
"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" convertfromraw -format VDI voice_new.img voice_new.vdi

щоб можна було підмонтувати у VirtualBox (QNX SDP 6.5.0).

mount -r -t qnx6 /dev/hd0 /fs/mp
mount -v -t dos /dev/hd10 /fs/ram/flash
cp -R -L /fs/mp/* /fs/hd10-dos-1/

Інтерфейс навігації HMI побулований на Qt5, інттерфейс, навігація, вивід відео з камер, робота із CAN шиною, все рознесено у окремі аплікації (переключення відбувається моментально).

Є певний перелік дозволених хабів /etc/allowed_hubs.xml: Версія 3.0.20204

Версія 3.4.22048

vid="0x2996" pid="0x0118" description="MY17MCM"
vid="0x2996" pid="0x0119" description="MY17MCM (1+1)"
vid="0x2996" pid="0x011A" description="MY17MCM (1+SD)"
vid="0x2996" pid="0x0146" description="MY21MCM (1+1)"
vid="0x042f" pid="0x0501" description="Molex 2USB Hub"
vid="0x042f" pid="0x0502" description="Molex Embedded Hub"
vid="0x042f" pid="0x0503" description="Molex 1+1 Hub"
vid="0x042f" pid="0x0600" description="Carplay port"

І carplay_allowed_hubs.xml

У бінарнику (ELF формат) /app/VS_CANShadow знаходимо перелік заголовків (повний перелік), які обробляє прошивка, найбільш цікаві:

Vehicle_Status_Msg 0x109 - передача, обороти, швидкість авто
EFP_Button_Press 0x2A0 - натиснуті кнопки медіа
Tire_Pressure_Status 0x3B4
Tire_Pressure_Data HS3_0x3B5
Tire_Temp_Data_HS3 0x3BB
Personality_IPMB_Data_HS3 0x3EE - запит на вивід відео
Battery_Mgmt_2 0x42C

На форумі знайдено пакет запиту відео (можна виводити на швидкості до 10 км/год, дані беруться із пекету із ID 109 aa bb cc dd ee ff gg hh [aa bb – RPM, cc – gear, dd ee ff – speed, gg – inginition]): запит виводу відео:

3EE 00 08 08 1B 80 00 00 00

Відміна виводу:

3EE 00 00 08 1B 80 00 00 00

Українізація Sync 3 Ford

Офіційний дилер обіцяє з року в рік український інтерфейс навігаційної системи.

При редагування As-Build при заміні Country Code із US на UP (Ukraine), не RS! Довідник по значенях від CyanLabs.

7D0-02-01: XXXX-####-#### 
5550 == UP

Українізація автомобіля

Історія оновлення із сайту 3,0

Завантажуємо оновлення 3.0.21 (3.0.19205) JR3T-14G381-AS на сайті https://help.ford.com/update-sync/. v3.0.20204 JR3T-14G381-AX

SYNC3_2320196155_Update.zip SHA1 0E1C547E4AD13C45B81DB8E19FF61FCE380B9D97 MD5 de74dd16d4304a01c12a32552b64c21c - коректний

SYNC3_2320196155_Update.zip SHA1 4F60E6F844A90C4A6CB3885848F0BBDD3E865024 - битий

JR3T-14G381-AS.zip SHA1 7C3A305A409178903A45C2C737E1BB01C2F34362 - битий

Виявилося що з офіційного сайту приходять биті файли. Не потрібно шукати іншого архіватора, деякі архіватори пропускають файл з битими контрольними сумами, і на місці даних будуть нулі. Відповідно при оновленні система не дасть залити такий файл бо буде невірна контрольна сума.

Архіви бінарно відрізняються.

Файли оновленнь:

autoinstall.lst
DONTINDX.MSA
SyncMyRide\GB5T-14G386-AB.tar.gz
SyncMyRide\GB5T-14G386-AB.tar.gz
SyncMyRide\GB5T-14G386-SC.tar.gz
SyncMyRide\HB5T-14G386-TBB.tar.gz
SyncMyRide\HB5T-14G386-THA.tar.gz
SyncMyRide\HB5T-14G387-AAB.tar.gz
SyncMyRide\JR3T-14G381-AS.tar.gz
SyncMyRide\JR3T-14G391-BF.tar.gz
SyncMyRide\JR3T-14G423-BB.tar.gz

Файл autoinstall.lst

; SYNC3 Consumer Assembly Upgrade - Release 3.0.25 - Only for NonNav/NonEU assemblies.

[SYNCGen3.0_3.0.20204_PRODUCT]
Item1 = HB5T-14G386-THB
Open1 = SyncMyRide\HB5T-14G386-THB.tar.gz
Item2 = HB5T-14G386-TBC
Open2 = SyncMyRide\HB5T-14G386-TBC.tar.gz
Item3 = GB5T-14G386-SC
Open3 = SyncMyRide\GB5T-14G386-SC.tar.gz
Options = AutoInstall
[SYNCGen3.0_ALL]
Item1 = JR3T-14G381-AX
Open1 = SyncMyRide\JR3T-14G381-AX.tar.gz
Item2 = JR3T-14G423-BB
Open2 = SyncMyRide\JR3T-14G423-BB.tar.gz
Item3 = GB5T-14G386-AC
Open3 = SyncMyRide\GB5T-14G386-AC.tar.gz
Options = Delay,Include,Transaction

По файлах:

HB5T-14G386-THB.tar.gz – перевірка поточної версії

HB5T-14G386-TBC.tar.gz – видалення /fs/images/ivsu_* файлів

GB5T-14G386-SC.tar.gz – видалення gracenotes

umount -f /fs/Nuance/gracenotes
rm /fs/images/gracenotes.img
rm /fs/rwdata/.Version/*-14G423-*

GB5T-14G386-AC.tar.gz – генерування лога

Контент реформат для версії із навігацією.

APPS=5U5T-14G381-EG.TAR.GZ
VOICE=5U5T-14G391-DM.tar.gz
VOICE_NAV=4U5T-14G422-BCE.tar.gz
GRACENOTES=4U5T-14G423-DA.tar.gz
MAP=1U5T-14G421-BAG.tar.gz
MAP=1U5T-14G421-BBG.tar.gz
MAP=1U5T-14G421-BEG.tar.gz
MAP=1U5T-14G421-BFG.tar.gz
MAP=1U5T-14G421-BGG.tar.gz
MAP=1U5T-14G421-BHG.tar.gz
SXM/DAB/FM Application Logo=1U5T-14G658-AF.tar.gz

Детальніше про завантаженя процесора, кастомний завантажувач на https://gist.github.com/bigunclemax/7117d6f506200224156e093f7d5a16be.

Висновок: чи варто оновлюватися – якщо вас все задовольняє ні. Я вирішив оновитися бо у версії 3.4 є транслювання підказок навігатора із Android Auto на екран панелі приладів (IPC), но щоб відображалися потрібно у центральні конфігурації BdyCM змінити тим магнітоли (із Bluetooth адаптером страшно це робити).

Використання фотографій або текстового контенту на інших ресурсах без клікабельного індексованого посилання заборонено.