Wiren Board 5: Восстановление прошивки: различия между версиями
(Отмена правки 54288, сделанной A.Degtyarev (обсуждение)) Метка: отмена |
|||
(не показано 14 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
<languages/> | |||
<translate> | |||
<!--T:1--> | |||
{{note|note|Видео процесса можно посмотреть на [https://support.wirenboard.com/t/pri-proshivke-wb5-oshibka/7130/68 нашем форуме].}} | |||
В Wiren Board 5 прошивка хранится в микросхеме eMMC, напаянной на плату. Чтобы перезалить прошивку, контроллер можно подключить к компьютеру через порт Micro-USB как накопитель и записать на него прошивку. | |||
'''ВНИМАНИЕ''': при этом способе полностью перезаписывается внутренний накопитель Wiren Board. Все пользовательские данные будут потеряны. Если вы хотите сохранить свои файлы и настройки — сделайте их резервную копию, подключив контроллер к ПК для [[Просмотр_файлов_контроллера_с_компьютера|просмотра файлов]]. | |||
Сам принцип обновления таков: | |||
С помощью программы '''mxsldr''' мы загружаем непосредственно в процессор контроллера "программу" wb5_usbfw.sb, которая выполняясь на нем дает доступ к внутреннему накопителю как к флешке. То есть внутренний диск доступен целиком. И мы на него записываем "образ", прямо с таблицей разделов и содержимым. | |||
== | == Инструкция для компьютера с Linux == <!--T:3--> | ||
# | <!--T:4--> | ||
# | #Скачайте в одну папку: | ||
# | #*[https://github.com/wirenboard/wirenboard/raw/9e8ae166e0347dcf1011b9284ed3e397e20b5f91/contrib/u-boot/wb5_usbfw.sb wb5_usbfw.sb]; | ||
#* | #*mxsldr: | ||
#* | #** если у вас настольный компьютер/ноутбук, скачайте [[Media:Mxsldr.bin|mxsldr.bin]] (архитектура amd64); | ||
#** если у вас другое устройство с Linux (например, Raspberry Pi), соберите mxsldr по [[Special:MyLanguage/Сборка_образа_для_загрузки_в_режиме_USB_Mass-Storage#Сборка mxsldr|инструкции]]. | |||
#*:Переименуйте скачанный или собранный файл в mxsldr; | |||
#*прошивку: | |||
#**на странице [https://github.com/contactless/wirenboard/releases https://github.com/contactless/wirenboard/releases] найдите файл для вашей версии платы с расширением <code>.img.zip</code>, скачайте и разархивируйте. | |||
#**все новые образы расположены [http://fw-releases.wirenboard.com/?prefix=fit_image/stable/ http://fw-releases.wirenboard.com/] найдите файл для вашей версии платы с расширением <code>.img.zip</code>, скачайте и разархивируйте. | |||
# | #:Все дальнейшие команды выполняйте в этой папке. | ||
# | #Выключите контроллер. | ||
sudo | #Определите тип процессорного модуля: обычный или индустриальный. Для этого посмотрите маркировку чипа памяти на плате процессорного модуля: | ||
</syntaxhighlight> | #*обычная версия: SanDisk, | ||
#: | #*индустриальная версия: 6VA18JW983. | ||
# | #Соедините разъём Micro USB контроллера (обычно подписан как FW) с портом USB компьютера. ''Настоятельно рекомендуется также подключить контроллер и по Debug USB для отслеживания процесса прошивки.'' Для industrial версии подключение по Debug USB в процессе прошивки - '''обязательно'''. | ||
#Выполните <syntaxhighlight lang="bash">sudo chmod +x mxsldr</syntaxhighlight> | |||
Detected: i.MX28 | #Затем: | ||
#* (для версии WB5.3) замкните перемычку FW рядом с разъёмом Micro USB; | |||
#* (для версии WB5.6+) зажмите маленькую кнопку рядом с разъёмом Micro USB. | |||
#Не снимая перемычку/не отпуская кнопку, подключите к контроллеру питание, подождите несколько секунд и запустите на компьютере <syntaxhighlight lang="bash">sudo ./mxsldr wb5_usbfw.sb</syntaxhighlight> <br> Получим при успешном выполнении программы: <br> <syntaxhighlight lang="bash"> Detected: i.MX28 | |||
Chip ID: 0x2800 | Chip ID: 0x2800 | ||
Chip Revision: 0x0001 | Chip Revision: 0x0001 | ||
Строка 58: | Строка 41: | ||
Protocol Version: 0x0100 | Protocol Version: 0x0100 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | #При успешной загрузке образа через несколько секунд замигает зеленый светодиод, память контроллера определится на компьютере как накопитель. | ||
# | #Затем: | ||
#:<syntaxhighlight lang="bash"> | #* (для версии WB5.3) снимите пермычку FW; | ||
#* (для версии WB5.6+) отпустите кнопку FW. | |||
</syntaxhighlight> | #Поймите, как в вашей системе определился новый накопитель (например, как ''/dev/sdb''). Это можно посмотреть в выводе | ||
#: | #:<syntaxhighlight lang="bash">dmesg | tail</syntaxhighlight> | ||
#:<syntaxhighlight lang="bash"> | #:[[File:Dmesg.png |600px|thumb|center|Вид вывода команды dmesg | tail. Нужный накопитель - /dev/sdb]] | ||
/sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board" | #:Также можно использовать для определения вывод <syntaxhighlight lang="bash">fdisk -l</syntaxhighlight> | ||
</syntaxhighlight> | #:[[File:fdisk_l.png |600px|thumb|center|Вид вывода команды fdisk -l Нужный накопитель - /dev/sdd]] | ||
#: | #:''Примечание:'' | ||
#:Если у вас индустриальная версия процессорного модуля и вывод команды не совпадает с указанным на скриншоте (нет устройства вида "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> | |||
#:для того, чтобы узнать, как накопитель определился в системе. | |||
#'''Важно!''' Операционная система вашего компьютера может автоматически подмонтировать разделы диска контроллера, которые появятся после выполнения команды ''mxsldr''. В этом случае запись прошивки не выполнится успешно. Перед выполнением следующих пунктов проверьте, что ни один из разделов диска контроллера не смонтирован (командой ''mount'' — в выводе не должны упоминаться диски контроллера вида /dev/sd'''b'''''N'' — как в этом примере), и отмонтируйте все такие смонитрованнные разделы командой ''umount /dev/sdbN''. | |||
#Замените в команде ниже: | |||
#* XXXXX_emmc_wb5.img на название файла прошивки, | |||
#* /dev/sdX на название накопителя, под которым Wiren Board определился в системе. Это должно быть название накопителя, а не раздела - то есть без цифр; | |||
#*: '''ВНИМАНИЕ''': если вы по ошибке подставите название, соответствующее другому вашему накопителю, его содержимое будет потеряно! | |||
#* выполните команду <syntaxhighlight lang="bash">sudo dd if=XXXXX_emmc_wb5.img of=/dev/sdX bs=1M conv=fdatasync && sync</syntaxhighlight> | |||
#После завершения записи отключите кабель Micro-USB от контроллера, а затем отключите и включите питание контроллера. | |||
</translate> | |||
== | == Инструкция для компьютера с Windows == <!--T:3--> | ||
'''в процессе редактирования''' | |||
''' | |||
<!--T:4--> | |||
#Скачайте: | |||
#*[https://github.com/wirenboard/wirenboard/raw/9e8ae166e0347dcf1011b9284ed3e397e20b5f91/contrib/u-boot/wb5_usbfw.sb wb5_usbfw.sb]; | |||
#*[https://wirenboard.com/wiki/images/2/23/Mxsldr_win.7z Mxsldr_win.7z] | |||
Остальные действия - такие же. | |||
Пропускаем пункт 5 | |||
в пункте 7 Запускать следует sb_loader.exe wb5_usbfw.sb | |||
[[Файл:Wb5-firmware_restore_win.png|200px|thumb|center|Запуск при неподключенном контроллере]] | |||
Для заливки образа на контроллер (12 пункт) можно пользоваться вместо '''dd''' (версия под Win включена в архив) программой [https://sourceforge.net/projects/win32diskimager/ win32diskimager] |
Версия 11:42, 3 сентября 2021
Видео процесса можно посмотреть на нашем форуме.
В Wiren Board 5 прошивка хранится в микросхеме eMMC, напаянной на плату. Чтобы перезалить прошивку, контроллер можно подключить к компьютеру через порт Micro-USB как накопитель и записать на него прошивку.
ВНИМАНИЕ: при этом способе полностью перезаписывается внутренний накопитель Wiren Board. Все пользовательские данные будут потеряны. Если вы хотите сохранить свои файлы и настройки — сделайте их резервную копию, подключив контроллер к ПК для просмотра файлов.
Сам принцип обновления таков: С помощью программы mxsldr мы загружаем непосредственно в процессор контроллера "программу" wb5_usbfw.sb, которая выполняясь на нем дает доступ к внутреннему накопителю как к флешке. То есть внутренний диск доступен целиком. И мы на него записываем "образ", прямо с таблицей разделов и содержимым.
Инструкция для компьютера с Linux
- Скачайте в одну папку:
- wb5_usbfw.sb;
- mxsldr:
- если у вас настольный компьютер/ноутбук, скачайте mxsldr.bin (архитектура amd64);
- если у вас другое устройство с Linux (например, Raspberry Pi), соберите mxsldr по инструкции.
- Переименуйте скачанный или собранный файл в mxsldr;
- прошивку:
- на странице https://github.com/contactless/wirenboard/releases найдите файл для вашей версии платы с расширением
.img.zip
, скачайте и разархивируйте. - все новые образы расположены http://fw-releases.wirenboard.com/ найдите файл для вашей версии платы с расширением
.img.zip
, скачайте и разархивируйте.
- на странице https://github.com/contactless/wirenboard/releases найдите файл для вашей версии платы с расширением
- Все дальнейшие команды выполняйте в этой папке.
- Выключите контроллер.
- Определите тип процессорного модуля: обычный или индустриальный. Для этого посмотрите маркировку чипа памяти на плате процессорного модуля:
- обычная версия: SanDisk,
- индустриальная версия: 6VA18JW983.
- Соедините разъём Micro USB контроллера (обычно подписан как FW) с портом USB компьютера. Настоятельно рекомендуется также подключить контроллер и по Debug USB для отслеживания процесса прошивки. Для industrial версии подключение по Debug USB в процессе прошивки - обязательно.
- Выполните
sudo chmod +x mxsldr
- Затем:
- (для версии WB5.3) замкните перемычку FW рядом с разъёмом Micro USB;
- (для версии WB5.6+) зажмите маленькую кнопку рядом с разъёмом Micro USB.
- Не снимая перемычку/не отпуская кнопку, подключите к контроллеру питание, подождите несколько секунд и запустите на компьютере
sudo ./mxsldr wb5_usbfw.sb
Получим при успешном выполнении программы:
Detected: i.MX28 Chip ID: 0x2800 Chip Revision: 0x0001 ROM Version: 0x0101 Protocol Version: 0x0100
- При успешной загрузке образа через несколько секунд замигает зеленый светодиод, память контроллера определится на компьютере как накопитель.
- Затем:
- (для версии WB5.3) снимите пермычку FW;
- (для версии WB5.6+) отпустите кнопку FW.
- Поймите, как в вашей системе определился новый накопитель (например, как /dev/sdb). Это можно посмотреть в выводе
dmesg | tail
- Также можно использовать для определения вывод
fdisk -l
- Примечание:
- Если у вас индустриальная версия процессорного модуля и вывод команды не совпадает с указанным на скриншоте (нет устройства вида "sd*"), то нужно открыть Debug консоль контроллера и ввести в неё следующее:
/sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board"
- затем уже в терминале ПК снова ввести
dmesg | tail
- для того, чтобы узнать, как накопитель определился в системе.
- Важно! Операционная система вашего компьютера может автоматически подмонтировать разделы диска контроллера, которые появятся после выполнения команды mxsldr. В этом случае запись прошивки не выполнится успешно. Перед выполнением следующих пунктов проверьте, что ни один из разделов диска контроллера не смонтирован (командой mount — в выводе не должны упоминаться диски контроллера вида /dev/sdbN — как в этом примере), и отмонтируйте все такие смонитрованнные разделы командой umount /dev/sdbN.
- Замените в команде ниже:
- XXXXX_emmc_wb5.img на название файла прошивки,
- /dev/sdX на название накопителя, под которым Wiren Board определился в системе. Это должно быть название накопителя, а не раздела - то есть без цифр;
- ВНИМАНИЕ: если вы по ошибке подставите название, соответствующее другому вашему накопителю, его содержимое будет потеряно!
- выполните команду
sudo dd if=XXXXX_emmc_wb5.img of=/dev/sdX bs=1M conv=fdatasync && sync
- После завершения записи отключите кабель Micro-USB от контроллера, а затем отключите и включите питание контроллера.
Инструкция для компьютера с Windows
в процессе редактирования
- Скачайте:
Остальные действия - такие же. Пропускаем пункт 5 в пункте 7 Запускать следует sb_loader.exe wb5_usbfw.sb
Для заливки образа на контроллер (12 пункт) можно пользоваться вместо dd (версия под Win включена в архив) программой win32diskimager