Контроллер WirenBoard 6.9 / Вечный reboot

Добрый день!

Как исправить проблему?


U-Boot SPL 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38)
DRAM init ok, rows:15, ncs:1, size: 512MB
.p0_mpdgctrl0 = 0x010c010c
.p0_mpdgctrl1 = 0x0e3f0e3f
.p0_mprddlctl = 0x3f3f3e40
.p0_mpwrdlctl = 0x3f3f3937
.p0_mpwldectrl0 = 0x00030005
.p0_mpwldectrl1 = 0x00060006
Trying to boot from MMC1
Warning - USDHC2 controller not supporting

U-Boot 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38 +0000)

CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 44C
Reset cause: WDOG
Model: Wiren Board rev. 6.1 (i.MX6UL)
Board: Wiren Board MX6UL
DRAM: 512 MiB
MMC: FSL_SDHC: 0
Using default environment

In: serial
Out: serial
Err: serial
Net: eth0: ethernet@02188000
Hit any key to stop autoboot: 0
Writing to MMC(0)… done

Info: input data size = 2 = 0x2

!!! No Wiren Board bootlib loaded, u-boot is corrupted
resetting …

U-Boot SPL 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38)
DRAM init ok, rows:15, ncs:1, size: 512MB
.p0_mpdgctrl0 = 0x010c010c
.p0_mpdgctrl1 = 0x0e3f0e3f
.p0_mprddlctl = 0x3f3f3e40
.p0_mpwrdlctl = 0x3f3f3937
.p0_mpwldectrl0 = 0x00030005
.p0_mpwldectrl1 = 0x00060006
Trying to boot from MMC1
Warning - USDHC2 controller not supporting

U-Boot 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38 +0000)

CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 44C
Reset cause: WDOG
Model: Wiren Board rev. 6.1 (i.MX6UL)
Board: Wiren Board MX6UL
DRAM: 512 MiB
MMC: FSL_SDHC: 0
Using default environment

In: serial
Out: serial
Err: serial
Net: eth0: ethernet@02188000
Hit any key to stop autoboot: 0
Writing to MMC(0)… done

Info: input data size = 2 = 0x2

!!! No Wiren Board bootlib loaded, u-boot is corrupted
resetting …

U-Boot SPL 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38)
DRAM init ok, rows:15, ncs:1, size: 512MB
.p0_mpdgctrl0 = 0x010c010c
.p0_mpdgctrl1 = 0x0e3f0e3f
.p0_mprddlctl = 0x3f3f3e40
.p0_mpwrdlctl = 0x3f3f3937
.p0_mpwldectrl0 = 0x00030005
.p0_mpwldectrl1 = 0x00060006
Trying to boot from MMC1
Warning - USDHC2 controller not supporting

U-Boot 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38 +0000)

CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 44C
Reset cause: WDOG
Model: Wiren Board rev. 6.1 (i.MX6UL)
Board: Wiren Board MX6UL
DRAM: 512 MiB
MMC: FSL_SDHC: 0
Using default environment

In: serial
Out: serial
Err: serial
Net: eth0: ethernet@02188000
Hit any key to stop autoboot: 1
U-Boot SPL 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38)
DRAM init ok, rows:15, ncs:1, size: 512MB
.p0_mpdgctrl0 = 0x010d010d
.p0_mpdgctrl1 = 0x0e3f0e3f
.p0_mprddlctl = 0x3f3f3f40
.p0_mpwrdlctl = 0x3f3f3837
.p0_mpwldectrl0 = 0x00030005
.p0_mpwldectrl1 = 0x00060006
Trying to boot from MMC1
Warning - USDHC2 controller not supporting

U-Boot 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38 +0000)

CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 42C
Reset cause: POR
Model: Wiren Board rev. 6.1 (i.MX6UL)
Board: Wiren Board MX6UL
DRAM: 512 MiB
MMC: FSL_SDHC: 0
Using default environment

In: serial
Out: serial
Err: serial
Net: No ethernet found.
Hit any key to stop autoboot: 0
Writing to MMC(0)… done
Warning: Bootlimit (3) exceeded. Using altbootcmd.
Switching to rootfs on partition 2
Saving Environment to MMC…
Writing to MMC(0)… done

Info: input data size = 2 = 0x2

!!! No Wiren Board bootlib loaded, u-boot is corrupted
resetting …

Добрый день.
Дайте пожалуйста больше подробностей - после каких действий началось подобное поведение?

Добрый день!

После apt update; apt upgrade

А сохранился ли лог обновления? Не было ли предупреждений, например?
Рекомендую, для начала показать вывод print из загрузчика.
Порядок действий: https://wirenboard.com/wiki/WB6_root_password_recoveryhttps://wirenboard.com/wiki/WB6_root_password_recovery , до второго пункта.
Ну и выполнить

env default -a; setenv mmcpart 3; saveenv; reset

Предложенная вами последовательность команд позволила сбросить настройки и параметры среды загрузчика (например, U-Boot).

  1. env default -a # Эта команда сбрасывает все параметры среды загрузчика (environment variables) к их значениям по умолчанию.
  2. setenv mmcpart 3 # Эта команда устанавливает переменную среды mmcpart со значением 3.
    mmcpart обычно указывает, с какого раздела (partition) на MMC-устройстве (например, SD-карта или встроенная флеш-память) будет производиться загрузка.
    Установив mmcpart 3, загрузчик будет ориентироваться на 3-й раздел для выполнения дальнейших операций.
  3. saveenv #Сохраняет текущие настройки среды загрузчика (включая изменения, сделанные предыдущими командами) в энергонезависимую память (например, флеш-память).
    Без сохранения изменения будут действовать только до следующей перезагрузки устройства.
  4. reset # Выполняет программный перезапуск устройства.

Спасибо. Вопрос помогли решить.

Ну отлично, рад.
Но, все ж интересно было б посмотреть на вывод print - а теперь уже поздно.

Проблема вернулась

U-Boot 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38 +0000)

CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 43C
Reset cause: WDOG
Model: Wiren Board rev. 6.1 (i.MX6UL)

U-Boot 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38 +0000)

CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 42C
Reset cause: POR
Model: Wiren Board rev. 6.1 (i.MX6UL)
Board: Wiren Board MX6UL
DRAM: 512 MiB
MMC: FSL_SDHC: 0
Using default environment

In: serial
Out: serial
Err: serial
Net: No ethernet found.
Hit any key to stop autoboot: 0
Writing to MMC(0)… done

Info: input data size = 2 = 0x2

!!! No Wiren Board bootlib loaded, u-boot is corrupted
resetting …

U-Boot SPL 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38)
DRAM init ok, rows:15, ncs:1, size: 512MB
.p0_mpdgctrl0 = 0x010c010c
.p0_mpdgctrl1 = 0x0e3f0e3f
.p0_mprddlctl = 0x3f3f3e3f
.p0_mpwrdlctl = 0x3f3f3937
.p0_mpwldectrl0 = 0x00030005
.p0_mpwldectrl1 = 0x00060006
Trying to boot from MMC1
Warning - USDHC2 controller not supporting

U-Boot 2017.03-wb1.3.0-g520058c326 (Jan 18 2022 - 10:56:38 +0000)

CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 43C
Reset cause: WDOG
Model: Wiren Board rev. 6.1 (i.MX6UL)
Board: Wiren Board MX6UL
DRAM: 512 MiB
MMC: FSL_SDHC: 0
Using default environment

