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

Здравствуйте!

На Wiren Board 5 была произведена операция восстановление прошивки в соответствии с описанием: Восстановление прошивки
Внутренний накопитель в системе определился.
Далее:

hhhh@name:~$ sudo dd if=201607081943_emmc_wbwb55.img of=/dev/sdb bs=1M conv=fdatasync && sync
[sudo] пароль для hhhh:
738+0 записей получено
738+0 записей отправлено
773849088 байт (774 MB, 738 MiB) скопирован, 102,125 s, 7,6 MB/s
hhhh@name:~$

После контроллер отключен от USB, отключен от питания.
При включении за доли секунды загорается зелёная лампочка на корпусе, меняет цвет на красный, горит около 10 сек, тухнет, через 1-2 сек. процесс повторяется.
Соответственно, Wi-Fi не поднимается, подключиться не могу.
Повторно по инструкции внутренний накопитель WB5 не удаётся подключить повторно.
Похоже, что-то пошло не так при восстановлении и теперь контроллер в нерабочем состоянии.
Как в данных обстоятельствах восстановить работоспособность контроллера?

Проверьте пожалуйста, что прошивка для нужной ревизии контроллера.

файлы с “wb55” для 5.6 и выше, c “wb5” для 5.3

На плате Wiren Board 5 r.3, клемник R2 присутствует (2 синих), но отсутствует в подписях, рядом с microUSB перемычка, не кнопка.
Выходит, прошивка была не верной (
Добавьте информацию о соответствии прошивок и ревизий контроллера в разделы Восстановление прошивки и Обновление прошивки, если не сложно. Информация о ревизиях не очевидна, до меня качали последнюю версию, не могли обновить через WEB интерфейс, и я на этом попался, но у же серьёзнее.
Как теперь возможно восстановить уже достоверно известный WB5.3?

Точно так же, через mxsldr и dd

Хм… Второй раз не смог подключить через mxsldr. Могут быть подводные камни? Попробую на другой машине, о результатах отпишу.

нет, не должно быть: при прошивке таким способом, контроллер с внутренней флешки вообще не грузится. Проверьте, что все манипуляции с перемычкой и подключением питания выполняете точно так же, как по инструкции.

После нескольких попыток и перебора прошивок восстановил работоспособность. Залить получилось прошивку 0.19, почему-то 0.22 не вставала. Сменил на 0.22 через WEB интерфейс, но тоже не с первой попытки.
Спасибо за помощь!

Добрый день!
Я столкнулся с аналогичной проблемой.
Однако я выбирал файл прошивки верной версии.
У меня подмонтировалось три раздела: rootfs0, rootfs1, data. Закинул прошивку в первый из них. Контроллер не стал загружаться (симптомы как описано выше). Снова подключил его, подмонтировались уже только rootfs1 и data. Закинул на rootfs1, результат тот же.
В итоге у меня не монтируется ни один раздел и не загружается wb. Что делать? Как у вас в итоге получилось подключить wb?

Прочитайте пожалуйста инструкцию. Вам нужно не “закинуть прошивку в первый раздел”, а точно выполнять команды из инструкции, т.е. перезаписать весь накопитель целиком.

Будьте осторожны: если вы ошибётесь в одном символе в команде, вы можете затереть жёсткий диск компьютера вместо перезаписи флешки контроллера. Мы за это не несём вообще никакой ответственности. Если вы не до конца понимаете, что делает какая-либо команда - не выполняйте её.

Я следовал инструкциям, что описаны на страницах:
Восстановление прошивки
Сборка mxsldr
По последней ссылке использовал предпоследний раздел “Сборка mxsldr”, предварительно установив libusb-1.0 (все инструкции в описании есть).
Ничего в память контроллера не копировал. Файл wb5_usbfw.sb лежал рядом с mxsldr на компьютере с линуксом, к которому подключен контроллер. Файл прошивки *.img в любом удобном месте, откуда и выполняется команда dd.
Не забудьте снять перемычку (либо отпустить кнопку).
Проверьте как система подхватила память контроллера. /sdb, либо /sdd, либо ещё как-то.
В общем, делал по шагам всё, как описано в инструкции.
Правда, последняя прошивка у меня почему-то не встала, о чём писал выше, но смог залить предпоследнюю.
Обратите внимание на соответствие прошивки и ревизии контроллера, что подвело меня, о чём писал EvgenyBoger Ссылка на сообщение

Добрый день,
Так же столкнулся с проблемой обновления прошивки.
WB5 r.3
После обновления перестал грузиться, в Debug UART циклично пишет -

HTLLCmxs_mem_init(): before_init_clock
mxs_mem_init(): after_init_clock
mxs_mem_init(): after_vdda_clock
LLC

U-Boot 2015.07-02340-g1163771-dirty (Nov 02 2015 - 22:13:52 +0300)

CPU: Freescale i.MX28 rev1.2 at 454 MHz
BOOT: SSP SD/MMC #0, 3V3
SPI: ready
DRAM: 128 MiB
MMC: MXS MMC: 0
MMC0: Command 8 timeout (status 0xf0384020)
MMC0: Command 55 timeout (status 0xf0284020)
Video: MXSFB: ‘videomode’ variable not set!
In: serial
Out: serial
Err: serial
Net: FEC0, FEC1
Warning: FEC1 using MAC address from net device

Hit any key to stop autoboot: 0
MMC0: Command 8 timeout (status 0xf0384020)
MMC0: Command 55 timeout (status 0xf0284020)
switch to partitions #0, OK
mmc0(part 0) is current device
MMC0: Command 8 timeout (status 0xf0384020)
MMC0: Command 55 timeout (status 0xf0284020)
SD/MMC found on device 0
** File not found /boot/uEnv.txt **
Checking if uenvcmd is set …
Running default loadzimage …
3439808 bytes read in 1412 ms (2.3 MiB/s)
12181 bytes read in 466 ms (25.4 KiB/s)
Booting from mmc …
Kernel image @ 0x42000000 [ 0x000000 - 0x347cc0 ]

Flattened Device Tree blob at 41000000

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

Starting kernel …

Причем в независимости стоит перемычка FW или нет, в консоль летит одно и тоже.

Пытаюсь перепрошить, делаю по инструкции, ставлю перемычку, подключаю к компьютеру,
где в лог летит -

Aug 24 18:47:01 localhost kernel: usb 1-1: new full-speed USB device number 8 using ohci-pci
Aug 24 18:47:01 localhost kernel: usb 1-1: New USB device found, idVendor=15a2, idProduct=004f
Aug 24 18:47:01 localhost kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 24 18:47:01 localhost kernel: usb 1-1: Product: ROM Recovery
Aug 24 18:47:01 localhost kernel: usb 1-1: Manufacturer: Freescale,Inc.
Aug 24 18:47:01 localhost kernel: hid-generic 0003:15A2:004F.0007: hiddev0,hidraw0: USB HID v1.10 Device [Freescale,Inc. ROM Recovery] on usb-0000:00:06.0-1/input0

При этом контроллер еще выключен.

Включаю питание контроллера в лог ничего не пишет.

Далее -

./mxsldr wb5_usbfw.sb

Detected: i.MX28
Chip ID: 0x2800
Chip Revision: 0x0001
ROM Version: 0x0101
Protocol Version: 0x0100

И тишина… Светодиод не моргает (как и не моргал) в системный лог ничего не пишет.

Пробовал на разных компьютерах с разными дистрибутивами (Debian,CentOS)

Какие могут быть причины или же в какую сторону копать?

что это значит? опишите пожалуйста что конкретно вы делали

Можете подключить отладочную консоль (Debug UART, подробнее у нас в вики) и посмотреть, что там происходит?

Обновлялся стандартным apt-get upgrade.

Отладочная консоль подключена, и в независимости от того стоит перемычка FW или нет, в нее циклично сыпится -
HTLLCmxs_mem_init(): before_init_clock
mxs_mem_init(): after_init_clock
mxs_mem_init(): after_vdda_clock
LLC

U-Boot 2015.07-02340-g1163771-dirty (Nov 02 2015 - 22:13:52 +0300)

CPU: Freescale i.MX28 rev1.2 at 454 MHz
BOOT: SSP SD/MMC #0, 3V3
SPI: ready
DRAM: 128 MiB
MMC: MXS MMC: 0
MMC0: Command 8 timeout (status 0xf03c4020)
MMC0: Command 55 timeout (status 0xf02c4020)
Video: MXSFB: ‘videomode’ variable not set!
In: serial
Out: serial
Err: serial
Net: FEC0, FEC1
Warning: FEC1 using MAC address from net device

Hit any key to stop autoboot: 0
MMC0: Command 8 timeout (status 0xf03c4020)
MMC0: Command 55 timeout (status 0xf02c4020)
switch to partitions #0, OK
mmc0(part 0) is current device
MMC0: Command 8 timeout (status 0xf03c4020)
MMC0: Command 55 timeout (status 0xf02c4020)
SD/MMC found on device 0
** File not found /boot/uEnv.txt **
Checking if uenvcmd is set …
Running default loadzimage …
3439808 bytes read in 1412 ms (2.3 MiB/s)
12181 bytes read in 466 ms (25.4 KiB/s)
Booting from mmc …
Kernel image @ 0x42000000 [ 0x000000 - 0x347cc0 ]

Flattened Device Tree blob at 41000000

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

Starting kernel …

При подключении USB кабеля в консоль сразу тишина

Нет, давайте по порядку.

  1. Выключите устройство
  2. поставьте перемычку
  3. подключите по USB
  4. подключите питание
  5. запустите mxsldr

покажите вывод консоли (целиком) и вывод mxsldr (целиком), желательно с комментариями, чтобы понять как они по времени относительно друг друга расположены.

Поведение устройство не в момент прошивки вообще никакой информации не несёт, нет смысла сюда копипастить логи. Если вы не запустили mxsldr или не подключили кабель в режиме прошивки, устройство пытается грузится с внутренней флешки.

Давайте по порядку

  1. Выключил устройство
  2. Поставил перемычку
    В это время Debug UART подключен.
  3. Подключаю USB кабель.
    На устройстве загорелся красный светодиод в районе WiFi антены.
    В DebugURT тишина, в системный лог Linux машины -

Aug 26 14:57:51 localhost kernel: usb 1-1: new full-speed USB device number 11 using ohci-pci
Aug 26 14:57:52 localhost kernel: usb 1-1: New USB device found, idVendor=15a2, idProduct=004f
Aug 26 14:57:52 localhost kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 26 14:57:52 localhost kernel: usb 1-1: Product: ROM Recovery
Aug 26 14:57:52 localhost kernel: usb 1-1: Manufacturer: Freescale,Inc.
Aug 26 14:57:52 localhost kernel: hid-generic 0003:15A2:004F.000A: hiddev0,hidraw0: USB HID v1.10 Device [Freescale,Inc. ROM Recovery] on usb-0000:00:06.0-1/input0

  1. Включаю питания
    В DebugURT и системном логе тишина

  2. Запускаю mxsldr

./mxsldr wb5_usbfw.sb
Detected: i.MX28
Chip ID: 0x2800
Chip Revision: 0x0001
ROM Version: 0x0101
Protocol Version: 0x0100

В DebugURT и системном логе тишина.
На этом все, зеленый светодиод не загорается.

Он у вас вообще совсем не горит?
Вообще он должен загораться как только вы втыкаете питание. С питанием точно всё хорошо?

Ещё я бы рекомендовал убедиться, что у вас качественный usb-microusb кабель.

Для остальных пользователей, читающий этот топик. Восстановление через USB требует особых навыков, сложное и вообще не рекомендуется. Не надо доводить контроллер до такого состояния, когда это требуется. Не надо делать действия, которые вы не понимаете. Не надо пытаться переписать прошивку “просто так”.

Пожалуйста пользуйтесь обновлением прошивки через веб-интерфейс.

Я всё делал по инструкции, возможно, не совсем корректно выразился просто.
Однако момент с названием раздела действительно мне не до конца понятен.
Сейчас я вижу такой вывод dmesg | tail:

[ 456.140070] usb-storage 2-3:1.0: Quirks match for vid 0525 pid a4a5: 10000
[ 456.140164] scsi host5: usb-storage 2-3:1.0
[ 457.139673] scsi 5:0:0:0: Direct-Access Linux File-Stor Gadget 0401 PQ: 0 ANSI: 2
[ 457.140052] sd 5:0:0:0: Attached scsi generic sg3 type 0
[ 457.146570] sd 5:0:0:0: [sdc] 7733248 512-byte logical blocks: (3.96 GB/3.69 GiB)
[ 457.254328] sd 5:0:0:0: [sdc] Write Protect is off
[ 457.254336] sd 5:0:0:0: [sdc] Mode Sense: 0f 00 00 00
[ 457.364334] sd 5:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 457.590906] sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 >
[ 457.924415] sd 5:0:0:0: [sdc] Attached SCSI disk

Это означает что в dd параметр of=/dev/sdc?

Да, всё правильно

1 лайк

Спасибо, всё получилось.
Думал, что образ пишется не на весь накопитель, а только в системный раздел.