Welcome! Log In Create A New Profile

Advanced

Netgear Stora: EHCI timed out on TD when loading uInitrd

Posted by tme 
tme
Netgear Stora: EHCI timed out on TD when loading uInitrd
May 08, 2017 07:41AM
Hi bodhi,

I have successfully installed the latest u-boot on my Netgear Stora, and have sucessfully booted debian 8 wheezy from a 2GB industrial grade USB stick from HGST. Thanks a lot for your effort and instructions!

However, repeating the same procedure using a 8GB commercial grade USB stick from Patriot, u-boot fails loading uInitrd. I find this rather strange since u-boot loads uImage (3166745 bytes) just fine immediately before failing to load uInitrd (7179935 bytes).

This is the complete boot sequense:
U-Boot 2016.05-tld-1 (Jun 12 2016 - 13:45:22 -0700)
Netgear-MS2110

SoC:   Kirkwood 88F6281_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
PHY reset timed out
88E1116 Initialized on egiga0
Hit any key to stop autoboot:  0 
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Reset IDE: ide_preinit failed

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

Part    Start Sector    Num Sectors     UUID            Type
  1     2048            15122432        b138172b-01     83
loading envs from usb 0 ...
** File not found /boot/uEnv.txt **

IDE device 0 not available
3166745 bytes read in 350 ms (8.6 MiB/s)
EHCI timed out on TD - token=0xd8d80
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x128d80
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x20008d80
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x128d80
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x20008d80
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x128d80
EHCI timed out on TD - token=0x80008d80
 ** ext4fs_devread read error - block
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-4.4.0-kirkwood-tld-1
   Created:      2017-05-08  11:15:07 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3166681 Bytes = 3 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

Uncompressing Linux...

As expected, without a root file system, the linux kernel panics:

[    3.639815] rtc-pcf8563 0-0051: setting system clock to 1970-01-02 00:39:42 UTC (88782)
[    3.650259] Waiting 5 sec before mounting root device...
[    8.664286] VFS: Cannot open root device "sda1" or unknown-block(0,0): error -19
[    8.671719] Please append a correct "root=" boot option; here are the available partitions:
[    8.680182] 1f00            1024 mtdblock0  (driver?)
[    8.685329] 1f01            4096 mtdblock1  (driver?)
[    8.690418] 1f02          257024 mtdblock2  (driver?)
[    8.695572] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    8.703882] CPU: 0 PID: 1 Comm: swapper Not tainted 4.4.0-kirkwood-tld-1 #1
[    8.710869] Hardware name: Marvell Kirkwood (Flattened Device Tree)
[    8.717203] [<c0016784>] (unwind_backtrace) from [<c00129f8>] (show_stack+0x10/0x14)
[    8.724991] [<c00129f8>] (show_stack) from [<c00c2200>] (panic+0x80/0x214)
[    8.731908] [<c00c2200>] (panic) from [<c07d9280>] (mount_block_root+0x204/0x24c)
[    8.739438] [<c07d9280>] (mount_block_root) from [<c07d93b4>] (mount_root+0xec/0x118)
[    8.747311] [<c07d93b4>] (mount_root) from [<c07d9504>] (prepare_namespace+0x124/0x184)
[    8.755359] [<c07d9504>] (prepare_namespace) from [<c07d8e9c>] (kernel_init_freeable+0x208/0x258)
[    8.764287] [<c07d8e9c>] (kernel_init_freeable) from [<c05b16b4>] (kernel_init+0x8/0xe4)
[    8.772427] [<c05b16b4>] (kernel_init) from [<c000f090>] (ret_from_fork+0x14/0x24)
[    8.780039] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[   84.803920] random: nonblocking pool is initialized

