Показать сообщение отдельно
Старый 22.01.2016, 15:44 #1
Новичок
 
Регистрация: 25.01.2015
Сообщений: 17
Сказал спасибо: 2
Поблагодарили 3 раз(а) в 2 сообщениях
Откуда: Москва
Авто: BMW X1

По умолчанию Опыт обновления навигации на BMW X1 (e84)

Публикую свой опыт свистов и плясок при обновлении навигации на Х1.

Какое-то время назад озадачился обновлением навигации, тем более, что обновлённые карты в интернете периодически выкладываются на разных сайтах, а у меня установлено какое-то старьё. Как оказалось, информации полно, но не всё так просто, а гиков вроде меня, готовых безвозмездно помочь, оказалось не так много. В общем, считая, что знания - в массы, публикую этот пост. Кроме того, информации по самому обновлению тоже много, но целостная картина сложилась не так быстро, а предполагая, что таких как я тоже хватает, хочу облегчить их старания обновить навигацию, поэтому буду писать как для нубов.

За ссылки, которые буду прикладывать хочу сказать спасибо авторам и не в коем случае не претендую на авторство – просто огромное спасибо!

И так, общий цимис того, что надо сделать - получить код активации навигации (fsc-код), который используется для запуска обновления карт. Обычная последовательность такова:
1) получить 1-ый бит головного устройства (CIC);
2) по нему сгенерировать fsc-код (код активации для установки карт);
3) закачать карты на флешку, вставить в CIC;
4) ввести код активации fsc и обновить карты.
Свистопляски начались с получения 1-го бита.

Свистопляска №1: подключение.
В самом простом варианте первый бит считывается программой SWID reader при подключённом кабеле K+D-CAN. Я купил этот кабель, установил необходимое ПО, подключил дивайс к OBD разъёму (закрыт крышкой с надписью OBD у левой ноги на водительском сиденьи) запустил SWID reader, и… обломился! SWID reader выдал, что нет ответа от CIC (no response from control unit)
Image.jpg

Как оказалось, K+D-CAN в случае с Х1 годен только на диагностику и практической пользы для обновления навигации имеет мало (но всё-таки имеет, т.к. впоследствии мне понадобился VIN CIC, который был считан SWID reader и актуальный IP CIC через утилиту Tool32).
Мытарства продолжились. На одном из буржуйских форумов прочитал, что в случае с Х1 к головному устройству (CIC) можно подключиться напрямую через USB – Ethernet адаптер с чипсетом ASIX 88772B и некоторыми сетевыми настройками (такую же инфу я увидел ещё и тут. Я заказал себе дешёвый китайский адаптер с чипсетом ASIX 88772С (немного смутил индекс чипсета С, вместо требуемого В, но получил ответ продавца, что высылаемый вариант ASIX 88772С аналогичен ASIX 88772B), через некоторое время получил этот адаптер. Создал сетевое соединение на компе по инструкции, подключил к CIC USB – Ethernet адаптер (USB находится слева в Х1 в бардачке), Ethernet-кабель к компу и… обломался! Все мои попытки перезагрузить CIC (CIC перезагружается 30-секундным удержанием кнопки Power) заканчивались тем, что USB-Ethernet адаптер мигал пару раз и всё, без следов соединения; комп напрочь не снюхивался с CIC. Решил, что проблема в соединении, проверил пинг, и пинг по указанным IP не проходил – так и оказалось: в инструкции на форуме были указаны неактуальные для моего случая IP. Решение нашлось тут – здесь есть описание, как при помощи K+D-CAN узнать реальные IP для моего CIC. Но, вытащив актуальные IP. (В моём случае это
STAT_IPADDRESS = 169.254.199.99
STAT_NETMASK = 255.255.0.0
STAT_GATEWAY = 160.48.199.182),
отредактировав настройки соединения CIC через USB – Ethernet, соединения так и не получил. Думаю, что дело было именно в версии чипсета USB – Ethernet адаптера, и надо было заказывать исключительно с ASIX 88772B.
Копаю дальше – делаю полноценный OBD-кабель, как оказалось самый действенный вариант. Втыкаю в OBD, подключаюсь с актуальными айпишниками и… есть соединение! Даже перезагружать CIC не потребовалось. Дальше настраиваю соединение в Total Commander (если кто будет делать через другой ftp-клиент, не забудьте убрать галку с использованием пассивного соединения, у меня в таком варианте не соединялся).
Соединяюсь ftp://169.254.199.99
Пароль/логин root/Hm83stN
Clip_4.jpg

И вытаскиваю файл generalPersistencyData_DiagnosticSWTController (/mnt/HBpersistence/normal/) – наконец-то!:)

