On Sunday 17 September 2006 9:59 pm, Aras Vaichas wrote: > I'm using an at91rm9200 with Linux 2.6.16. Under some unusual circumstances, I > can create a failure.
Can you reproduce this with 2.6.18-rc7? That newer driver code may be usable as a straight backport. > 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 ... forcing it to bypass the direct route in the IP stack? > * 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 Hmm, a no-symbols stack trace is not at all useful. But it does seem like this is another case where the usbcore cleanup after a hardware fault ("Unrecoverable Error" = UE) is broken. Normally a UE indicates some sort of DMA error, which you should of course not be seeing, ever. A better problem report would include not just kernel symbols, but also CONFIG_USB_DEBUG would be set so that some potentially-useful data would be syslogged. > 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. Yes, odd. :) - Dave > 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 > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel