При прошивке WB5 ошибка

Запустил live версию Debian с флешки.


Видимо тоже не мой вариант

выполните file ./Msxldr.bin

 ls
202002171655_emmc_wb58.img  Mxsldr.bin  wb5_usbfw.sb
sysadmin@brain:~/Downloads/tmp1$ file ./Mxsldr.bin 
./Mxsldr.bin: 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
sysadmin@brain:~/Downloads/tmp1$ 

У вас Live система 64-разрядная?
Подозреваю что файл недокачан.

Добрый вечер. Наконец запустил линукс и успешно залил образ wb5_usbfw.


У меня индустриальный версия контроллера. Необходимо выполнить /sbin/modprobe…, но я не могу подключиться через putty, чтобы ввести команду. Порт /dev/ttyUSB0 появляется при подключении кабеля, но putty ругается что не может установить соединение. Как быть?

putty пробовал, работает. Но minicom лучше.
Да, putty может не работать из-за того что пользователь, из-под которого он запущен не имеет прав на работу с последовательным портом:

для “разового” использования можно поменять права.

Вот это треш!!! Это сколько надо закончить гарвардов чтобы перепрошить Ваш контроллер?)) Поставил линукс все прошил. Но контроллер все равно, не запускается. Отправил к Вам на перепрошивку. Из вики удалите инструкцию по перепрошивке wb5.8 из под win, чтобы не вводить людей в заблуждение.

Я сам делал именно из-под Windows/ Никогда не публикуем непроверенного. И даже тестировал инструкцию на “неопытном” человеке.

Вот это странно. Не сохранили вывод в Debug консоль?

К сожалению нет. Был расстроен и зол.

Видео, как и обещали:

Добрый день.
Команде wirenboard спасибо за оперативную перепрошивку контролера и за видео. Все работает. Наконец-то в доме стало тепло и светло :grinning: :laughing: :sweat_smile:
Что касается видео. Делал все тоже самое. Отличие только в последней команде, точнее в результате. У меня запись длилась около 3 СЕК!!!
При этом первый раз запись длилась очень долго и все получилось, контроллер загрузился. Я был очень рад и начал настраивать контроллер. Первое что я сделал это apt-get update & apt-get upgrade. После чего контроллер опять не загрузился. Я не стал разбираться в чем проблема, я все равно не понимаю. Решил заново перепрошить, но как Вы понимаете облом. На этом я решил завершить свое знакомство с Linux :grinning: :grinning: :grinning:
Теперь вопросы.

  1. Почему у меня процесс записи образа командой dd занял 3 сек?
  2. Сейчас я могу обновиться через apt-get update & apt-get upgrade? Не рухнет опять?
    Спасибо.

Можно предположить два варианта: Либо неверный (обрезанный, нераспакованный) файл-источник, аргумент if= или неверное “назначение”, аргумент of=. Вообще, файл размером с прошивку должен долго записываться…

Нет, не рухнет. Но перед обновлением проверьте свободное место df -h

Прошивка действительно похожа на сеанс черной магии, особенно когда не понимаешь что, зачем и в какой последовательности должно происходить (увы, я не админ и не эмбеддер)
WB5.3, по шагам:

  1. Замкнул ногу ON/OFF на зeмлю для отключения аппаратного watchdog
  2. Подключил RX/TX/Gnd к USB-UART
  3. Подал питание на контроллер, в Debug увидел что всё загрузилось штатно. Ок, debug работает. Заодно проверил “живость” флешки по инструкции - 30%, не густо но кажется не критично.
  4. Отключил контроллер
  5. Скомпилировал под macOS mxsldr, скачал wb5_usbfw.sb, 202002171701_emmc_wb55.img
  6. Подключил к компьютеру USBfw кабель, светодиод на SoC засветился зеленым, в Debug пусто
  7. Подал питание на контроллер (9 вольт от блока питания), засветился второй светодиод на основной плате, в Debug пусто (позже выяснилось что он очень любит отваливаться).
  8. ✗ sudo ./mxsldr wb5_usbfw.sb
    No compatible device found.

Вырубаем Debug UART, меняем USB FW кабель, втыкаем питание контроллера:
✗ sudo ./mxsldr wb5_usbfw.sb
Failed to claim interface

