Wiren Board 5: Recovery
Версия от 12:56, 27 июня 2019; Kilpio (обсуждение | вклад)
В Wiren Board 5 прошивка хранится в напаянном на плате чипе eMMC. В случае проблем с загрузкой контроллера может потребоваться полная перепрошивка, которую можно осуществить через Micro USB, загрузив контроллер в режиме USB Mass-Storage Gadget с помощью утилиты mxsldr.
Внимание: в разделе описывается полная перезапись содержимого внутреннего накопителя Wiren Board. Все пользовательские данные будут безвозвратно потеряны. Чтобы избежать потери данных, см. соответствующий раздел.
Пошаговая инструкция для Linux
- Скачайте на компьютер файл wb5_usbfw.sb отсюда.
- Соберите на компьютере программу mxsldr.
- Скачайте на компьютер образ прошивки отсюда (расширение образа .img.zip. При скачивании выберите вариант для вашей версии платы контроллера).
- Извлеките файл img из zip-архива.
- Выключите контроллер.
- Определите тип процессорного модуля (обычный или industrial). Для этого посмотрите маркировку чипа памяти на плате процессорного модуля:
- Обычная версия: SanDisk
- Industrial версия: 6VA18JW983
- Соедините разъём Micro USB контроллера (обычно подписан как FW) с портом USB компьютера. Настоятельно рекомендуется также подключить контроллер и по Debug USB для отслеживания процесса прошивки. Для industrial версии подключение по Debug USB в процессе прошивки - обязательно.
- Перейдите в папку с собранным mxsldr.
- Затем:
- (для версии WB5.3) замкните перемычку FW рядом с разъёмом Micro USB;
- (для версии WB5.6+) зажмите маленькую кнопку рядом с разъёмом Micro USB.
- Не снимая перемычку/не отпуская кнопку, подключите к контроллеру питание, подождите несколько секунд и запустите на компьютере Где /X/XX/wb5_usbfw.sb - это путь к скачанному файлу.
$ sudo ./mxsldr /X/XX/wb5_usbfw.sb
- При успешной загрузке образа через несколько секунд замигает зеленый светодиод, память контроллера определится на компьютере как накопитель.
- Затем:
- (для версии WB5.3) снимите пермычку FW;
- (для версии WB5.6+) отпустите кнопку FW.
- Поймите, как в вашей системе определился новый накопитель (например, как /dev/sdb). Это можно посмотреть в выводе
dmesg | tail
- Примечание:
- Если у вас industrial версия процессорного модуля и вывод команды не совпадает с указанным на скриншоте (нет устройства вида "sd*"), то нужно открыть Debug консоль контроллера и ввести в неё следующее:
/sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board"
- затем уже в терминале ПК снова ввести
dmesg | tail
- для того, чтобы узнать, как накопитель определился в системе.
- Важно! Опреационная система вашего компьютера может автоматически подмонтировать разделы диска контроллера. В этом случае запись прошивки не может выполнится успешно. Перед выполнением следующих пунктов проверьте, что ни один из разделов диска контроллера не смонтирован (командой mount), и отмонтируйте все такие смонитрованнные разделы командой umount /dev/sdXn.
- Внимание! Если вы ошибётесь с определением имени накопителя, и в следующем пункте подставите название, соответствующее другому вашему накопителю, его содержимое будет потеряно.
- Чтобы записать прошивку в контроллер, замените в команде ниже
- /X/XX/XXXXX_emmc_wb5.img на путь к заранее распакованному файлу прошивки,
- /dev/sdX на название раздела, под которым накопитель определился в системе,
- и выполните команду
$ sudo dd if=/X/XX/XXXXX_emmc_wb5.img of=/dev/sdX bs=1M conv=fdatasync && sync
- После завершения записи отключите контроллер от USB, отключите питание от контроллера и включите снова.