Welcome! Log In Create A New Profile

Advanced

Wrong U-boot Envs on Pogo Pro ?

Posted by herb7852 
Wrong U-boot Envs on Pogo Pro ?
December 31, 2017 04:49AM
Hi Folks,

As i tried to install LEDE into the flash of my POGO Pro, i messed up my Uboot ENvs and cannot boot into debian anymore. At the moment, i can only get access to my pogo via serial cable.

Her are the Logs
U-Boot SPL 2013.10-tld-4 (Sep 07 2014 - 14:10:12)
  Boot device: NAND
Attempting to set PLLA to 850 MHz ...
  plla_ctrl0 : 0000020a
  plla_ctrl1 : 00330000
  plla_ctrl2 : 0065008b
  plla_ctrl3 : 000000f1

PLLA Set


U-Boot 2015.10-tld-2 (Oct 21 2017 - 22:00:02 -0700)
OXNAS OX820

DRAM:  128 MiB
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   dwmac.40400000
dwmac.40400000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
dwmac.40400000: No link.
ping failed; host 192.168.0.2 is not alive
dwmac.40400000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
dwmac.40400000: No link.
ping failed; host 192.168.0.2 is not alive
dwmac.40400000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
dwmac.40400000: No link.
ping failed; host 192.168.0.2 is not alive
dwmac.40400000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
dwmac.40400000: No link.
ping failed; host 192.168.0.2 is not alive
dwmac.40400000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
dwmac.40400000: No link.
ping failed; host 192.168.0.2 is not alive
Hit any key to stop autoboot:  0
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
## Error: "dt_usb_bootcmd" not defined
stopping USB..
Trying to boot from NAND ...
UBI: attaching mtd1 to ubi0
UBI: scanning is finished
UBI: attached mtd1 (name "mtd=1", size 114 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512
UBI: VID header offset: 512 (aligned 512), data offset: 2048
UBI: good PEBs: 911, bad PEBs: 1, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 4/1, WL threshold: 4096, image sequence number: 352667282
UBI: available PEBs: 0, total reserved PEBs: 911, PEBs reserved for bad PEB handling: 19
Loading file '/boot/zImage' to addr 0x60500000 with size 1678672 (0x00199d50)...
Done
** File not found /boot/ox820-pogoplug-pro.dtb **
Unmounting UBIFS volume rootfs!
Booting from nand ...
Kernel image @ 0x60500000 [ 0x000000 - 0x199d50 ]
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
resetting ...

OX820> printenv
bootcmd=run dt_bootcmd_usb; run loadubi; reset
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm 0x60500000 0x60e00000 0x62c00000; else bootm 0x60500000 0x60e00000; fi; else if run load_dtb; then bootm 0x60500000 - 0x62c00000; else bootm 0x60500000; fi; fi
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
bootzubi=echo Booting from nand ...; run setargsubi; bootz ${loadaddr} - ${fdt_addr};
device=0:1
devices=usb ide
disks=0 1 2 3
dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop
dt_load_dtb=ext2load usb 0:1 $dtb_addr $fdt_file
dtb_file=/boot/dts/ox820-pogoplug-pro.dtb
ethact=dwmac.40400000
ethaddr=00:25:31:01:e4:d4
fdt_addr=0x62c00000
fdt_file=/boot/dts/ox820-pogoplug-pro.dtb
fdt_file_ubi=/boot/ox820-pogoplug-classic.dtb
if_netconsole=ping $serverip
ipaddr=192.168.0.199
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device 0x62c00000 $dtb_file
load_initrd=echo loading uInitrd ...; load $bootdev $device 0x60e00000 /boot/uInitrd
load_uimage=echo loading uImage ...; load $bootdev $device 0x60500000 /boot/uImage
loadaddr=0x60500000
loadubi=echo Trying to boot from NAND ...;if run mountubi; then run loadubizimage;run loadubifdt;ubifsumount;run bootzubi;fi
loadubifdt=ubifsload ${fdt_addr} ${fdt_file_ubi}
loadubizimage=ubifsload ${loadaddr} ${zimage}
mainlineLinux=yes
mountubi=ubi part data; ubifsmount ubi0:rootfs
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
nc_ready=0
pogo_bootcmd=run pogo_set_bootargs; nand read 0x2000000 0x100000 0x400000 ; bootm 0x2000000
pogo_set_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=jffs2 panic=10
preboot=run preboot_nc
preboot_nc=setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 0x60500000 /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
serverip=192.168.0.2
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
setargsubi=setenv bootargs console=ttyS0,115200n8 ubi.mtd=1 root=ubi0:rootfs rw rootfstype=ubifs rootwait ${mtdparts}
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_import=echo importing envs ...; env import -t 0x60510000  $filesize
uenv_init_devices=setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices;  do for disknum in 0; do run uenv_read_disk; done; done;
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x60500000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read;  fi; else if $devtype part $disknum; then run uenv_read; fi;  fi
usb_custom_params=zswap.enabled=1
usb_ready_retry=15
zimage=/boot/zImage

Environment size: 3666/131068 bytes

Does anybody have an idea, what i have to change in order to boot debian from my USB again?

THX!
Re: Wrong U-boot Envs on Pogo Pro ?
January 02, 2018 02:49AM
herb7852 Wrote:
-------------------------------------------------------
> Hi Folks,
>
> As i tried to install LEDE into the flash of my
> POGO Pro, i messed up my Uboot ENvs and cannot
> boot into debian anymore. At the moment, i can
> only get access to my pogo via serial cable.
>
> Her are the Logs
>
> U-Boot SPL 2013.10-tld-4 (Sep 07 2014 - 14:10:12)
>   Boot device: NAND
> Attempting to set PLLA to 850 MHz ...
>   plla_ctrl0 : 0000020a
>   plla_ctrl1 : 00330000
>   plla_ctrl2 : 0065008b
>   plla_ctrl3 : 000000f1
> 
> PLLA Set
> 
> 
> U-Boot 2015.10-tld-2 (Oct 21 2017 - 22:00:02
> -0700)
> OXNAS OX820
> 
> DRAM:  128 MiB
> NAND:  128 MiB
> In:    serial
> Out:   serial
> Err:   serial
> Net:   dwmac.40400000
> dwmac.40400000 Waiting for PHY auto negotiation to
> complete......... TIMEOUT !
> dwmac.40400000: No link.
> ping failed; host 192.168.0.2 is not alive
> dwmac.40400000 Waiting for PHY auto negotiation to
> complete......... TIMEOUT !
> dwmac.40400000: No link.
> ping failed; host 192.168.0.2 is not alive
> dwmac.40400000 Waiting for PHY auto negotiation to
> complete......... TIMEOUT !
> dwmac.40400000: No link.
> ping failed; host 192.168.0.2 is not alive
> dwmac.40400000 Waiting for PHY auto negotiation to
> complete......... TIMEOUT !
> dwmac.40400000: No link.
> ping failed; host 192.168.0.2 is not alive
> dwmac.40400000 Waiting for PHY auto negotiation to
> complete......... TIMEOUT !
> dwmac.40400000: No link.
> ping failed; host 192.168.0.2 is not alive
> Hit any key to stop autoboot:  0
> starting USB...
> USB0:   USB EHCI 1.00
> scanning bus 0 for devices... 3 USB Device(s)
> found
>        scanning usb for storage devices... 1
> Storage Device(s) found
> ## Error: "dt_usb_bootcmd" not defined
> stopping USB..
> Trying to boot from NAND ...
> UBI: attaching mtd1 to ubi0
> UBI: scanning is finished
> UBI: attached mtd1 (name "mtd=1", size 114 MiB) to
> ubi0
> UBI: PEB size: 131072 bytes (128 KiB), LEB size:
> 129024 bytes
> UBI: min./max. I/O unit sizes: 2048/2048, sub-page
> size 512
> UBI: VID header offset: 512 (aligned 512), data
> offset: 2048
> UBI: good PEBs: 911, bad PEBs: 1, corrupted PEBs:
> 0
> UBI: user volume: 1, internal volumes: 1, max.
> volumes count: 128
> UBI: max/mean erase counter: 4/1, WL threshold:
> 4096, image sequence number: 352667282
> UBI: available PEBs: 0, total reserved PEBs: 911,
> PEBs reserved for bad PEB handling: 19
> Loading file '/boot/zImage' to addr 0x60500000
> with size 1678672 (0x00199d50)...
> Done
> ** File not found /boot/ox820-pogoplug-pro.dtb **
> Unmounting UBIFS volume rootfs!
> Booting from nand ...
> Kernel image @ 0x60500000 [ 0x000000 - 0x199d50 ]
> ERROR: Did not find a cmdline Flattened Device
> Tree
> Could not find a valid device tree
> resetting ...
>
>
>
> OX820> printenv
> bootcmd=run dt_bootcmd_usb; run loadubi; reset
> bootcmd_exec=run load_uimage; if run load_initrd;
> then if run load_dtb; then bootm 0x60500000
> 0x60e00000 0x62c00000; else bootm 0x60500000
> 0x60e00000; fi; else if run load_dtb; then bootm
> 0x60500000 - 0x62c00000; else bootm 0x60500000;
> fi; fi
> bootcmd_uenv=run uenv_load; if test $uenv_loaded
> -eq 1; then run uenv_import; fi
> bootdelay=10
> bootdev=usb
> bootzubi=echo Booting from nand ...; run
> setargsubi; bootz ${loadaddr} - ${fdt_addr};
> device=0:1
> devices=usb ide
> disks=0 1 2 3
> dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb
> stop
> dt_load_dtb=ext2load usb 0:1 $dtb_addr $fdt_file
> dtb_file=/boot/dts/ox820-pogoplug-pro.dtb
> ethact=dwmac.40400000
> ethaddr=00:25:31:01:e4:d4
> fdt_addr=0x62c00000
> fdt_file=/boot/dts/ox820-pogoplug-pro.dtb
> fdt_file_ubi=/boot/ox820-pogoplug-classic.dtb
> if_netconsole=ping $serverip
> ipaddr=192.168.0.199
> load_dtb=echo loading DTB $dtb_file ...; load
> $bootdev $device 0x62c00000 $dtb_file
> load_initrd=echo loading uInitrd ...; load
> $bootdev $device 0x60e00000 /boot/uInitrd
> load_uimage=echo loading uImage ...; load $bootdev
> $device 0x60500000 /boot/uImage
> loadaddr=0x60500000
> loadubi=echo Trying to boot from NAND ...;if run
> mountubi; then run loadubizimage;run
> loadubifdt;ubifsumount;run bootzubi;fi
> loadubifdt=ubifsload ${fdt_addr} ${fdt_file_ubi}
> loadubizimage=ubifsload ${loadaddr} ${zimage}
> mainlineLinux=yes
> mountubi=ubi part data; ubifsmount ubi0:rootfs
> mtdids=nand0=41000000.nand
> mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
> nc_ready=0
> pogo_bootcmd=run pogo_set_bootargs; nand read
> 0x2000000 0x100000 0x400000 ; bootm 0x2000000
> pogo_set_bootargs=setenv bootargs
> console=ttyS0,115200 root=/dev/mtdblock2
> rootfstype=jffs2 panic=10
> preboot=run preboot_nc
> preboot_nc=setenv nc_ready 0; for pingstat in 1 2
> 3 4 5; do; sleep 1; if run if_netconsole; then
> setenv nc_ready 1; fi; done; if test $nc_ready -eq
> 1; then run start_netconsole; fi
> scan_disk=echo running scan_disk ...; scan_done=0;
> setenv scan_usb "usb start";  setenv scan_ide "ide
> reset";  setenv scan_mmc "mmc rescan"; for dev in
> $devices; do if test $scan_done -eq 0; then echo
> Scan device $dev; run scan_$dev; for disknum in
> $disks; do if test $scan_done -eq 0; then echo
> device $dev $disknum:1; if load $dev $disknum:1
> 0x60500000 /boot/uImage 1; then scan_done=1; echo
> Found bootable drive on $dev $disknum; setenv
> device $disknum:1; setenv bootdev $dev; fi; fi;
> done; fi; done
> serverip=192.168.0.2
> set_bootargs=setenv bootargs console=ttyS0,115200
> root=LABEL=rootfs rootdelay=10 $mtdparts
> $custom_params
> setargsubi=setenv bootargs console=ttyS0,115200n8
> ubi.mtd=1 root=ubi0:rootfs rw rootfstype=ubifs
> rootwait ${mtdparts}
> start_netconsole=setenv ncip $serverip; setenv
> bootdelay 10; setenv stdin nc; setenv stdout nc;
> setenv stderr nc; version;
> stderr=serial
> stdin=serial
> stdout=serial
> uenv_import=echo importing envs ...; env import -t
> 0x60510000  $filesize
> uenv_init_devices=setenv init_usb "usb start"; 
> setenv init_ide "ide reset";  setenv init_mmc "mmc
> rescan"; for devtype in $devices; do run
> init_$devtype; done;
> uenv_load=run uenv_init_devices; setenv
> uenv_loaded 0; for devtype in $devices;  do for
> disknum in 0; do run uenv_read_disk; done; done;
> uenv_read=echo loading envs from $devtype $disknum
> ...; if load $devtype $disknum:1 0x60500000
> /boot/uEnv.txt; then setenv uenv_loaded 1; fi
> uenv_read_disk=if test $devtype -eq mmc; then if
> $devtype part; then run uenv_read;  fi; else if
> $devtype part $disknum; then run uenv_read; fi; 
> fi
> usb_custom_params=zswap.enabled=1
> usb_ready_retry=15
> zimage=/boot/zImage
> 
> Environment size: 3666/131068 bytes
>
>
> Does anybody have an idea, what i have to change
> in order to boot debian from my USB again?
>
> THX!


To get back to the good default set of envs, see in the uboot release thread:
https://forum.doozan.com/read.php?3,16017

Mount your rootfs on another Linux box. Assuming it was mounted at /media/sdb1,

cp -a uboot.2015.10-tld-2.ox820.environment /media/sdb1/boot/uEnv.txt
sync

And umount.

Plug it back to the Pogo, power up. Watch serial console to see boot progress. There is another command needed (you will need to enter in serial console).

Let's see the serial bootlog before we do that next step.

-bodhi
===========================
Forum Wiki
bodhi's corner



Edited 1 time(s). Last edit at 01/02/2018 02:53AM by bodhi.
Re: Wrong U-boot Envs on Pogo Pro ?
January 03, 2018 02:44PM
Hi Bodie,

Thx for ur help. One step closer at least. Here my new printenv:

OX820> printenv
autoload=no
baudrate=115200
bootargs=console ttyS0,115200n8
bootcmd=run dt_bootcmd_usb
bootdelay=10
console=console ttyS0,115200n8
dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop; reset
dt_bootm=bootm $uimage_addr $uinitrd_addr $dtb_addr
dt_load_dtb=ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb
dt_load_initrd=ext2load usb 0:1 $uinitrd_addr /boot/uInitrd
dt_load_uimage=ext2load usb 0:1 $uimage_addr /boot/uImage
dt_usb_boot=run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm
dt_usb_bootcmd=run usb_set_bootargs; run dt_usb_boot
dtb_addr=0x62c00000
ethact=dwmac.40400000
ethaddr=00:25:31:01:e4:d4
if_netconsole=ping $serverip
ipaddr=192.168.0.199
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
preboot_nc=run if_netconsole start_netconsole
serverip=192.168.0.2
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uimage_addr=0x60500000
uinitrd_addr=0x60e00000
usb_device=0:1
usb_set_bootargs=setenv bootargs console ttyS0,115200 root /dev/sda1 rootdelay 10

Bootlog:
OX820> boot
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
4621824 bytes read in 448 ms (9.8 MiB/s)
4594376 bytes read in 407 ms (10.8 MiB/s)
7067 bytes read in 226 ms (30.3 KiB/s)
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-4.4.54-oxnas-tld-1
   Created:      2017-08-01   4:45:36 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4621760 Bytes = 4.4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
   Image Name:   initramfs-4.4.54-oxnas-tld-1
   Created:      2017-08-01   7:51:04 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4594312 Bytes = 4.4 MiB
   Load Address: 60000000
   Entry Point:  60000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 679c4000, end 67e25a88 ... OK
   Loading Device Tree to 679bf000, end 679c3b9a ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

What to do next?
Re: Wrong U-boot Envs on Pogo Pro ?
January 04, 2018 03:39AM
herb7852,

That was worse than before.

The envs should be like you had before:
https://forum.doozan.com/read.php?3,46764,46764#msg-46764

And then


Quote

To get back to the good default set of envs, see in the uboot release thread:
https://forum.doozan.com/read.php?3,16017

Mount your rootfs on another Linux box. Assuming it was mounted at /media/sdb1,

cp -a uboot.2015.10-tld-2.ox820.environment /media/sdb1/boot/uEnv.txt
sync

And umount.

Plug it back to the Pogo, power up. Watch serial console to see boot progress. There is another command needed (you will need to enter in serial console).

Let's see the serial bootlog before we do that next step.

-bodhi
===========================
Forum Wiki
bodhi's corner
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: