Welcome! Log In Create A New Profile


[solved] Troubleshoot booting Zyxel NSA310s (netconsole)

Posted by wilbert-vb 
[solved] Troubleshoot booting Zyxel NSA310s (netconsole)
July 21, 2016 09:22AM
The device boots with success from a 2TB mbr disk.

After recreating the GPT table on the 3TB, it appears that my problems are solved.
(I had mucked with the old GPT, hoping that stock uboot would support hybrid MBR)

Hello All,

- Zyxel nsa310s
- SATA disk is 3TB gpt with rootfs

Yesterday I flashed with success uboot.2016.05-tld-1.nsa310s.mtd0.kwb and uboot.2016.05-tld-1.environment.img.
I have modified the fw_env following the instructions (except I forgot to add the dtb_file variable).
Netconsole is working.

Last night booting from hard disk resulted in a red LED and today I try to boot from USB (Debian-4.4.0-kirkwood-tld-1-rootfs-bodhi).

* If I don't append the dtb file to the uImage, the result is a red LED (dtb_file set in /boot/uEnv.txt).
* if I do append the dtb file to the uImage, the result is a flashing green LED (dtb_file removed from /boot/uEnv.txt).

Either way, the nsa310s does not get a DHCP lease.
I notice that the rootfs filesystem on USB is modified (fcsk).

Following both netconsole output:and /boot/uEnv.txt

Please help me solve my boot problem,

U-Boot 2016.05-tld-1 (Jun 12 2016 - 13:55:45 -0700)
ZyXEL NSA310S/320S 1/2-Bay Power Media Server
gcc (Debian 4.9.2-10) 4.9.2
GNU ld (GNU Binutils for Debian) 2.25
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...
Use USB retry period from the environment: 15 second(s)
1 Storage Device(s) found

Reset IDE: Bus 0: OK Bus 1: not available
  Device 0: Model: WDC WD30EFRX-68EUZN0 Firm: 82.00A82 Ser#:  WD-WCC4N0PU0NUT
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 2861588.4 MB = 2794.5 GB (5860533168 x 512)
Unknown command 'mmc' - try 'help'

Partition Map for USB device 0  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
  1     2048            10485760        9ba9918d-01     83
loading envs from usb 0 ...
3033 bytes read in 278 ms (9.8 KiB/s)

Partition Map for IDE device 0  --   Partition Type: EFI

Part    Start LBA       End LBA         Name
        Type GUID
        Partition GUID
  1     0x00000800      0x00a327ff      "Linux filesystem"
        attrs:  0x0000000000000000
        type:   0fc63daf-8483-4772-8e79-3d69d8477de4
        guid:   43db0e8e-884d-4144-8050-0a67351187cb
  2     0x00a32800      0x00b327ff      "Linux swap"
        attrs:  0x0000000000000000
        type:   0657fd6d-a4ab-43c4-84e5-0933c84b4f4f
        guid:   87749c3f-1b3e-4b77-8c03-52128d16e08d
  3     0x00b32800      0x15d50a38e     "Linux filesystem"
        attrs:  0x0000000000000000
        type:   0fc63daf-8483-4772-8e79-3d69d8477de4
        guid:   c2e9eef8-969c-4937-b28a-85e41f372e43
loading envs from ide 0 ...
3074 bytes read in 42 ms (71.3 KiB/s)
Unknown command 'mmc' - try 'help'
importing envs ...


bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi; sleep 3
devices=usb ide mmc
disks=0 1 2 3
if_netconsole=ping $serverip
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
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
preboot=run preboot_nc
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 $load_uimage_addr /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
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
uenv_import=echo importing envs ...; env import -t $uenv_addr $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_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
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi

Edited 3 time(s). Last edit at 07/21/2016 10:58AM by wilbert-vb.

Your Email:


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.