Wiren Board 5: Восстановление прошивки: различия между версиями

Материал из Wiren Board
Строка 9: Строка 9:
#Извлеките файл img из zip-архива.
#Извлеките файл img из zip-архива.
#Выключите контроллер.
#Выключите контроллер.
#Соедините разъём microUSB контроллера (обычно подписан как FW) с портом USB компьютера.
#Соедините разъём microUSB контроллера (обычно подписан как FW) с портом USB компьютера. ''Настоятельно рекомендуется также подключить контроллер и по debug-usb для отслеживания процесса прошивки.''
#Перейдите в папку с собранным [[Сборка_образа_для_загрузки_в_режиме_USB_Mass-Storage#Сборка mxsldr|''mxsldr'']].
#Перейдите в папку с собранным [[Сборка_образа_для_загрузки_в_режиме_USB_Mass-Storage#Сборка mxsldr|''mxsldr'']].
#Затем:
#Затем:
Строка 21: Строка 21:
#Поймите, как в вашей системе определился новый накопитель (например, как ''/dev/sdb''). Это можно посмотреть в выводе <syntaxhighlight lang="bash">dmesg | tail</syntaxhighlight>
#Поймите, как в вашей системе определился новый накопитель (например, как ''/dev/sdb''). Это можно посмотреть в выводе <syntaxhighlight lang="bash">dmesg | tail</syntaxhighlight>
[[File:Dmesg.png |600px|thumb|center|Вид вывода команды dmesg | tail. Нужный накопитель - /dev/sdb]]
[[File:Dmesg.png |600px|thumb|center|Вид вывода команды dmesg | tail. Нужный накопитель - /dev/sdb]]
''Примечание:''
Если вывод команды не совпадает с указанным на скриншоте (нет устройства вида "sd*"), то нужно открыть debug-консоль контроллера и ввести в неё следующее: <syntaxhighlight lang="bash"># /sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board"</syntaxhighlight> затем уже в терминале ПК снова ввести <syntaxhighlight lang="bash">dmesg | tail</syntaxhighlight>.


#:'''Внимание! Если вы ошибётесь с определением имени накопителя, и в следующем пункте подставите название, соответствующее другому вашему накопителю, его содержимое будет потеряно.'''
#:'''Внимание! Если вы ошибётесь с определением имени накопителя, и в следующем пункте подставите название, соответствующее другому вашему накопителю, его содержимое будет потеряно.'''

Версия 18:32, 15 марта 2018

В Wiren Board 5 прошивка хранится в напаянном на плате чипе eMMC. В случае проблем с загрузкой контроллера может потребоваться полная перепрошивка, которую можно осуществить через microUSB, загрузив контроллер в режиме USB Mass-Storage Gadget с помощью утилиты mxsldr.

Внимание: в разделе описывается полная перезапись содержимого внутреннего накопителя Wiren Board. Все пользовательские данные будут безвозвратно потеряны. Чтобы избежать потери данных, см. соответствующий раздел.

Пошаговая инструкция для Linux

  1. Скачайте на компьютер файл wb5_usbfw.sb отсюда.
  2. Соберите на компьютере программу mxsldr.
  3. Скачайте на компьютер образ прошивки отсюда (расширение образа .img.zip. При скачивании выберите вариант для вашей версии платы контроллера).
  4. Извлеките файл img из zip-архива.
  5. Выключите контроллер.
  6. Соедините разъём microUSB контроллера (обычно подписан как FW) с портом USB компьютера. Настоятельно рекомендуется также подключить контроллер и по debug-usb для отслеживания процесса прошивки.
  7. Перейдите в папку с собранным mxsldr.
  8. Затем:
    • (для версии WB5.3) замкните перемычку FW рядом с разъёмом microUSB;
    • (для версии WB5.6+) зажмите маленькую кнопку рядом с разъёмом microUSB.
  9. Не снимая перемычку/не отпуская кнопку, подключите к контроллеру питание и сразу запустите на компьютере
    $ sudo ./mxsldr /X/XX/wb5_usbfw.sb
    
    Где /X/XX/wb5_usbfw.sb - это путь к скачанному файлу.
  10. Включите устройство.
    При успешной загрузке образа через несколько секунд замигает зеленый светодиод, память контроллера определится на компьютере как накопитель.
  11. Затем:
    • (для версии WB5.3) снимите пермычку FW;
    • (для версии WB5.6+) отпустите кнопку FW.
  12. Поймите, как в вашей системе определился новый накопитель (например, как /dev/sdb). Это можно посмотреть в выводе
    dmesg | tail
    
tail. Нужный накопитель - /dev/sdb

Примечание:

Если вывод команды не совпадает с указанным на скриншоте (нет устройства вида "sd*"), то нужно открыть debug-консоль контроллера и ввести в неё следующее:

# /sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board"

затем уже в терминале ПК снова ввести

dmesg | tail

.

  1. Внимание! Если вы ошибётесь с определением имени накопителя, и в следующем пункте подставите название, соответствующее другому вашему накопителю, его содержимое будет потеряно.
  2. Чтобы записать прошивку в контроллер, замените в команде ниже
    • /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
    
  3. После завершения записи отключите контроллер от USB, отключите питание от контроллера и включите снова.