+++++ Вам потребуется: - ноутбук с подходящим кардридером; - microSD карта Samsung Evo Plus 32/64 Gb или Samsung Evo 32/64 Gb, или Samsung Pro 16/32/64 Gb; - файлы навигационных данных для ГУ (каталог `navpsf_update` с файлами), ищите в поисковиках; - программа `mmc` для прошивки SD карт, обычно идет в архиве вместе с файлами навигации; - USB флэшка для загрузки в ОС Linux на ноутбуке; - старый телефон Nokia на Symbian 9.2+ для оживления SD карты после обновления (необязательно). ~~~~~ До того как приступить к основному плану: Во-первых, проверьте что у вас есть ноутбук с подходящим кардридером, который размещен на шине PCIe, а не на шине USB. Сделать это можно, выполнив пункты 3-8 основного плана действий ниже. Во-вторых, убедитесь, какую microSD карту вам необходимо найти, и проверьте ее на совместимость. Для прошивки подходят карты Samsung EVO PLUS 32 Gb моделей MB-SC32D/?? и MB-MC32DA/?? (где вместо ?? могут быть символы RU, CN, EU и т.п.), а также Samsung EVO PLUS 64 Gb моделей MB-SC64D/?? и MB-MC64DA/??. Еще могут успешно прошиваться карты Samsung EVO 32 Gb модели MB-MP32DA/??, а также Samsung EVO 64 Gb модели MB-MP64DA/??. Вероятно, успешно прошиваться могут карты Samsung PRO 16 Gb модели MB-MG16DA/??, Samsung PRO 32 Gb модели MB-MG32E/??, а также Samsung PRO 64 Gb модели MB-MG64E/??. Предпочтительно, чтобы карта была изготовлена в Корее, а не Филиппинах или Китае. Где-то в 2017 году Samsung исправил возможность изменения технической информации (CID) в своих картах, поэтому купить подходящую карту практически невозможно. Ищите старые microSD Samsung или других брендов размером 16 Gb и более, изготовленных на фабриках Samsung до 2017 года. Сначала проверьте, что данная карта подойдет для прошивки. Сделайте это как описано в пунктах 9.1 или 9.2 основного плана действий ниже. Есть информация, что для прошивки также подходят старые карты других производителей (например, Transcend) размером от 4 Gb и больше, которые изготовлены на основе чипов Samsung. Проверить карту можно как описано в пункте 9.2. Производитель должен определяться как Samsung, а шина - mmc0:0001. ===== Основной план действий: 1. Отформатируйте SD карту в FAT32. Можно стандартными средствами в Windows. 2. Скопируйте на нее каталог `navpsf_update` с содержимым. Именно каталог целиком, а не только его содержимое. Это навигационные данные для обновления. 3. Создайте загрузочную USB флэшку с Linux. Это можно сделать с помощью программы UNetbootin: http://unetbootin.github.io/ Можно выбрать любой дистрибутив. Подойдут, например, Ubuntu Live x64 или Fedora Live x64. 4. Загрузитесь в Linux с USB флэшки. В меню загрузки сразу после BIOS нужно выбрать пункт `Try Linux without installing` или похожий. Зависит от версии Linux, загрузочный USB которого вы сделали ранее. 5. Вставьте SD карту в кардридер ноутбука. 6. Откройте терминал. Обычно это можно сделать кликнув правой кнопкой по рабочему столу или пустому месту в окне любого каталога и выбрав пункт Open Terminal. Далее по плану текстовые команды будут вводиться в окно именно этого терминала. 7. Получите права администратора, выполнив команду sudo -s 8. Проверьте, подходит ли кардридер для прошивки, выполнив команду df Если в системе видно устройство /dev/mmcblk?, значит кардридер подходит. Иначе SD карта смонтировалась как /dev/sd??, и ваш кардридер не подойдет. Вместо символов ? могут быть другие буквы или цифры, это зависит от вашей системы. В вашем конкретном случае SD карта может определиться как /dev/mmcblk0, /dev/mmcblk1, /dev/mmcblk2 и т.д. Далее по плану в указанных командах вводите правильное имя устройства mmcblk с цифрой в конце, как оно определено в вашей системе. Если у вас SD карта определилась как /dev/mmcblk0p1, например, вводите ее имя как `mmcblk0` без `p1`. В примерах ниже будет указываться `mmcblk0`. 9.1. Убедитесь, что ваша SD карта подходит, и ее CID можно изменить. Выполнить команду ls -l /sys/block | grep mmc 9.2. Или с помощью телефона на Android и программы SD Insight https://play.google.com/store/apps/details?id=com.humanlogic.sdi&hl=ru Вставьте карту в телефон, установите программу SD Insight, запустите ее, выберите иконку с глазом в правом верхнем углу программы и смотрите на строку Bus Location. У подходящей карты вы увидите строку со следующим содержимым: mmc0:0001. У неподходящей карты - подобную: mmc0:59b4. Если вам попался второй вариант, данная SD карта не подходит для прошивки. 10. Перейдите в каталог, где находится программа mmc. Можно использовать для этого команду cd /полный/путь/к/каталогу/программы Обратите внимание, что на x64 (64-битной) версии Linux нужно использовать программу `mmc`, а на x86 (32-битной) версии Linux - программу `mmc32`. В примерах ниже будет использоваться программа mmc. 11. Дайте права на запуск приложению mmc, выполнив команду chmod +x mmc 12. Необходимое заменить блок технических данных на карте (CID). Прошейте новый CID, выполнив команду ./mmc prog_cid /dev/mmcblk0 5d53424c32424d31013917ca53010400 Сообщение об успешной операции выглядит так: Success! Remove and reinsert SD card to check new CID. 13. Вытащите SD карту и повторно вставьте в кардридер. Подождите несколько секунд, пока система определит SD карту. 14. Убедитесь, что CID карты действительно изменился, выполнив команду cat /sys/block/mmcblk0/device/cid Должна появиться строка 5d53424c32424d31013917ca53010400. Последние два символа могут отличаться, например быть 01. Это не имеет значения. Главное, что первые 30 символов совпадают. 15. Осталось зашифровать SD карту, чтобы ее принял ГУ. Выполнить команду ./mmc lock_sd /dev/mmcblk0 C99A20843ED7D90B6801E49F2BC80277 Сообщение об успешной операции выглядит так: SEND_STATUS response: 0x00000900 Иногда данная операция может завершаться различными ошибками (например, `ioctl: Connection timed out`). Не всегда это значит, что карту не удалось зашифровать. Следует проверить результат в ГУ автомобиля. С этого момента карта не будет определяться и читаться ни в Windows, ни в Linux. Это нормально. 16. Можно вытаскивать SD карту и вставлять в ГУ автомобиля. Обновление навигационных данных в ГУ занимает около 2 часов. При этом ГУ должно быть включено. Если выключить его или оно само отключится по таймауту, установка продолжится при следующем включении. Не вытаскивайте SD карту из устройства до завершения обновления. После обновления навигации ГУ пометит SD карту использованной и оставит ее зашифрованной. Расшифровать ее нельзя, поэтому использовать для повторного обновления или по прямому назначению как карту памяти будет невозможно. Эта помеха обоходится путем форматирования SD карты в старом телефоне Nokia на Symbian 9.2+ (или некоторых других, см. дополнение ниже). Нужно вставить карту в такой телефон и в диспетчере файлов отформатировать ее. Если телефон запросит пароль к карте, нажать Отмена, это не помешает форматированию. После этого карту можно снова использовать как угодно, в том числе и для повторного обновления ГУ. Отформатированная SD карта сохраняет прошитый CID, поэтому для повторения процесса обновления достаточно залить на нее навигационные данные и зашифровать, выполнив пункты 2 и 15 плана. ----- Некоторые модели телефонов, которые успешно форматируют зашифрованную карту: Nokia: E71, E72, E51, E52, E66, N79, N82, N85, N86, N97, 700, 701, 6220, 5230, 5700, 5800 XpressMusic, C5, C6-00, C6-01, C7, E5, X7, Asha 210. Также могут отформатировать карту смартфоны Huawei на Android 6-7: P9 Lite, P9, P10 Lite, Honor X6.