u-boot: EHCI timed out on TD

Bug #1165260 reported by Geoff Levand
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Arndale
Invalid
Undecided
Unassigned
Linaro U-Boot
Invalid
Undecided
Unassigned

Bug Description

When using tftp to load a file from the network these errors are seen:

 Waiting for Ethernet connection... done.
 Using asx0 device
 TFTP from server 192.168.10.10; our IP address is 192.168.10.60
 Filename 'arndale/boot/uImage'.
 Load address: 0x40007000
 Loading: EHCI timed out on TD - token=0x8008d80
 EHCI timed out on TD - token=0x8008d80
 EHCI timed out on TD - token=0x8008d80
 EHCI timed out on TD - token=0x8008d80
 ...

The errors continue endlessly. On some attempts it will be start the load after a few of these same error messages.

If I do a 'usb start' after boot then try the tftp load I get this:

Waiting for Ethernet connection... done.
Using asx0 device
TFTP from server 192.168.10.10; our IP address is 192.168.10.60
Filename 'arndale/boot/uImage'.
Load address: 0x40007000
Loading: EHCI timed out on TD - token=0x8008d80
EHCI timed out on TD - token=0x8008d80
T #################################################################
         #################################################################
         ###########################################################
done

I now use this bootcmd successfully, but it takes a long time to do the usb restart and the USB timeouts:

bootcmd=echo === arndale boot ===; usb start; sleep 1; tftp 0x40007000 arndale/boot/uImage; tftp 0x41f00000 arndale/boot/dtb; bootm 0x40007000 - 0x41f00000

-Geoff

Revision history for this message
Geoff Levand (geoff.levand) wrote :

Using commit 30dd996a40c7673258bd5743c0813230d92abc7c of git://git.linaro.org/boot/u-boot-linaro-stable.git.

-Geoff

Revision history for this message
Geoff Levand (geoff.levand) wrote :

Tried another arndale board and get the same results.
Connected the board directly to the host with an Ethernet cross cable and get the same results.
Tried this source mod and get the same results:

 -#define USB_TIMEOUT_MS(pipe) (usb_pipebulk(pipe) ? 5000 : 1000)
 +#define USB_TIMEOUT_MS(pipe) (usb_pipebulk(pipe) ? 10000 : 1000)

-Geoff

Revision history for this message
Fathi Boudra (fboudra) wrote : Re: [Bug 1165260] Re: u-boot: EHCI timed out on TD

I have't been able to reproduce the bug using our daily images (it
contains the latest Linaro U-Boot, the same that you used):

ARNDALE5250 # setenv serverip 192.168.1.1
ARNDALE5250 # setenv ipaddr 192.168.1.2
ARNDALE5250 # setenv pxefile_addr_r 0x50000000
ARNDALE5250 # setenv kernel_addr_r 0x40007000
ARNDALE5250 # setenv initrd_addr_r 0x41000000
ARNDALE5250 # setenv fdt_addr_r 0x41f00000
ARNDALE5250 # usb start
(Re)start USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 4 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 1 Ethernet Device(s) found
ARNDALE5250 # pxe get
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-02-76-2e-96-16-33
Waiting for Ethernet connection... done.
Using asx0 device
TFTP from server 192.168.1.1; our IP address is 192.168.1.2
Filename 'pxelinux.cfg/01-02-76-2e-96-16-33'.
Load address: 0x50000000
Loading: T #
done
Bytes transferred = 177 (b1 hex)
Config file found
ARNDALE5250 # pxe boot
1: pxe
missing environment variable: bootfile
Retrieving file: arndale/uImage
Waiting for Ethernet connection... done.
Using asx0 device
TFTP from server 192.168.1.1; our IP address is 192.168.1.2
Filename 'arndale/uImage'.
Load address: 0x40007000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         ####
done
Bytes transferred = 3868336 (3b06b0 hex)
append: root=/dev/mmcblk1p1 rw rootwait console=ttySAC2,115200n8 init --no-log
missing environment variable: bootfile
Retrieving file: arndale/exynos5250-arndale.dtb
Waiting for Ethernet connection... done.
Using asx0 device
TFTP from server 192.168.1.1; our IP address is 192.168.1.2
Filename 'arndale/exynos5250-arndale.dtb'.
Load address: 0x41f00000
Loading: T ##
done
Bytes transferred = 16501 (4075 hex)
## Booting kernel from Legacy Image at 40007000 ...
   Image Name: vmlinux
   Image Type: ARM Linux Kernel Image (uncompressed)
   Data Size: 3868272 Bytes = 3.7 MiB
   Load Address: 80008000
   Entry Point: 80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 41f00000
   Booting using the fdt blob at 0x41f00000
   Loading Kernel Image ... OK
OK
   Using Device Tree in place at 41f00000, end 41f07074

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Changed in u-boot-linaro:
status: New → Incomplete
Changed in arndale:
status: New → Incomplete
Changed in u-boot-linaro:
milestone: none → 13.04
Revision history for this message
Geoff Levand (geoff.levand) wrote :

I changed the switch between the host and the arndale board and the problem went away.

From a Linksys EG008W ver 3 gigabit switch to a Linksys BEFSR81 ver 2 100baseTX switch.

-Geoff

Fathi Boudra (fboudra)
Changed in u-boot-linaro:
status: Incomplete → Invalid
Changed in arndale:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.