16 578
правок
м (→Введение) |
м |
||
Строка 1: | Строка 1: | ||
== Введение == | == Введение == | ||
{{YouTube | {{YouTube | ||
|link= https://youtu.be/-soDnTptHhI | |link= https://youtu.be/-soDnTptHhI | ||
|text= Восстановление прошивки контроллера Wiren Board 5.8 | |text= Восстановление прошивки контроллера Wiren Board 5.8 из ОС Linux | ||
}} | }} | ||
В Wiren Board 5 прошивка хранится в микросхеме eMMC, напаянной на плату. Чтобы | В Wiren Board 5 прошивка хранится в микросхеме eMMC, напаянной на плату. Чтобы заменить прошивку, контроллер нужно подключить к компьютеру с ОС Linux через порт Micro-USB как накопитель и записать на него прошивку. | ||
'''ВНИМАНИЕ''': при этом способе полностью перезаписывается внутренний накопитель Wiren Board. Все пользовательские данные будут потеряны. Если вы хотите сохранить свои файлы и настройки — сделайте их резервную копию, подключив контроллер к ПК для [[Просмотр_файлов_контроллера_с_компьютера|просмотра файлов]]. | '''ВНИМАНИЕ''': при этом способе полностью перезаписывается внутренний накопитель Wiren Board. Все пользовательские данные будут потеряны. Если вы хотите сохранить свои файлы и настройки — сделайте их резервную копию, подключив контроллер к ПК для [[Просмотр_файлов_контроллера_с_компьютера|просмотра файлов]]. | ||
Общий принцип: | |||
С помощью программы '''mxsldr''' мы загружаем непосредственно в процессор контроллера | С помощью программы '''mxsldr''' мы загружаем непосредственно в процессор контроллера «программу» wb5_usbfw.sb, которая выполняясь на нем дает доступ к внутреннему накопителю как к флешке. То есть внутренний диск доступен целиком. И мы на него записываем «образ», прямо с таблицей разделов и содержимым. | ||
При возникновении проблем, читайте тему [https://support.wirenboard.com/t/pri-proshivke-wb5-oshibka/7130/44 Если не получается обновить Wiren Board 5.5] | При возникновении проблем, читайте тему [https://support.wirenboard.com/t/pri-proshivke-wb5-oshibka/7130/44 Если не получается обновить Wiren Board 5.5]. | ||
== | == Подготовка == | ||
Восстановление прошивки мы будем производить на компьютере с операционной системой Linux, если у вас установлен Windows, то создайте [https://omgubuntu.ru/create-live-usb-of-ubuntu-in-windows/ загрузочную флешку] и используйте её. | |||
# Создайте в любом месте папку '''wbupdate''' и перейдите в неё — сюда мы будем сохранять все файлы. | |||
# Скачайте файлы | |||
#* [https://github.com/wirenboard/wirenboard/raw/9e8ae166e0347dcf1011b9284ed3e397e20b5f91/contrib/u-boot/wb5_usbfw.sb wb5_usbfw.sb] | |||
#* mxsldr: | |||
#** если у вас настольный компьютер с архитектурой amd64, то скачайте [https://wirenboard.com/wiki/images/1/1b/Mxsldr.bin mxsldr.bin] | |||
#** если у вас другое Linux-устрйоство, например Easpberry Pi, то соберите mxsldr по [[Сборка_образа_для_загрузки_в_режиме_USB_Mass-Storage#Сборка mxsldr|инструкции]]. | |||
#* Скачайте файл '''.img.zip''' для своей версии контроллера по ссылкам: [https://github.com/contactless/wirenboard/releases старые версии] / [http://fw-releases.wirenboard.com/ свежие версии] | |||
# На компьютере разрешите запуск файла mxsldr.bin: | |||
#:<syntaxhighlight lang="bash"> | |||
sudo chmod +x mxsldr | |||
</syntaxhighlight> | |||
== Подключение контроллера == | |||
В процессе прошивки у вас будет открыто два окна: окно консоли операционной системы персонального компьютера и окно Debug-консоли контроллера. | |||
# Выключите контроллер. | |||
#Выключите контроллер | # Соедините оба Micro USB контроллера с компьютером и подключитесь к [[Debug UART | Debug-консоли]]. | ||
# В зависимости от ревизии контроллера: | |||
#* Wiren Board 5.3 — замкните перемычку FW рядом с разъёмом Micro USB. | |||
#* Wiren Board 5.6 выше — нажмите маленькую кнопку рядом с разъёмом Micro USB. | |||
#Соедините | # Не снимая перемычку или не размыкая кнопки, включите контроллер. | ||
# | |||
# Подождите пять секунд и в консоли компьютера выполните команду | |||
#* | #: <syntaxhighlight lang="bash"> | ||
#* | sudo ./mxsldr wb5_usbfw.sb | ||
#Не снимая перемычку | </syntaxhighlight> | ||
#: пример успешного выполнения команды: | |||
#:<syntaxhighlight lang="console"> | |||
$ sudo ./mxsldr wb5_usbfw.sb | |||
Detected: i.MX28 | |||
Chip ID: 0x2800 | Chip ID: 0x2800 | ||
Chip Revision: 0x0001 | Chip Revision: 0x0001 | ||
Строка 46: | Строка 50: | ||
Protocol Version: 0x0100 | Protocol Version: 0x0100 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # Подождите ещё около 10 секунд, пока индикатор контроллера не начнёт мигать зелёным, а на компьютере не определится флеш-накопитель. | ||
# | # Узнайте с каким именем в вашей системе определился накопитель контроллера, для этого выполните команду: | ||
#:<syntaxhighlight lang="bash"> | |||
dmesg | tail | |||
</syntaxhighlight> | |||
#:<syntaxhighlight lang="bash">dmesg | tail</syntaxhighlight> | #: найдите в выводе команды строчку вида <code>[sd*] Write protect is off</code>, где '''sd*''' — имя накопителя контроллера. Если такой строчки нет, то выполните в Debug-консоли контроллера: | ||
#: | #:<syntaxhighlight lang="bash"> | ||
/sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board" | |||
</syntaxhighlight> | |||
#: и снова запустите команду <code>dmesg | tail</code>. | |||
#:<syntaxhighlight lang="bash">/sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board"</syntaxhighlight> | |||
#: | |||
== | == Прошивка == | ||
''' | '''Важно!''' Операционная система вашего компьютера может автоматически примонтировать разделы диска контроллера, которые появятся после выполнения команды <code>mxsldr</code>. В этом случае запись прошивки не выполнится успешно. Перед выполнением следующих пунктов проверьте, что ни один из разделов диска контроллера не смонтирован (командой mount — в выводе не должны упоминаться диски контроллера вида <code>/dev/sdbN</code> — как в этом примере), и отмонтируйте все такие смонтированные разделы командой <code>umount /dev/sdbN</code>. | ||
< | Запишем образ прошивки с именем '''firmware.img''' на диск '''/dev/sdX''', замените имя файла и диска не свои: | ||
<syntaxhighlight lang="bash"> | |||
sudo dd if=firmware.img of=/dev/sdX bs=1M conv=fdatasync && sync | |||
</syntaxhighlight> | |||
После того как запись закончится, в консоли появится приглашение командной строки. Выключите контроллер и отсоедините MicroUSB кабели. | |||
Прошивка контроллера завершена, после включения контроллер готов к работе. | |||
в | |||