Welcome! Log In Create A New Profile

Advanced

USB Booting (EHCI timed out on TD)

Posted by Dannii 
USB Booting (EHCI timed out on TD)
August 03, 2015 06:30AM
Been trying to find a solution since I compiled netatalk (what a mission!) and plugged in 3 other USB's. There's actually about 6 partitions on two of the drives and 3 on the other, 1 on my rootfs.

Can anyone offer some help? It does boot but it takes longer due to scanning the drives and knowing my luck I'm expecting it to mess up!

The last thing I changed was:
fw_setenv usb_init "run usb_scan ; setenv usb_root LABEL=rootfs"

Netconsole:
U-Boot 2014.07-tld-2 (Sep 20 2014 - 00:52:18)
Pogo E02
gcc (Debian 4.6.3-14) 4.6.3
GNU ld (GNU Binutils for Debian) 2.22
Hit any key to stop autoboot:   0 
PogoE02>  p r i n t e n v 
arcNumber=3542
baudrate=115200
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
bootdelay=10
console=ttyS0,115200
ethact=egiga0
ethaddr=00:25:31:00:60:EF
force_rescue=0
force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1 0x1700000 /rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1; then run rescue_bootcmd; fi
if_netconsole=ping $serverip
ipaddr=192.168.0.15
led_error=orange blinking
led_exit=green off
led_init=green blinking
machid=dd6
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
ncip=192.168.0.16
partition=nand0,2
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
preboot=run if_netconsole start_netconsole
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
rescue_bootcmd=if test $rescue_installed -eq 1; then run rescue_set_bootargs; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000; else run pogo_bootcmd; fi
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
serverip=192.168.0.16
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=nc
stdin=nc
stdout=nc
ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount rootfs && ubifsload 0x800000 /boot/uImage && ubifsload 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; fi
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_device=0:1
usb_init=run usb_scan ; setenv usb_root LABEL=rootfs
usb_root=/dev/sda1
usb_rootdelay=10
usb_rootfstype=ext3
usb_scan=usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done
usb_scan_1=usb=0:1 dev=sda1
usb_scan_2=usb=1:1 dev=sdb1
usb_scan_3=usb=2:1 dev=sdc1
usb_scan_4=usb=3:1 dev=sdd1
usb_scan_list=1 2 3 4
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts init=/bin/systemd $usb_custom_params

Environment size: 2843/131068 bytes
PogoE02>  b o o t 
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 7 USB Device(s) found
       scanning usb for storage devices... EHCI timed out on TD - token=0x82008d80
READ_CAP ERROR
EHCI timed out on TD - token=0x3c008d80
EHCI timed out on TD - token=0x3c008d80
EHCI timed out on TD - token=0x3c008d80
EHCI timed out on TD - token=0x3c008d80
EHCI timed out on TD - token=0x3c008d80
EHCI timed out on TD - token=0x3c008d80
max USB Storage Device reached: 5 stopping
5 Storage Device(s) found
** File not found /rescueme **
** Unrecognized filesystem type **
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: attached mtd1 to ubi0
UBI: MTD device name:            "mtd=3"
UBI: MTD device size:            91 MiB
UBI: number of good PEBs:        728
UBI: number of bad PEBs:         0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     0
UBI: available PEBs:             717
UBI: total number of reserved PEBs: 11
UBI: number of PEBs reserved for bad PEB handling: 7
UBI: max/mean erase counter: 1/1
UBIFS error (pid 0): ubifs_get_sb: cannot open "rootfs", error -22
UBIFS error (pid 0): ubifs_mount: Error reading superblock on volume 'rootfs' errno=-22!

ubifsmount - mount UBIFS volume

Usage:
ubifsmount <volume-name>
    - mount 'volume-name' volume
1 bytes read in 210 ms (0 Bytes/s)
Found bootable drive on usb 0:1
3092652 bytes read in 335 ms (8.8 MiB/s)
7129314 bytes read in 533 ms (12.8 MiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-4.1.0-kirkwood-tld-1
   Created:      2015-07-30  11:01:35 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3092588 Bytes = 2.9 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-4.1.0-kirkwood-tld-1
   Created:      2015-07-30  11:01:43 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    7129250 Bytes = 6.8 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK


Starting kernel ...

Thank you for your help :)
Dannii
Re: USB Booting (EHCI timed out on TD)
August 03, 2015 07:02AM
Also, is there a way to type "nano fstab" instead of "nano /etc/fstab", same with other files...isn't it a shortcut of symbolic link or something?

Thank you,
Dannii



Edited 2 time(s). Last edit at 08/03/2015 11:29AM by Dannii.
Re: USB Booting (EHCI timed out on TD)
August 03, 2015 03:45PM
Dannii,

It actually looks good, except for the "EHCI timed out on TD" error. Even with this error, it's OK, because your rootfs was not the one that timed out, and you can boot into Debian?

