Восстановление / перепрошивка WB5

Всем добрый день!

Что имеем: давно и долго работающий контроллер стал плох памятью. Деградировала. Ввиду того, что в новых нет сопряжения с системой Noolite, принято решение купить юзаный. Теперь на руках контроллер Wiren board 5., S/n AZ6PY3XM gwr ., rev 5.8. ввиду нестабильной работы и категорического отказа создавать правила (крутит кружок, затем - ошибка) хотел перепрошить со сбросом всех настроек и запрограммировать по новой. Опять засада: на компе даю команду

$ sudo ./mxsldr wb5_usbfw.sb, получаю ошибку в ответ :

1: ./mxsldr: Syntax error: “(” unexpected

Куда копать? По форуму лазил (но если ссылку бросите - ещё раз перечитаю) кабели менял., штук 7-10. Компы - на 3-х пробовал., блоки питания - 4 сменил., на юбунтах 14,16,18 и дебиане ( не помню какой) пробовал… третью неделю бьюсь как о бетонную стену. Рад любым советам, указаниям.

Добрый день.

А попробую-ка воспроизвести.
Debian, ядро 6.1.0


Ну и запускаю

 ./mxsldr 
Usage: mxsldr <bootstream>
              (e.g: u-boot.sb)

Также пробую запустить с файлом

Ну и приведенный вами вывод не очень похож на какую-то ошибку. Проверьте файл пожалуйста, точно ли он выполняемый?
А зачем sudo, собственно?

Добрый день!

Во-первых спасибо за оперативный ответ., (я с задержкой - днём на работе и-нет отсутствует.)

Вобщем так: ввёл команды как у Вас на фото., Mxsldr скачался, разархивировался вроде всё нормально., Но с запуском - траблы Ругается “не удаётся запустить бинарный файл. Ошибка формата выполняемого файла.” Честно говоря, не понял - это относится к mxsldr, или ругается на то, что запустил без параметров?

А скачать wb5_usbfw.sb совсем не дал - не нашел его. И таки - да: раньше я скачивал всё это с винды, 7-ки (может это имеет значение, хотя не пойму - как… ну, глядя на обсуждения в форуме вообще всё это больше похоже на сеанс черной магии… :slight_smile: ) Сейчас делал из Юбунты 18-й. Пока такой результат. Посмотрите, может не замыленным глазом увидите мои ошибки…

andy@andy-PC:/media/andy/Data/Fore-Linux/2$ wget https://wiki.wirenboard.com/wiki/images/d/db/Mxsldr.zip
–2026-02-04 19:35:38-- https://wiki.wirenboard.com/wiki/images/d/db/Mxsldr.zip
Распознаётся wiki.wirenboard.com (wiki.wirenboard.com)… 34.240.245.203
Подключение к wiki.wirenboard.com (wiki.wirenboard.com)|34.240.245.203|:443… соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 5023 (4,9K) [application/zip]
Сохранение в: «Mxsldr.zip»

Mxsldr.zip 100%[=======================================================>] 4,91K --.-KB/s за 0s

2026-02-04 19:35:39 (425 MB/s) - «Mxsldr.zip» сохранён [5023/5023]

andy@andy-PC:/media/andy/Data/Fore-Linux/2$ unzip ./Mxsldr.zip
Archive: ./Mxsldr.zip
inflating: mxsldr
andy@andy-PC:/media/andy/Data/Fore-Linux/2$ ./mxsldr
bash: ./mxsldr: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла
andy@andy-PC:/media/andy/Data/Fore-Linux/2$ wget https://github.com/wirenboard/wirenboard/raw/9e8ae166e0347dcf1011b9284ed3e397e20b5f91/contrib/u-uboot/wb5_usbfw.sb
–2026-02-04 19:44:30-- https://github.com/wirenboard/wirenboard/raw/9e8ae166e0347dcf1011b9284ed3e397e20b5f91/contrib/u-uboot/wb5_usbfw.sb
Распознаётся github.com (github.com)… 140.82.121.4
Подключение к github.com (github.com)|140.82.121.4|:443… соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 404 Not Found
2026-02-04 19:44:31 ОШИБКА 404: Not Found.

andy@andy-PC:/media/andy/Data/Fore-Linux/2$

Дополню (на всякий случай, если это имеет значение…) - на компе стоит юбунту 18, 32 битная.

До этого нужно сделать его исполняемым.

chmod +x mxsldr

1 Like

Вечером попробую все по новой с Вашим дополнением. Извините уж, в линуксах не силен., уровень чуть ниже новичка…

Добрый день!

Ну, как бы попробовал., пока обрадовать нечем., получил те же фабержэ… Привожу здесь лог:

andy@andy-PC:/media/andy/Data/Fore-Linux/3$ wget https://wiki.wirenboard.com/wiki/images/d/db/Mxsldr.zip
–2026-02-05 21:27:52-- https://wiki.wirenboard.com/wiki/images/d/db/Mxsldr.zip
Распознаётся wiki.wirenboard.com (wiki.wirenboard.com)… 34.240.245.203
Подключение к wiki.wirenboard.com (wiki.wirenboard.com)|34.240.245.203|:443… соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 5023 (4,9K) [application/zip]
Сохранение в: «Mxsldr.zip»

Mxsldr.zip 100%[==========================================================>] 4,91K --.-KB/s за 0s

2026-02-05 21:27:53 (210 MB/s) - «Mxsldr.zip» сохранён [5023/5023]

andy@andy-PC:/media/andy/Data/Fore-Linux/3$ chmod a+x ./mxsldr
andy@andy-PC:/media/andy/Data/Fore-Linux/3$ ./mxsldr
bash: ./mxsldr: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла
andy@andy-PC:/media/andy/Data/Fore-Linux/3$ wget https://github.com/wirenboard/wirenboard/raw/9e8ae166e0347dcf1011b9284ed3e397e20b5f91/contrib/u-boot/wb_usbfw.sb
–2026-02-05 21:34:56-- https://github.com/wirenboard/wirenboard/raw/9e8ae166e0347dcf1011b9284ed3e397e20b5f91/contrib/u-boot/wb_usbfw.sb
Распознаётся github.com (github.com)… 140.82.121.4
Подключение к github.com (github.com)|140.82.121.4|:443… соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 404 Not Found
2026-02-05 21:34:57 ОШИБКА 404: Not Found.

andy@andy-PC:/media/andy/Data/Fore-Linux/3$ chmod +x ./mxsldr
andy@andy-PC:/media/andy/Data/Fore-Linux/3$ ./mxsldr
bash: ./mxsldr: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла
andy@andy-PC:/media/andy/Data/Fore-Linux/3$

Поясняю: Вначале скачал Mxsldr.zip., вроде все 100%. Разархивировал. Нормально. дал команду chmod (на Вашем фото в команде присутствует “a+x“ - я сделал так же) Далее попробовал дать команду на выполнение, - результат не обрадовал, мягко говоря…

Далее: пробую скачать файл wb_usbfw.sb - опять засада… Ладно, вернулся к mxsldr: попробовал ввести “chmod +x ./mxsldr”, без “а” - не ругается… Но и при попытке запуска тот же результат. Пытался в разных вариациях, наверное раз 10-15., чет не выходит…

Куда теперь податься?

Нужно больше подробностей.
Например про файл.

file ./mxsldr 
./mxsldr: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=2215a22e5ed9b8710372d8efd516ec00db579847, not stripped

Выполняю я его на 64-битной машинке, ядро и железо соответствуют:

sysadmin@brain:~/tmp$ uname -m
x86_64

возникает при попытке выполнить на другой архитектуре или разрядности, как правило.

Добрый день! Уже многое проясняется… У меня старенький комп 32-разрядный. Варианты вижу такие: найти соответствующий софт. И второй - искать соответствующее железо на 64. По первому - ссылочку не киньте на 32-х разрядные? А по второму, наверное проще таки будет Вам послать на перепрошивку. Вы ещё шьёте 5-е? Хотя тут вот вырисовывается такой вариант: попробовать загрузиться с флешки на 64-х разрядной ОС. Ну, это также только вечером. По результатам отпишусь.

Насколько я знаю разработчик процессоров не делал утилиту для 32-разрядных систем. Ну, я найти не смог, к сожалению.

Нет, уже нет стенда и для WB6 тоже.

Добрый день!

Делаю всё, как учили: Поставил юбунту 18 - 64 бит.

andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ file ./mxsldr

./mxsldr: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=2215a22e5ed9b8710372d8efd516ec00db579847, not stripped

andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ uname -m

x86_64

andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ chmod +x mxsldr

andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ ./mxsldr

Usage: mxsldr

(e.g: u-boot.sb)

Получаю результат вроде как у Вас., но на этом моё везение заканчивается. На контроллере отключаю питание, подсоединяю двумя кабелями порты FW и Debug к портам компьютера, нажимаю кнопочку, включаю питание… И комп не видит порт контроллера.

andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ ./mxsldr wb5_usbfw.sb

No compatible device found.

andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$

Не могу для начала даже к Debug подключиться консолью.

до подключения

andy@andy-System-Product-Name:~$ lsusb

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

после подключения

andy@andy-System-Product-Name:~$ lsusb

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 030: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

andy@andy-System-Product-Name:~$

Вроде как подключается.

на dmesg | grep USB выдаёт:

[ 2919.573139] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0

[ 2919.797517] usb 1-1.2: new full-speed USB device number 121 using ehci-pci

[ 2919.906876] usb 1-1.2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54

[ 2919.906879] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0

[ 2919.906881] usb 1-1.2: Product: USB2.0-Serial

[ 2919.908312] usb 1-1.2: ch341-uart converter now attached to ttyUSB0

andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/4$

Но почему то ни миником, ни путти не мурлычат. Мне кажется не настроен порт подключения. Пробовал ttyS0 и ttyUSB0 - чёт никак… Остальное как в инструкции: 115200,8,N,1. Куда и что смотреть - пока в непонятках.

Копаю форум, пока глуховато как то. Надеюсь на Вашу помощь. Спасибо.

Да, в догонку: кабели пробовал штук 5 - 7. На четверти из них смарфон не подключается к компу. - отбраковал.

И ещё следом: есть у меня модуль с microCD карточкой. Можно ли через него как-то скормить прошивку? У WB7 вроде появилась такая возможность, у 5-х не было…

Пока перелопачиваю форум… Какие темы посоветуете?

Какое устройство появляется (определяется) при подключении контроллера?
Вот как тут описано - при подключении контроллера с зажатым Reset


есть устройство “ROM recovery”?

Добрый день!

Привожу логи в порядке моих действий:

  1. Питание отключено., кабели воткнуты (оба).
  2. Подключил питание. На компе ввожу dmes | tail: andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ dmesg | tail
    [ 1501.151202] usb 1-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
    [ 1501.151204] usb 1-1.1: Product: USB2.0-Serial
    [ 1501.151610] ch341 1-1.1:1.0: ch341-uart converter detected
    [ 1501.152606] usb 1-1.1: ch341-uart converter now attached to ttyUSB0
    [ 1503.185752] usb 1-1.2: new full-speed USB device number 75 using ehci-pci
    [ 1503.609765] usb 1-1.2: device descriptor read/64, error -32
    [ 1503.797770] usb 1-1.2: device descriptor read/64, error -32
    [ 1503.985792] usb 1-1.2: new full-speed USB device number 76 using ehci-pci
    [ 1504.065778] usb 1-1.2: device descriptor read/64, error -32
    [ 1504.253904] usb 1-1-port2: attempt power cycle
  3. Через несколько секунд опять ввожу то же самое:
    andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ dmesg | tail
    [ 1517.645066] usb 1-1.1: ch341-uart converter now attached to ttyUSB0
    [ 1519.478268] usb 1-1.2: new full-speed USB device number 79 using ehci-pci
    [ 1519.598270] usb 1-1.2: device descriptor read/64, error -32
    [ 1519.994284] usb 1-1.2: device descriptor read/64, error -32
    [ 1520.598305] usb 1-1.2: new high-speed USB device number 80 using ehci-pci
    [ 1520.707123] usb 1-1.2: New USB device found, idVendor=15a2, idProduct=004f, bcdDevice= 0.01
    [ 1520.707126] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [ 1520.707128] usb 1-1.2: Product: ROM Recovery
    [ 1520.707129] usb 1-1.2: Manufacturer: Freescale,Inc.
    [ 1520.708873] hid-generic 0003:15A2:004F.0005: hiddev0,hidraw0: USB HID v1.10 Device [Freescale,Inc. ROM Recovery] on usb-0000:00:1a.0-1.2/input0
  4. По-моему вот последняя строчка - оно и есть - Rom recovery. Ввожу далее по учебнику: andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ sudo ./mxsldr wb5_usbfw.sb
    Detected: i.MX28
    Chip ID: 0x2800
    Chip Revision: 0x0001
    ROM Version: 0x0101
    Protocol Version: 0x0100
    andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ dmesg | tail
    [ 1568.801165] usb 1-1.1: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54
    [ 1568.801168] usb 1-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
    [ 1568.801170] usb 1-1.1: Product: USB2.0-Serial
    [ 1568.801582] ch341 1-1.1:1.0: ch341-uart converter detected
    [ 1568.802569] usb 1-1.1: ch341-uart converter now attached to ttyUSB0
    [ 1569.023727] usb 1-1.2: new full-speed USB device number 108 using ehci-pci
    [ 1569.103727] usb 1-1.2: device descriptor read/64, error -32
    [ 1569.291734] usb 1-1.2: device descriptor read/64, error -32
    [ 1569.687745] usb 1-1.2: new full-speed USB device number 109 using ehci-pci
    [ 1569.767894] usb 1-1-port2: attempt power cycle
    andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$
  5. Не нашел “Write protect is off”, поэтому не определился какой порт. Ну вобщем то понял, что не с первого раза, но где-то с 5-8 го что-то вырисовывается. Буду пробовать., о результатах обязательно отпишусь.И ещё - тупой вопрос- когда кнопку отпускать? Или её вообще в процессе всей записи держать?

Да, верно.

Ага, определился SOC и на него загрузился загрузчик.

А вот тут довольно странное - почему-то после (судя по меткам времени) debug опять отключается. Или питание с контроллера отключали?

После того как mxsldr отработал.
То есть он отправил в контроллер загрузчик, тот запустился можно бросать.
Ну и успешная работа загрузчика - определение уже устройства хранения.

Добрый день. К сожалению сегодня ничего не получилось. Пытался запустить шайтан-машину часа три, три с половиной - всё без толку. Чет, луна со звёздами не сошлись - ругается, что не найдено устройство “not faund”. Те же файлы, что и вчера, тот же каталог, но результат - не взлетело… Ну, вобщем куда рыть - теперь более менее понятно.

По поводу отключения порта - питание не отключалось., но порт периодически пропадает. Завтра попробую другой, уже стабилизированный лабораторный источник, и закину не на штырьковый разъём, а на клеммы. Как будет результат - отпишусь.

Сегодня подключил другой ИП., получил следующее:
andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ sudo chmod +x ./mxsldr
[sudo] пароль для andy:
andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ sudo ./mxsldr wb5_usbfw.sb
Detected: i.MX28
Chip ID: 0x2800
Chip Revision: 0x0001
ROM Version: 0x0101
Protocol Version: 0x0100
andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$ sudo dmesg | tail
[ 692.575197] sd 6:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 692.832049] sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 >
[ 693.185320] sd 6:0:0:0: [sdc] Attached SCSI disk
[ 694.445195] EXT4-fs (sdc3): recovery complete
[ 694.461172] EXT4-fs (sdc3): mounted filesystem with ordered data mode. Opts: (null)
[ 694.977613] EXT4-fs (sdc2): recovery complete
[ 694.993394] EXT4-fs (sdc2): mounted filesystem with ordered data mode. Opts: (null)
[ 696.032887] EXT4-fs (sdc6): 1 orphan inode deleted
[ 696.032889] EXT4-fs (sdc6): recovery complete
[ 696.122151] EXT4-fs (sdc6): mounted filesystem with ordered data mode. Opts: (null)
andy@andy-System-Product-Name:/media/andy/Data/Fore-Linux/2$
Строку " Write protect is off, где sd*" не нашел., но не могу дать команду из инструкции, чтобы отмонтировать sdc1,2,3,4,5,6.Не знаю к какому порту подключена консоль.
Пока результат такой.

Ну, отлично. Можно заливать.

Добрый день!

Снова я. Во-первых хочу выразить огромнейшую благодарность всей команде Wiren Board и особо - Андрею Радионову за то, что не бросаете нас на произвол судьбы! Действительно внятная, хорошая техническая поддержка! Мой WB5 уже давно снят с производства, но благодаря этим людям ещё послужит. Всё прошил согласно Вашим советам и инструкции. Пришлось, конечно попотеть… Но я в линуксе - как свинья в апельсинах., так что результат, считаю вполне достойный. И именно благодаря советам тех поддержки.

Из технически интересного: после обновления в конфигурировании через Вебку в разделе Settings-System-/etc/wb-hardware.conf вместо наименований слотов - одинаковые надписи
[{{translate self.name}}]. Нашел на форуме тему Ошибки при обновлении и странные названия в web конфигураторе у /etc/wb-hardware.conf на WB5 . Воспользовался приведёнными там рецептами и всё нормализовалось. Сейчас контроллер в полной боевой., стоит пока на столе, погоняю вхолостую сутки - двое., и установлю в щит. У меня он управляет домом, сараями, теплицей, курятником, поливом… Вобщем работы ему хватает. Ещё раз оромное спасибо!:saluting_face: