Hi,
I've seen a number of people having problems with the USB host port
(EHCI) on
the Rev C beagleboards. I seem to be having the same problem and
after a few
days of random lockups, I found I can easily reproduce it by reading
data
from a USB disk with dd. After a few seconds of I/O I get the
following:
beagleboard login: root
root@beagleboard:~# dd if=/dev/sda bs=1M > /dev/null
hub 1-0:1.0: port 2 disabled by hub (EMI?), re-enabling...
usb 1-2: USB disconnect, address 2
sd 0:0:0:0: [sda] Result: hostbyte=0x07 driverbyte=0x00
end_request: I/O error, dev sda, sector 647152
__ratelimit: 3 callbacks suppressed
Buffer I/O error on device sda, logical block 80894
Buffer I/O error on device sda, logical block 80895
sd 0:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
end_request: I/O error, dev sda, sector 647168
Buffer I/O error on device sda, logical block 80896
Buffer I/O error on device sda, logical block 80897
Buffer I/O error on device sda, logical block 80898
Buffer I/O error on device sda, logical block 80899
Buffer I/O error on device sda, logical block 80900
Buffer I/O error on device sda, logical block 80901
Buffer I/O error on device sda, logical block 80902
Buffer I/O error on device sda, logical block 80903
sd 0:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
end_request: I/O error, dev sda, sector 647408
dd: /dev/sda: Input/output error
root@beagleboard:~#
And the usb devices are dead from then on - unplugging and re-plugging
aren't
noticed, lsusb locks up or just reports the two (EHCI & MUSB) root
hubs.
This happens with 2 USB disks: a 250Gb hard disk and a 4Gb flash
drive.
The same happens with every kernel I've tried - the angstrom demos,
the Rev C
validation images, the ones from http://www.rcn-ee.com/deb/kernel/ and
ones
I've built myself from the OpenEmbedded patches. (2.6.28 and 2.6.29).
I've also updated u-boot from 2009.01-dirty (as supplied) to 2009.03.
I've tried with a couple of power supplies, USB power and also with
several
hubs (and no hub).
Is there anything else I can try to fix this?
Thanks
Rob