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

Материал из Wiren Board
(Новая страница: «Wiren Board 5: Firmware recovery»)
 
 
(не показано 17 промежуточных версий этого же участника)
Строка 1: Строка 1:
<languages/>
<languages/>
В Wiren Board 5 прошивка хранится в напаянном на плате чипе eMMC. В случае проблем с загрузкой контроллера может потребоваться полная перепрошивка, которую можно осуществить через Micro USB, загрузив контроллер в режиме USB Mass-Storage Gadget с помощью утилиты [[Special:MyLanguage/Сборка образа для загрузки в режиме USB Mass-Storage#.D0.A1.D0.B1.D0.BE.D1.80.D0.BA.D0.B0_mxsldr|mxsldr]].
In Wiren Board 5, the firmware is stored in the EMMC chip soldered on the board. In case of problems with loading the controller  a full flashing may be required, which can be done via Micro USB, booting the controller in USB Mass-Storage Gadget mode using the [[Сборка образа для загрузки в режиме USB Mass-Storage/en#.D0.A1.D0.B1.D0.BE.D1.80.D0.BA.D0.B0_mxsldr|mxsldr]] utility.


'''Внимание: в разделе описывается полная перезапись содержимого внутреннего накопителя Wiren Board. Все пользовательские данные будут безвозвратно потеряны.''' Чтобы избежать потери данных, см. [[Special:MyLanguage/Пропажа_файлов_при_обновлении_прошивки|''соответствующий раздел.'']]
'''Note: this section describes how to completely overwrite the contents of the  Wiren Board Controller internal drive. All user data will be permanently lost. To avoid data loss, see the appropriate [[Потеря_файлов_при_обновлении_ПО/en|''section'']].'''




== Пошаговая инструкция для Linux ==
== Step-by-step guide for Linux ==


#Скачайте на компьютер файл ''wb5_usbfw.sb'' [https://github.com/contactless/wirenboard/tree/master/contrib/u-boot отсюда].
#Download the file ''wb5_usbfw.sb'' on your computer [https://github.com/contactless/wirenboard/tree/master/contrib/u-boot here].
#Соберите на компьютере программу [[Special:MyLanguage/Сборка_образа_для_загрузки_в_режиме_USB_Mass-Storage#Сборка mxsldr|''mxsldr'']].
#Assemble the program [[Сборка_образа_для_загрузки_в_режиме_USB_Mass-Storage/en#Assembling mxsldr|''mxsldr'']] on the computer.
#Скачайте на компьютер образ прошивки [https://github.com/contactless/wirenboard/releases отсюда] (расширение образа .img.zip. При скачивании выберите вариант для вашей версии платы контроллера).
#Download the firmware image to your computer from [https://github.com/contactless/wirenboard/releases here] (image extension is .img.zip. When downloading, select the option for your version of the board of your Wiren Board controller).
#Извлеките файл img из zip-архива.
#Extract the .img file from the zip archive.
#Выключите контроллер.
#Turn off the controller.
#Определите тип процессорного модуля (обычный или industrial). Для этого посмотрите маркировку чипа памяти на плате процессорного модуля:
#Determine the type of processor module (normal or industrial). To do this, look at the marking of the memory chip on the processor module board:
#*Обычная версия: ''SanDisk''
#*Regular version: SanDisk
#*Industrial версия: ''6VA18JW983''
#*Industrial version: 6VA18JW983
#Соедините разъём Micro USB контроллера (обычно подписан как FW) с портом USB компьютера. ''Настоятельно рекомендуется также подключить контроллер и по Debug USB для отслеживания процесса прошивки.'' Для industrial версии подключение по Debug USB в процессе прошивки - '''обязательно'''.
#Connect the Micro USB connector of the controller (usually signed as FW) to the USB port of the computer.'''0 It is also highly recommended to connect the controller and #Debug USB software to track the firmware process.'' For the industrial version, a Debug USB connection is ''strongly required'' during the firmware process.
#Перейдите в папку с собранным [[Special:MyLanguage/Сборка_образа_для_загрузки_в_режиме_USB_Mass-Storage#Сборка mxsldr|''mxsldr'']].
#Go to the folder with the compiled [[Сборка_образа_для_загрузки_в_режиме_USB_Mass-Storage/en#Assembling mxsldr|''mxsldr'']].
#Затем:
#Then:
#* (для версии WB5.3) замкните перемычку FW рядом с разъёмом Micro USB;
#*(for WB5 version.3) close the FW jumper next to the Micro USB connector;
#* (для версии WB5.6+) зажмите маленькую кнопку рядом с разъёмом Micro USB.
#*(for the version of WB5.6+) hold down the small button next to the microUSB connector.
#Не снимая перемычку/не отпуская кнопку, подключите к контроллеру питание, подождите несколько секунд и запустите на компьютере <syntaxhighlight lang="bash">$ sudo ./mxsldr /X/XX/wb5_usbfw.sb</syntaxhighlight> Где /X/XX/wb5_usbfw.sb - это путь к скачанному файлу.
#Without removing the jumper/hanging the button, connect the power to the controller, wait a few seconds and run <syntaxhighlight lang="bash">$ sudo ./mxsldr /X/XX/wb5_usbfw.sb</syntaxhighlight> Where /X/XX/wb5_usbfw.sb is the path to the downloaded file.
#При успешной загрузке образа через несколько секунд замигает зеленый светодиод, память контроллера определится на компьютере как накопитель.
#If the image is successfully loaded after a few seconds, the green led will flash and the controller memory will be detected as a drive on the computer.
#Затем:
#Then:
#* (для версии WB5.3) снимите пермычку FW;
#*(for the version of WB5.3) remove FW jumper;
#* (для версии WB5.6+) отпустите кнопку FW.
#*(for the version of WB5.6+), release the button to FW.
#Поймите, как в вашей системе определился новый накопитель (например, как ''/dev/sdb''). Это можно посмотреть в выводе
#Find out how your system has defined a new drive (such as /dev/sdb). This can be seen in the output
#:<syntaxhighlight lang="bash">dmesg | tail</syntaxhighlight>
#:<syntaxhighlight lang="bash">dmesg | tail</syntaxhighlight>
#:[[File:Dmesg.png |600px|thumb|center|Вид вывода команды dmesg | tail. Нужный накопитель - /dev/sdb]]
#:[[File:Dmesg.png |600px|thumb|center|Command dmesg output | tail. The target drive is /dev/sdb]].
#:''Примечание:''
#:''Note:''
#:Если у вас '''industrial''' версия процессорного модуля и вывод команды не совпадает с указанным на скриншоте (нет устройства вида "sd*"), то нужно открыть Debug консоль контроллера и ввести в неё следующее:  
#:If you have an ''industrial'' version of the processor module and the output of the command does not match the one shown in the screenshot (there is no device of the "sd*" type), then you need to open the Debug console of the controller and enter the following:
#:<syntaxhighlight lang="bash">/sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board"</syntaxhighlight>
#:<syntaxhighlight lang="bash">/sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board"</syntaxhighlight>
#:затем уже в терминале ПК снова ввести
#:then re-enter the following in the  PC terminal
#:<syntaxhighlight lang="bash">dmesg | tail</syntaxhighlight>  
#:<syntaxhighlight lang="bash">dmesg | tail</syntaxhighlight>  
#:для того, чтобы узнать, как накопитель определился в системе.
#:to find out how the drive is defined in the system.
#:'''Внимание! Если вы ошибётесь с определением имени накопителя, и в следующем пункте подставите название, соответствующее другому вашему накопителю, его содержимое будет потеряно.'''
#:'''Attention! If you make a mistake with the definition of the drive name, and in the next paragraph substitute the name corresponding to your other drive, its contents will be lost.'''
#Чтобы записать прошивку в контроллер, замените в команде ниже
#To write firmware to the controller, replace the following in the command below
#* ''/X/XX/XXXXX_emmc_wb5.img'' на путь к заранее распакованному файлу прошивки,
#*''/X/XX/XXXXX_emmc_wb5.img'' - replace with the path to the pre-extracted firmware file,
#* ''/dev/sdX'' на название раздела, под которым накопитель определился в системе,
#*''/dev/sdX'' - replace with the name of the partition under which the drive is defined in the system,
#: и выполните команду <syntaxhighlight lang="bash">$ sudo dd if=/X/XX/XXXXX_emmc_wb5.img of=/dev/sdX bs=1M conv=fdatasync && sync</syntaxhighlight>
#:and run the command <syntaxhighlight lang="bash">$ sudo dd if=/X/XX/XXXXX_emmc_wb5.img of=/dev/sdX bs=1M conv=fdatasync && sync</syntaxhighlight>  
#После завершения записи отключите контроллер от USB, отключите питание от контроллера и включите снова.
#After recording is complete, disconnect the controller from the USB, turn off the controller, and then turn it back on.

Текущая версия на 14:44, 11 июня 2019

Другие языки:

In Wiren Board 5, the firmware is stored in the EMMC chip soldered on the board. In case of problems with loading the controller a full flashing may be required, which can be done via Micro USB, booting the controller in USB Mass-Storage Gadget mode using the mxsldr utility.

Note: this section describes how to completely overwrite the contents of the Wiren Board Controller internal drive. All user data will be permanently lost. To avoid data loss, see the appropriate section.


Step-by-step guide for Linux

  1. Download the file wb5_usbfw.sb on your computer here.
  2. Assemble the program mxsldr on the computer.
  3. Download the firmware image to your computer from here (image extension is .img.zip. When downloading, select the option for your version of the board of your Wiren Board controller).
  4. Extract the .img file from the zip archive.
  5. Turn off the controller.
  6. Determine the type of processor module (normal or industrial). To do this, look at the marking of the memory chip on the processor module board:
    • Regular version: SanDisk
    • Industrial version: 6VA18JW983
  7. Connect the Micro USB connector of the controller (usually signed as FW) to the USB port of the computer.'0 It is also highly recommended to connect the controller and #Debug USB software to track the firmware process. For the industrial version, a Debug USB connection is strongly required during the firmware process.
  8. Go to the folder with the compiled mxsldr.
  9. Then:
    • (for WB5 version.3) close the FW jumper next to the Micro USB connector;
    • (for the version of WB5.6+) hold down the small button next to the microUSB connector.
  10. Without removing the jumper/hanging the button, connect the power to the controller, wait a few seconds and run
    $ sudo ./mxsldr /X/XX/wb5_usbfw.sb
    
    Where /X/XX/wb5_usbfw.sb is the path to the downloaded file.
  11. If the image is successfully loaded after a few seconds, the green led will flash and the controller memory will be detected as a drive on the computer.
  12. Then:
    • (for the version of WB5.3) remove FW jumper;
    • (for the version of WB5.6+), release the button to FW.
  13. Find out how your system has defined a new drive (such as /dev/sdb). This can be seen in the output
    dmesg | tail
    
    tail. The target drive is /dev/sdb
    .
    Note:
    If you have an industrial version of the processor module and the output of the command does not match the one shown in the screenshot (there is no device of the "sd*" type), then you need to open the Debug console of the controller and enter the following:
    /sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board"
    
    then re-enter the following in the PC terminal
    dmesg | tail
    
    to find out how the drive is defined in the system.
    Attention! If you make a mistake with the definition of the drive name, and in the next paragraph substitute the name corresponding to your other drive, its contents will be lost.
  14. To write firmware to the controller, replace the following in the command below
    • /X/XX/XXXXX_emmc_wb5.img - replace with the path to the pre-extracted firmware file,
    • /dev/sdX - replace with the name of the partition under which the drive is defined in the system,
    and run the command
    $ sudo dd if=/X/XX/XXXXX_emmc_wb5.img of=/dev/sdX bs=1M conv=fdatasync && sync
    
  15. After recording is complete, disconnect the controller from the USB, turn off the controller, and then turn it back on.