Свистопляска №2: создание кода активации
С выделением 1-бита вручную тоже пришлось помучиться. Очистка содержимого в файле generalPersistencyData_DiagnosticSWTController, потребовало некоторых усилий.
Последовательность: очистить (выделить) generalPersistencyData_DiagnosticSWTController 1 бит, сохранить файл с 1 битом в формате VINCIC_001B0001.hex, подсунуть генератору fsc, получить код активации.

Чищу generalPersistencyData_DiagnosticSWTController. Открываю файл редактором WinHex, ищу 01 01 00 1В и удаляю предварительную (верхнюю часть) до 01 01 00 1В. Это проблем не вызывало, но определение самой длительности 1-го бита стало не простым (дело уже было около 3 ночи, мозги еле-волочились). По инструкции очистил 1 бит (как мне казалось правильно), сохранил файл с названием VINCIC_001B0001.hex (вот тут-то и пригодился VIN, считанный SWID reader вначале моих свистоплясок (VINCIC)). Пробую вначале создать файл с fsc-кодом на основании файла с выделенным 1-ым битом. Далее для генерации файла с fsc-кодом при запуске через командную строку BASE64 и команде VINCIC_001B0001.hex > XXNNNNN_001B0001.fsc получил
version after create() = 0xD1.

При этом никаких новых файлов не было создано. Начал копаться – ошибка оказалась в выделенном файле с 1-ым битом (он должен быть 13F в шестнадцатеричной или 319 бит в десятичной системе). После повторной редакции generalPersistencyData_DiagnosticSWTController сработало. Уже потом в закладках нашёл более понятную схему, как выделить 1-ый бит


Ну а далее начинаю пытаться сгенерировать код активации через эти генераторы ). В статье про обновление карт тут было написано, что можно сразу получить «вечный код активации» через FSC.EXE, вот его-то и пробую (в FSC.EXE командой fsc VINCIC _001B0001.hex 0x28 0xFF), получаю «вечный код» активации.
Закачиваю карты отсюда , кидаю на флешку, вставляю в CIC. Проходит пара минут, CIC предлагает обновить карты и запрашивает код активации. Подставляю «вечный код» активации и… фиг вам! Не подходит.

Пробую другой вариант с созданием файла fsc и из него генерации кода активации с указанием конкретной карты, получаю код. Вуаля! Код подошёл!
Правда, после указания кода активации CIC потупила ещё несколько минут, перед тем, как начать обновлять навигацию, но в итоге процесс пошёл. В целом обновление у меня заняло около часа, как и где-то рекомендовалось, я это делал во время езды, чтоб не разрядился аккумулятор.

Резюме и результат

Чтоб всё это подытожить скажу, что без долгих плясок со свистом для обновления навигации надо было:
1) сразу делать ENET кабель (купить балванку на Алиэкспресс – меньше 100 рублей с бесплатной доставкой + 1 сопротивление на 510 Ом за 25 рублей + Ethernet кабель)
2) вытащить код активации (для Х1 ftp://169.254.199.99 , логин/пароль root/Hm83stN – похоже, что во всех X1)
3) генерить fsc-код для конкретно устанавливаемой карты.

Пара месяцев изучения информации и получения заказов с Алиэкспресса, работа ручками и в итоге ненужные провода и обновлённые карты навигации. Стоило ли? По мне – стоило: опыт и знания, удовольствие от того, что это кому-то пригодится.
Предполагаю, что кому-то не очень понравится написанное, что отнимаю хлеб «небезвоздмездного» содействия в обновлении и создания fsc-кодов, но, пошли все нафиг, я за свободные знания.
dgmt вне форума  

Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо dgmt за сообщение:
Exotic Hadron (24.05.2016), matsyk (10.09.2017)