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

Здравствуйте !
WB5 из заказа номер 171309. Пытался обновить согласно инструкции
https://wirenboard.com/wiki/Wiren_Board_5:_Восстановление_прошивки
Зажал кнопку, запустил из под windows команду sb_loader.exe wb5_usbfw.sb
Получил ошибку
Downloading to device.CStHidDevice::Download() Error(-13) during Write cbw.Quitting.Error(-13) during download.Quitting.
После этого контроллер не загружается и при подключении кабеля порт не определяется в windows как usb-com (до операции - нормально срабатывало). При подключении к debug порту - определяется. Как теперь с этим жить ?

S/N указан как ALYTAX34 gwr

Добрый день. Уточните пожалуйста номер контроллера, если можно - фото наклейки.
Подключаетесь одновременн двумя проводами, к “FW” и “Debug” разъемам?

Подключаюсь одним кабелем.
Проверил сейчас на рабочем компе : подключаешься к порту FW - тишина, к DEBUG - винда обновляет список оборудования, добавляя порт USB-COM

Так, значит как и написано в инструкции

Настоятельно рекомендуется также подключить контроллер и по Debug USB для отслеживания процесса прошивки. Для industrial версии подключение по Debug USB в процессе прошивки - обязательно.

И сделать:

Примечание:
Если у вас индустриальная версия процессорного модуля и вывод команды не совпадает с указанным на скриншоте (нет устройства вида "sd*"), то нужно открыть Debug консоль контроллера и ввести в неё следующее:
/sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer="Wiren Board" iProduct="Wiren Board"

Как раз после этого порт “FW” становится frnbdysv/
Ну и традиционное: проверьте чтобы кабеля USB были качественными, толстыми.

У меня не индустриальная версия. Фото микросхемы для аппрува нужно ?
Подключился сейчас к debug :

▒▒40668 bytes read in 1245 ms (31.3 KiB/s)
Booting from mmc …
Kernel image @ 0x42000000 [ 0x000000 - 0x3a7e60 ]

Flattened Device Tree blob at 41000000

Booting using the fdt blob at 0x41000000
Loading Device Tree to 47b51000, end 47b5dedb … OK