In: serial
Out: serial
Err: serial
Net: eth0: ethernet@02188000
Hit any key to stop autoboot: 0
=> print
abortboot=1
addoverlay=if ${fdt_load_continue} && load mmc ${mmcdev}:${mmcpart} ${fdt_overlay_addr} ${fdt_overlays_dir}/${ovl}.dtbo; then echo Applying DT overlay ${ovl};if fdt apply ${fdt_overlay_addr}; then true; else echo Failed to apply overlay ${ovl};setenv fdt_load_continue false;fi;fi
altbootcmd=if test ${mmcpart} -eq 2; then echo Switching to rootfs on partition 3;setenv mmcpart 3;else; echo Switching to rootfs on partition 2;setenv mmcpart 2;fi;setenv bootcount 0;run safe_saveenv; boot
baudrate=115200
board_name=WB
board_rev=6UL
bootcmd=run distro_bootcmd
bootcount=2
bootdelay=1
bootenv=echo Importing environment from ${loadaddr}…; env import -t ${loadaddr} ${filesize};echo Checking if uenvcmd is set …;if test -n $uenvcmd; then echo Running uenvcmd …;run uenvcmd;fi;
bootlimit=3
bootrestore=echo Restoring minimal partition table and bootloader; setexpr RESTOREBOOT_SIZE *$bootrestore_size / 0x200 ; setexpr RESTOREBOOT_START *$bootrestore_start ; mmc write $RESTOREBOOT_START 2 $RESTOREBOOT_SIZE ; mw.l $bootrestore_flag 0 ; led red on ; echo Done! Now do a power cycle ; reset
bootrestore_flag=0x82fffffc
bootrestore_size=0x82fffff8
bootrestore_start=0x82fffff4
buzzer_init=true;
buzzer_off=mw.l 0x2080000 01c20000;;
buzzer_on=mw.l 0x2080000 01c20001;
clear_wb_webupd_flag=if test -n “${wb_webupd}”; then setenv wb_webupd “” ; run safe_saveenv ; setenv __wb_webupd 1 ; fi
console=ttymxc0,115200
distro_bootcmd=run clear_wb_webupd_flag; run load_wb_bootlib; if test -z “${__wb_bootlib_loaded}”; then echo !!! No Wiren Board bootlib loaded, u-boot is corrupted; reset; fi; mmc dev ${mmcdev};if mmc rescan; then echo eMMC found on device ${mmcdev} ;run maybe_enter_webupd_mode; run maybe_enter_update_mode || run maybe_native_sdupdate; run maybe_native_usbupdate;if run loadbootenv; then run bootenv; fi;echo Running default loadzimage …;if run loadzimage; then run loadfdt; run mmcboot; fi;fi
eth1addr=80:34:28:29:1c:c9
ethaddr=80:34:28:29:53:cc
fdt_addr=0x83000000
fdt_dir=/boot/dtbs
fdt_extra_overlay_offset=0x7e0
fdt_extra_overlay_size=0x20
fdt_file=/boot/dtbs/imx6ul-wirenboard61.dtb
fdt_maxsize=0x20000
fdt_overlay_addr=0x84000000
fdt_overlays_dir=/boot/overlays
fusecmd=echo Programming fuses …; fuse prog 0 5 0x4860; fuse prog 0 6 0x10
ip_dyn=yes
kernel_mmcdev=0
load_wb_bootlib=env import -b 9ffe41ae
loadaddr=0x82000000
loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/uEnv.txt
loadfdt=mmc read ${fdt_overlay_addr} ${fdt_extra_overlay_offset} ${fdt_extra_overlay_size};if fdt addr ${fdt_overlay_addr}; then setenv fdt_extra_overlay_addr ${fdt_overlay_addr};setexpr fdt_extra_overlay_size_bytes ${fdt_extra_overlay_size} * 0x200;setexpr fdt_overlay_addr ${fdt_overlay_addr} + ${fdt_extra_overlay_size_bytes};echo Reading overlays list from eMMC;fdt get value fdt_overlays /fragment/overlay overlays;echo Reading factory fdt name from eMMC;fdt get value fdt_name_factory /fragment/overlay factory-fdt;fi;run loadmainfdt;fdt addr ${fdt_addr} ${fdt_maxsize};setenv fdt_load_continue true;for ovl in ${fdt_overlays}; do run addoverlay;done;if ${fdt_load_continue} && test -n ${fdt_extra_overlay_addr}; then echo Applying extra overlay;if fdt apply ${fdt_extra_overlay_addr}; then true; else echo Failed to apply extra overlay;setenv fdt_load_continue false;fi;fi;if ${fdt_load_continue}; then true; else echo Some overlays are not applied, booting in failsafe;run loadmainfdt;fdt addr ${fdt_addr} ${fdt_maxsize};fdt set / wirenboard-boot-failsafe;fi;
loadmainfdt=if test -n ${fdt_file_override} && echo Loading fdt_file_override ${fdt_file_override} && load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file_override}; then true; else if test -n ${fdt_name_factory} && echo Loading factory fdt ${fdt_name_factory} && load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_dir}/${fdt_name_factory}.dtb;then true; else echo Loading fdt_file ${fdt_file};load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file};fi;fi;
loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/zImage
mmcargs=setenv optargs ${optargs} root=/dev/mmcblk${kernel_mmcdev}p${mmcpart} rootwait ro; run setbootargs
mmcboot=echo Booting from mmc …; run mmcargs; bootz ${loadaddr} - ${fdt_addr}
mmcdatapart=6
mmcdev=1
mmcpart=3
netargs=setenv optargs ${optargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp; run setbootargs
netboot=echo Booting from net …; run netargs; tftp zImage; if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else bootz; fi;
ramboot=if test -n “${fusecmd}”; then run fusecmd; fi;echo Booting kernel from RAM …; run setbootargs; bootz ${loadaddr} - ${fdt_addr};
read_button=gpio qi GPIO5_10
safe_saveenv=if test -n “${__wb_bootlib_loaded}”; then echo !!! Wiren Board bootlib is loaded, skipping saveenv; else saveenv; fi
setbootargs=setenv bootargs console=${console} ${optargs}
upgrade_available=1
usb_fw_dev=0:1
videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0

Environment size: 5109/8188 bytes