Да жованый крот =(
Пробовал разные последовательности и комбинации, смог добиться от mxsldr только двух ответов: No compatible device found. и Failed to claim interface.

Ни то ни другое в доке не описано (кстати документация в wiki по Debug порту на английском более полная чем на русском… И последние разделы в английской статье написаны по русски)

Окей, может оно с macOS не дружит, из устройств у меня только Win10 в Parallels, там удалось получить
C:\Documents\Mxsldr_win\sb_loader>sb_loader.exe wb5_usbfw.sb
Downloading to device.
Никаких устройств не появляется, Debug молчит…

Окей, запускаем в Parallels Ubuntu 18.04, подключаем USB шнурок, sudo ./Mxsldr.bin wb5_usbfw.sb - сработал! Устройство Wiren Board появилось, вот только диск почему-то на 32Mb. Снимаем перемычку как написано в инструкции, ничего не изменилось:

$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 30.6 MiB, 32096256 bytes, 62688 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

В dmesg при этом:

[ 2061.961091] usb 1-5: new high-speed USB device number 15 using ehci-pci
[ 2062.117798] usb 1-5: New USB device found, idVendor=15a2, idProduct=004f
[ 2062.117800] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2062.117800] usb 1-5: Product: ROM Recovery
[ 2062.117801] usb 1-5: Manufacturer: Freescale,Inc.
[ 2062.121211] hid-generic 0003:15A2:004F.0008: hiddev3,hidraw2: USB HID v1.10 Device [Freescale,Inc. ROM Recovery] on usb-0000:00:1d.7-5/input0
[ 2076.659309] usb 1-5: USB disconnect, device number 15
[ 2077.076873] usb 1-6: new high-speed USB device number 16 using ehci-pci
[ 2077.234626] usb 1-6: New USB device found, idVendor=0525, idProduct=a4a5
[ 2077.234628] usb 1-6: New USB device strings: Mfr=3, Product=4, SerialNumber=0
[ 2077.234629] usb 1-6: Product: Wiren Board
[ 2077.234629] usb 1-6: Manufacturer: Wiren Board
[ 2077.237137] usb-storage 1-6:1.0: USB Mass Storage device detected
[ 2077.237704] usb-storage 1-6:1.0: Quirks match for vid 0525 pid a4a5: 10000
[ 2077.237796] scsi host8: usb-storage 1-6:1.0
[ 2078.258726] scsi 8:0:0:0: Direct-Access Linux File-Stor Gadget 0401 PQ: 0 ANSI: 2
[ 2078.259504] sd 8:0:0:0: Attached scsi generic sg2 type 0
[ 2078.264383] sd 8:0:0:0: Power-on or device reset occurred
[ 2078.268424] sd 8:0:0:0: [sdb] 62688 512-byte logical blocks: (32.1 MB/30.6 MiB)
[ 2078.372232] sd 8:0:0:0: [sdb] Write Protect is off
[ 2078.372237] sd 8:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[ 2078.482101] sd 8:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 2079.782909] sd 8:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 2079.782911] sd 8:0:0:0: [sdb] tag#0 Sense Key : Medium Error [current]
[ 2079.782913] sd 8:0:0:0: [sdb] tag#0 Add. Sense: Unrecovered read error
[ 2079.782915] sd 8:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 18 00 00 08 00
[ 2079.782920] print_req_error: critical medium error, dev sdb, sector 24
[ 2079.782925] Buffer I/O error on dev sdb, logical block 3, async page read
[ 2079.782981] sdb: unable to read partition table
[ 2080.001316] sd 8:0:0:0: [sdb] Attached SCSI disk
[ 2080.274578] sd 8:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 2080.274581] sd 8:0:0:0: [sdb] tag#0 Sense Key : Medium Error [current]
[ 2080.274582] sd 8:0:0:0: [sdb] tag#0 Add. Sense: Unrecovered read error
[ 2080.274584] sd 8:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 f4 00 00 00 08 00
[ 2080.274585] print_req_error: critical medium error, dev sdb, sector 62464
[ 2080.463049] sd 8:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 2080.463053] sd 8:0:0:0: [sdb] tag#0 Sense Key : Medium Error [current]
[ 2080.463055] sd 8:0:0:0: [sdb] tag#0 Add. Sense: Unrecovered read error
[ 2080.463058] sd 8:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 f4 00 00 00 08 00
[ 2080.463060] print_req_error: critical medium error, dev sdb, sector 62464
[ 2080.463067] Buffer I/O error on dev sdb, logical block 7808, async page read

Терять всё-равно уже нечего:

$ sudo dd if=202002171655_emmc_wb58.img of=/dev/sdb bs=1M conv=fdatasync && sync
dd: error writing ‘/dev/sdb’: No space left on device
31+0 records in
30+0 records out
32096256 bytes (32 MB, 31 MiB) copied, 20.5934 s, 1.6 MB/s

После dd

Disk /dev/sdb: 30.6 MiB, 32096256 bytes, 62688 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x53140e10
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 34815 32768 16M 53 OnTrack DM6 Aux3
/dev/sdb2 34816 1243135 1208320 590M 83 Linux

Круто, но толку-то?

Пока у меня ко всем инструкциям только одна претензия: пишите ЗАЧЕМ что-то делать! Зачем снимать перемычку (оно должно 32mb партицию переподключить на полный объём или что)? Зачем подключать внешнее питание контроллера и USBfw, если и без внешнего питания он на Mxsldr откликается (точнее только так и откликается. Вот ни разу у меня не получилось заставить работать Mxsldr с USBfw и внешним питанием - всегда после втыкания внешнего питания начинается загрузка основной ОС контроллера судя по Debug консоли, которая только в этот момент и оживает)

Вопрос в догонку: в чем отличие wb5 от wb55 и wb58? Мне-то с моим 5.3hw что ставить?

UPD:
Внешнее питание нужно чтобы флеш-память не кидала ошибки и нормально определялась, ура!
Перемычку можно не снимать?

UPD2:
Видимо мне как раз подходит wb5 (не wb55 и не wb58) и… тут я плавно перетекаю в тему:

И чиню руками /mnt/data =(