Starting kernel …

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.22-wb2 (root@wbdevenv) (gcc version 6.3.0 20170516 (Debian 6.3.0-18) ) #2 Wed Nov 13 22:02:28 UTC 2019
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt:Machine model: Wiren Board rev. 5.8 (i.MX28)
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: console=ttyAMA0,115200 ro rootwait fixrtc root=/dev/mmcblk0p2 rootfstype=ext4 video=
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Memory: 122700K/131072K available (4569K kernel code, 204K rwdata, 1664K rodata, 160K init, 286K bss, 8372K reserved, 0K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc8800000 - 0xff800000 ( 880 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc047e9b0 (4571 kB)
[ 0.000000] .init : 0xc0642000 - 0xc066a000 ( 160 kB)
[ 0.000000] .data : 0xc066a000 - 0xc069d2c0 ( 205 kB)
[ 0.000000] .bss : 0xc069d2c0 - 0xc06e4e70 ( 287 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] clocksource: mxs_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000020] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000689] Console: colour dummy device 80x30
[ 0.000754] Calibrating delay loop… 226.09 BogoMIPS (lpj=1130496)
[ 0.080301] pid_max: default: 32768 minimum: 301
[ 0.080572] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.080617] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.082198] CPU: Testing write buffer coherency: ok
[ 0.083008] Setting up static identity map for 0x40008400 - 0x40008458
[ 0.086692] devtmpfs: initialized
[ 0.117575] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.117639] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.117996] pinctrl core: initialized pinctrl subsystem
[ 0.120749] NET: Registered protocol family 16
[ 0.122085] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.193030] Serial: AMBA PL011 UART driver
[ 0.193866] 80074000.serial: ttyAMA0 at MMIO 0x80074000 (irq = 234, base_baud = 0) is a PL011 rev2
[ 0.456820] console [ttyAMA0] enabled
[ 0.484315] mxs-dma 80004000.dma-apbh: initialized
[ 0.494423] mxs-dma 80024000.dma-apbx: initialized
[ 0.504143] usbcore: registered new interface driver usbfs
[ 0.509982] usbcore: registered new interface driver hub
[ 0.515571] usbcore: registered new device driver usb
[ 0.522273] i2c-gpio i2c_rtc_wb59@0: using pins 85 (SDA) and 90 (SCL)
[ 0.530506] Linux video capture interface: v2.00
[ 0.535473] pps_core: LinuxPPS API ver. 1 registered
[ 0.540463] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
[ 0.549760] PTP clock support registered
[ 0.554616] Advanced Linux Sound Architecture Driver Initialized.
[ 0.563081] clocksource: Switched to clocksource mxs_timer
[ 0.605241] NET: Registered protocol family 2
[ 0.611197] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.618350] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.624831] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.631381] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.637360] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.644069] NET: Registered protocol family 1
[ 0.649364] RPC: Registered named UNIX socket transport module.
[ 0.655431] RPC: Registered udp transport module.
[ 0.660159] RPC: Registered tcp transport module.
[ 0.664948] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.671907] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.681483] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[ 0.734552] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[ 0.741989] io scheduler noop registered (default)
[ 0.751003] 8006a000.serial: ttyAPP0 at MMIO 0x8006a000 (irq = 229, base_baud = 1500000) is a 8006a000.serial
[ 0.761985] mxs-auart 8006a000.serial: Found APPUART 3.1.0
[ 0.768323] 8006c000.serial: ttyAPP1 at MMIO 0x8006c000 (irq = 230, base_baud = 1500000) is a 8006c000.serial
[ 0.779351] mxs-auart 8006c000.serial: Found APPUART 3.1.0
[ 0.785750] 8006e000.serial: ttyAPP2 at MMIO 0x8006e000 (irq = 231, base_baud = 1500000) is a 8006e000.serial
[ 0.796813] mxs-auart 8006e000.serial: Found APPUART 3.1.0
[ 0.803028] 80070000.serial: ttyAPP3 at MMIO 0x80070000 (irq = 232, base_baud = 1500000) is a 80070000.serial
[ 0.814161] mxs-auart 80070000.serial: Found APPUART 3.1.0
[ 0.820387] 80072000.serial: ttyAPP4 at MMIO 0x80072000 (irq = 233, base_baud = 1500000) is a 80072000.serial
[ 0.831400] mxs-auart 80072000.serial: Found APPUART 3.1.0
[ 0.857625] loop: module loaded
[ 0.863578] libphy: Fixed MDIO Bus: probed
[ 0.983260] 800f0000.ethernet supply phy not found, using dummy regulator
[ 1.104481] libphy: fec_enet_mii_bus: probed
[ 1.114335] 800f4000.ethernet supply phy not found, using dummy regulator
[ 1.124440] PPP generic driver version 2.4.2
[ 1.129384] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 1.136461] usbcore: registered new interface driver usbserial
[ 1.142462] usbcore: registered new interface driver usbserial_generic
[ 1.149265] usbserial: USB Serial support registered for generic
[ 1.156042] mousedev: PS/2 mouse device common for all mice
[ 1.166417] rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
[ 1.174544] rtc-pcf8563 1-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 1.187257] stmp3xxx-rtc 80056000.rtc: rtc core: registered 80056000.rtc as rtc1
[ 1.195422] i2c /dev entries driver
[ 1.201305] stmp3xxx_rtc_wdt stmp3xxx_rtc_wdt: initialized watchdog with heartbeat 19s
[ 1.211724] 80010000.ssp supply vmmc not found, using dummy regulator
[ 1.273197] mxs-mmc 80010000.ssp: initialized
[ 1.279617] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.291686] usbcore: registered new interface driver usbhid
[ 1.297415] usbhid: USB HID core driver
[ 1.318577] NET: Registered protocol family 10
[ 1.326173] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.335093] NET: Registered protocol family 17
[ 1.339727] Key type dns_resolver registered
[ 1.346776] registered taskstats version 1
[ 1.360962] rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.
[ 1.368516] rtc-pcf8563 1-0051: hctosys: unable to read the hardware clock
[ 1.375485] of_cfs_init
[ 1.378128] of_cfs_init: OK
[ 1.382900] usb0_vbus: disabling
[ 1.386289] usb1_vbus: disabling
[ 1.389547] ALSA device list:
[ 1.392523] No soundcards found.
[ 1.396370] uart-pl011 80074000.serial: no DMA platform data
[ 1.402223] Waiting for root device /dev/mmcblk0p2…
[ 1.876008] mmc0: new high speed MMC card at address 0001
[ 1.882979] mmcblk0: mmc0:0001 SEM04G 3.69 GiB
[ 1.888363] mmcblk0boot0: mmc0:0001 SEM04G partition 1 1.00 MiB
[ 1.895143] mmcblk0boot1: mmc0:0001 SEM04G partition 2 1.00 MiB
[ 1.901773] mmcblk0rpmb: mmc0:0001 SEM04G partition 3 128 KiB
[ 1.913396] mmcblk0: p1 p2 p3 p4 < p5 p6 >
[ 2.006190] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
[ 2.013644] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
[ 2.066821] EXT4-fs (mmcblk0p2): recovery complete
[ 2.071834] random: fast init done
[ 2.078021] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 2.086332] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[ 2.103344] devtmpfs: mounted
[ 2.107137] Freeing unused kernel memory: 160K (c0642000 - c066a000)
[ 2.113610] This architecture does not have kernel memory protection.
INIT: version 2.88 booting
[info] Using makefile-style concurrent boot in runlevel S.
[…] Starting the hotplug events dispatcher: udevd[ 4.113759] udevd[183]: starting version 175
. ok
[…] Synthesizing the initial hotplug events…[ 5.651471] CAN device driver interface
[ 5.693419] mxs-dcp 80028000.dcp: Failed to register sha1 hash!
[ 5.720701] mxs-dcp: probe of 80028000.dcp failed with error -22
[ 5.729928] 80034000.can supply xceiver not found, using dummy regulator
[ 5.845552] flexcan 80034000.can: device registered (reg_base=c892c000, irq=209)
[ 6.575521] mxs-spdif-dai 80054000.spdif: MXS SPDIF Audio Transmitter
done.
[…] [ 7.625878] lirc_dev: IR Remote Control driver registered, major 245
[ 7.643883] Driver for 1-wire Dallas network protocol.
Waiting for /dev to be fully populated…[ 7.890056] lirc_pwm: module is from the staging directory, the quality is unknown, you have been warned.
[ 7.918410] mxs-spdif sound-spdif: snd-soc-dummy-dai <-> 80054000.spdif mapping ok
[ 8.043459] ci_hdrc ci_hdrc.0: EHCI Host Controller
[ 8.048439] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[ 8.177908] lirc_pwm lirc-rfm69: GPIO receiver on pin 37
[ 8.227387] lirc_pwm lirc-rfm69: lirc_dev: driver lirc-rfm69 registered at minor = 0
[ 8.353877] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[ 8.403772] lirc_pwm lirc-rfm69: probed
[ 8.424533] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 8.431371] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 8.438754] usb usb1: Product: EHCI Host Controller
[ 8.443752] usb usb1: Manufacturer: Linux 4.9.22-wb2 ehci_hcd
[ 8.449529] usb usb1: SerialNumber: ci_hdrc.0
[ 8.913864] hub 1-0:1.0: USB hub found
[ 8.953319] hub 1-0:1.0: 1 port detected
[ 9.016110] ci_hdrc ci_hdrc.1: EHCI Host Controller
[ 9.021128] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
[ 9.153358] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[ 9.203749] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 9.210586] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 9.217952] usb usb2: Product: EHCI Host Controller
[ 9.222860] usb usb2: Manufacturer: Linux 4.9.22-wb2 ehci_hcd
[ 9.228712] usb usb2: SerialNumber: ci_hdrc.1
[ 9.460468] hub 2-0:1.0: USB hub found
[ 9.486689] hub 2-0:1.0: 1 port detected

После чего соединение рвется

wiren1

Удалось прогрузить до конца и ввести команду

/sbin/modprobe g_mass_storage file=/dev/mmcblk0 iManufacturer=“Wiren Board” iProduct=“Wiren Board”

далее
dmesg | tail
[ 81.417368] RTL871X: nolinked power save leave
[ 82.155588] RTL871X: assoc success
[ 82.159238] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 485.993687] Mass Storage Function, version: 2009/09/11
[ 485.999307] LUN: removable file: (no medium)
[ 486.005765] LUN: file: /dev/mmcblk0
[ 486.009377] Number of LUNs=1
[ 486.013063] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
[ 486.020239] g_mass_storage gadget: userspace failed to provide iSerialNumber
[ 486.027429] g_mass_storage gadget: g_mass_storage ready

и
mount
/dev/root on / type ext4 (rw,noatime,errors=remount-ro,stripe=1024,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=61348k,nr_inodes=15337,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=12288k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=77000k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/mmcblk0p6 on /mnt/data type ext4 (rw,relatime,stripe=1024,data=ordered,_netdev)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mmcblk0p6 on /var/log type ext4 (rw,relatime,stripe=1024,data=ordered)

Но порт все равно не работает

У нас, наверно, непонятно написано.

и mount надо вводить на компьютере, не на контроллере, просто для того чтобы увидеть устройство, которым определился порт FW контроллра.

Не всегда понятно написано, ну да ладно.
Сейчас имеем следующее :

подключен только DEBUG порт

root@wirenboard-ALYTAX34:~# lsusb
Bus 002 Device 002: ID 0bda:b720 Realtek Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Т.е. все ОК

подключаем второй кабель к FW

[ 1211.361546] ci_hdrc ci_hdrc.0: remove, state 4
[ 1211.366304] usb usb1: USB disconnect, device number 1
[ 1211.391171] ci_hdrc ci_hdrc.0: USB bus 1 deregistered
[ 1216.427309] ci_hdrc ci_hdrc.0: timeout waiting for 00000800 in 13

и

root@wirenboard-ALYTAX34:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0bda:b720 Realtek Semiconductor Corp.

Т.е он отключает этот порт. Как сделать так чтобы не отключало ?

Да, кабели пробовал менять местами - не влияет.

Один конец кабеля подключаетчся к контроллеру, второй - к компьютеру. При таком подключении порт становится ведомым (USB_OTG)
И да, при этом его не видно .
Введите

lsusb

на своем компьютере.
Порт должен стать доступным на нем.

Все что он мне должен - он простил :slight_smile:
Проблема именно в том, что на контроллере в списке порт пропадает, как Вы и говорите, а на ПК он не появляется.

UPDATE :

Команда sb_loader выполнилась

sb_loader wb5_usbfw.sb
Waiting for HID device for 2 seconds…
Device Arrival event.
Downloading to device.

Дальше отпускаю кнопку и пробую воспользоваться Win32diskimager.
Но он не показывает в списке доступных устройств для прошивки

Еще UPDATE. В момент когда зажата кнопка, я вижу с помощью программы, которая показывает все USB устройства в Win10 - USBDeview v3.01, некий аналог lsusb что устройство ROM Recovery появляется и исчезает с периодичностью в несколько секунд

Не должно быть, что при этом в Debug пишет?
От чего питается контроллер в проццессе перешивки?

1 Like

Debug ничего не пишет, пока кнопка зажата на него прицепиться получилось один раз из множества и то на пару секунд, после соединение было разорвано, увидеть что там происходит не получилось. Потому как при нажатии на кнопку и DEBUG в виде COM порта и FW в виде ROM Recovery на ПК появляются и исчезают циклически. Проверено на двух ПК c win10 и одном с Debian.

После отжатия кнопки система спокойно уходит в ребут и тогда можно прицепиться к Debug и посмотреть как грузится система.

Питается от родного бп.

Снял видео как это выглядит. Могу выслать мессенджером. Кабелей перепробовал разных с десяток.

Если никаких идей нет, то может быть отправить ее к доктору, т.е к Вам, полечить ?

Сейчас как раз пробую прошить контроллер, процесс опишу, попробуете еще раз?
Да, у нас в офисе прошить - можно.

Да, конечно, попробую. Жду указаний. :ok_hand:

Попробуйте пожалуйста перемычку поставить, как тут написано: Watchdog — Wiren Board

Попробовал. При отключенном watchdog wiren вообще не реагирует на нажатие микро-кнопки.
Просто начинает сразу грузить ОС и все тут.