To help the USB drives to have more time, set this variable to 15 seconds. You might want to try longer periods until you stop seeing this EHCI timeout (It does not take the whole period for drives that can spin up faster).
fw_setenv usb_ready_retry 15

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Preacher
Re: USB Booting (EHCI timed out on TD)
June 30, 2016 03:13AM
Simular problem here.
I have Pogoplug V4 and booting Debian from top USB connector.
Meanwhile latest U-Boot with latest Envs installed, was the same with former U-Boot.

It works flawlessly with a cheap unbranded 4GB stick.
I wanted to have a larger and compact stick thats fits below Pogo's lid and so I bought "SanDisk Ultra Fit 64GB USB 3.0" which caused EHCI error on cold boot and Debian stopped with "bus error" when doing things like "apt-get upgrade". Bought another drive, "Leef LSG00WW064E4U 64GB" with has same issues.
An older Kingston "DTSE9H/16GB DataTraveler" also has EHCI timeout at cold boot, but works finde as soon as it is hot, that means 15 minutes operation and case temperature about 50°C.
The errors remain for minutes, sometimes I got the message that it loads Kernel but not initramfs, sometimes I got checksum errors.

So I guess the Pogo V4 is very sensitive to Stick type?
Can you advice me what to do best?

Thanks, Preacher
Re: USB Booting (EHCI timed out on TD)
June 30, 2016 05:37AM
Preacher Wrote:
-------------------------------------------------------
> Simular problem here.
> I have Pogoplug V4 and booting Debian from top USB
> connector.
> Meanwhile latest U-Boot with latest Envs
> installed, was the same with former U-Boot.
>
> It works flawlessly with a cheap unbranded 4GB
> stick.
> I wanted to have a larger and compact stick thats
> fits below Pogo's lid and so I bought "SanDisk
> Ultra Fit 64GB USB 3.0" which caused EHCI error on
> cold boot and Debian stopped with "bus error" when
> doing things like "apt-get upgrade". Bought
> another drive, "Leef LSG00WW064E4U 64GB" with has
> same issues.
> An older Kingston "DTSE9H/16GB DataTraveler" also
> has EHCI timeout at cold boot, but works finde as
> soon as it is hot, that means 15 minutes operation
> and case temperature about 50°C.
> The errors remain for minutes, sometimes I got the
> message that it loads Kernel but not initramfs,
> sometimes I got checksum errors.
>
> So I guess the Pogo V4 is very sensitive to Stick
> type?
> Can you advice me what to do best?
>
> Thanks, Preacher

Yes, Pogo V4 is sensitive to usb 3.0. Best to use Sandisk Cruzer FIT 2.0. It has low profile and 32GB should have no problem.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Preacher
Re: USB Booting (EHCI timed out on TD)
July 01, 2016 01:28AM
So the Cruzer FIT 2.0 is known working?
My Kingston and Leef are also 2.0 Sticks and cause troubles.
You mean the issues are related to Pogo's hardware and not a configuration topic on uBoot?
Re: USB Booting (EHCI timed out on TD)
July 01, 2016 02:13AM
Preacher Wrote:
-------------------------------------------------------
> So the Cruzer FIT 2.0 is known working?
> My Kingston and Leef are also 2.0 Sticks and cause
> troubles.
> You mean the issues are related to Pogo's hardware
> and not a configuration topic on uBoot?

Sandisk usb 2.0, any model is good for booting these plugs.

The Pogo v4 specifcally, has problem booting with Sandisk UltraFit 3.0 32GB or above (smaller 16GB or less seems OK when I tried).

True, it is not related to uboot config. The delay is what I've implemented to work around these known issues.

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



Edited 1 time(s). Last edit at 07/01/2016 02:18AM by bodhi.
Preacher
Re: USB Booting (EHCI timed out on TD)
July 03, 2016 03:41PM
Thanks a lot bodhi

in fourth attempt I finally made it, now I bougt the Cruzer Fit 32GB USB 2.0 and this one is working like a charm.

So for your compatibility list:
- Kingston DataTraveler 16GB (full metal case) USB 2.0: EHCI timeout at cold boot, no more problem when stick became hot (~10 minutes of operation)
- Leef Surge 64GB (small white) USB 2.0
boot behavior as Kingston, but bus error at heavy disk activity (upgrade)
- Sandisk Cruzer UltraFit 64GB USB 3.0
bus error as leef

So can I now shorten boot delay and timeout? Which commands for fw_setenv?
I found that the timeout didn't help with the problematic stick

Cheers, Preacher
Re: USB Booting (EHCI timed out on TD)
July 03, 2016 10:29PM
Preacher,

It is not necessary to adjust the timeout period to a shorter interval. This interval does not mean it will take that long to bring up the USB drive. It is the maximum.

And set bootdelay to 5 seconds or whatever you like.
fw_setenv bootdelay 5

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
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: