I'm using an at91rm9200 with Linux 2.6.16. Under some unusual circumstances, I
can create a failure.

Here is what I do to create the failure:

* the device has both a USB device and a USB host port
* the device has its USB device port configured as an ethernet gadget (g_ether)
* connect the USB host port to the USB device port, "loopback" style
* ifconfig usb1 <some IP address>
* FTP into the device via ethernet
* send the list "ls" command a few times and I get a crash like so:

----- SNIP -----

/root # at91_ohci at91_ohci: OHCI Unrecoverable Error, disabled
at91_ohci at91_ohci: HC died; cleaning up
irq23: nobody cared

Pid: 322, comm:              in.ftpd
CPU: 0
pc : [<c0038af8>]    lr : [<c0038c80>]    Not tainted
sp : c1f97f44  ip : c1f97f68  fp : c1f97f64
r10: c1f97fb0  r9 : c01df4a0  r8 : c01e7040
r7 : 0000000a  r6 : c1f96000  r5 : c1f96000  r4 : 00000022
r3 : 20000013  r2 : 00000002  r1 : 00000001  r0 : 00000001
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: C000317F  Table: 2165C000  DAC: 00000015
Function entered at [<c001fc14>] from [<c001ea54>]
 r4 = C1F97EFC
Function entered at [<c001e9e8>] from [<c001ed74>]
 r5 = 00000017  r4 = C01DF94C
Function entered at [<c001ecf4>] from [<c001ee04>]
 r6 = 00000017  r5 = C1F96000  r4 = FFFFFFFF
Function entered at [<c001edb0>] from [<c001d998>]
Function entered at [<c0038ab4>] from [<c0038c80>]
 r8 = 00000000  r7 = 00000001  r6 = 00000001  r5 = C1F96000
 r4 = C1F96000
Function entered at [<c0038c3c>] from [<c001eed4>]
 r4 = FFFFFFFF
Function entered at [<c001edb0>] from [<c001dbac>]
handlers:
[<c01188a8>]
irq23: nobody cared

... repeats until the watchdog kicks in and resets the board

----- SNIP -----

The strange thing is that I can send files via FTP and change directories but
the problem doesn't appear. Only when I send the list command.

If I don't config usb1, the problem won't happen. i.e. "#config usb1 down"
stops the problem.

Is this an actual problem, or am I doing something really silly? I can easily
avoid the situation where this bug/problem/craziness occurs but I thought that
I'd at least report it.

Why am I doing this? It's for a Production test. A simple loopback cable allows
me to test the physical hardware of both USB ports by connecting only one cable
and looking for:
A) creation of directory /sys/class/net/usb1, and
B) if /sys/class/net/usb0/carrier == 1

We currently use another device as a portable USB port tester, but Production
would like it all self contained and to be field testable using an easy to
obtain cable with built-in test software.


regards,

Aras Vaichas

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to