The u-boot environment is
Netgear Stora> printenv
arcNumber=2743
baudrate=115200
bootcmd=run bootcmd_uenv; run bootcmd_usb; reset
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=5
console=ttyS0,115200
device=0:1
ethact=egiga0
ethaddr=b6:d0:5e:0f:a1:17
led_error=orange blinking
led_exit=green off
led_init=green blinking
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1m(uboot),4m@1m(kernel),251m@5m(rootfs) rw
partition=nand0,2
rootdelay=5
rootfstype=ext2
set_bootargs_usb=setenv bootargs console=$console root=$usb_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
stderr=serial
stdin=serial
stdout=serial
uenv_import=echo importing envs ...; env import -t 0x810000
uenv_load=usb start; ide reset; setenv uenv_loaded 0; for devtype in usb ide; 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 0x810000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
uenv_read_disk=if $devtype part $disknum; then run uenv_read; fi
usb_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb 0:1 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb 0:1 0x1100000 /boot/uInitrd
usb_root=/dev/sda1

Environment size: 1436/131068 bytes

In addition to its larger capasity, the Patriot "Tabi Lifestyle Series" USB stick supports USB 3.0, but if compatibility was an issue u-boot should have failed on both the uImage and uInitrd images. Right?

With the 2 GB HGST stick, u-boot reports
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Reset IDE: ide_preinit failed

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

Part    Start Sector    Num Sectors     UUID            Type
  1     2048            3909632         00091483-01     83
loading envs from usb 0 ...
** File not found /boot/uEnv.txt **

IDE device 0 not available
3154896 bytes read in 349 ms (8.6 MiB/s)
7179935 bytes read in 426 ms (16.1 MiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-4.4.0-kirkwood-tld-1
   Created:      2016-02-19   5:55:25 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3154832 Bytes = 3 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-4.4.0-kirkwood-tld-1
   Created:      2016-02-19   7:33:04 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    7179871 Bytes = 6.8 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

So the messages "Reset IDE: ide_preinit failed", "** File not found /boot/uEnv.txt **" and "IDE device 0 not available" can safely be ignored, but this error message puzzels me a bit:
 ** ext4fs_devread read error - block

It is true that this stick was once been formatted with ext4, but it has then been formatted both as fat32 and now ext3. Does the current u-boot always load uInitrd using ext4fs_devread() or does this error mean that the ext4 signature is somehow "sticky" on the USB stick?

It seems I'm not the first to experience this. So should I go and get a new USB stick, or have I stumbled over a bug in u-boot?

Regards,
Trond Melen
Re: Netgear Stora: EHCI timed out on TD when loading uInitrd
May 08, 2017 11:36AM
Trond Melen,

This error is commonly seen with some low quality USB drive brands such as Patriot. That ext4fs_devread() is also one of the symptomps. IIRC, this error also occurs to drives that never been formatted as Ext4, but the wrong data were presented so that u-boot routine was executed.

I would use a different brand such as Sandisk, Kingston, Transcend (in this order of preferences), and then use the Pariot drive for data (but not for important data).

One observation: you are running the latest u-boot, but your u-boot envs are from older version. You might want to update the envs using uboot.2016.05-tld-1.environment.bodhi.tar.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
tme
Re: Netgear Stora: EHCI timed out on TD when loading uInitrd
May 12, 2017 01:49PM
Hi bodhi,

Thanks for following up, and thanks again for your effort and instructions!

I have now also successfully updated the default u-boot environment to the latest version. I'm happy to be able to add disks to the Netgear Stora NAS without having to worry about devices being renamed. Thanks!

I used the binaries included in your tar-ball U-Boot flashing utilities, but afterwards I realized that this can be avoided:
apt-get install -y u-boot-tools mtd-utils

Regards,
Trond Melen
Re: Netgear Stora: EHCI timed out on TD when loading uInitrd
May 12, 2017 02:35PM
Cool! glad you got it all working.

> I used the binaries included in your tar-ball [url
> =http://forum.doozan.com/read.php?3,27280]U-Boot f
> lashing utilities[/url], but afterwards I realized
> that this can be avoided:
>
> apt-get install -y u-boot-tools mtd-utils
>


Those binaries in the tarball are for the scenarios when users only want to update u-boot while inside stock OS (e.g. so they can boot Arch, Gentoo,... whatever distro). As you've figured out, these are also available from Debian-4.4.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2 rootfs.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 05/12/2017 03:24PM by bodhi.
Author:

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: