Problem with uhci and usb-uhci
Hi,
Sorry to bother you, but I have found a problem with uhci/usb-uhci stuff in kernel 2.4.20, which I believe someone might want to look into.
Summary:
Using usb-midi and doing cat /dev/midi stalls both the uhci.o and usb-uhci.o, drivers.
Description:
I have a Terratec MK-249 USB MIDI keyboard and a Soundblaster Extigy, who are both recognised by the usb-midi driver.
It does not matter whether I connect the Extigy or the MIDI keyboard, the usb systems stalls (my usb mouse stops working) when I cat /dev/midi.
The usb system stalls both on modules uhci.o and usb-uhci.o.
When using uhci.o, I get this stuff in the log:
Jan 4 23:25:45 localhost kernel: usb-midi: Found MIDISTREAMING on dev 0a4d:008c, iface 1 Jan 4 23:25:45 localhost kernel: usb-midi: Found MIDIStreaming device corresponding to Release 1.00 of spec. Jan 4 23:25:45 localhost kernel: usb-midi: Found IN Jack 0x01 EMBEDDED Jan 4 23:25:45 localhost kernel: usb-midi: Found IN Jack 0x02 EXTERNAL Jan 4 23:25:45 localhost kernel: usb-midi: Found OUT Jack 0x03 EMBEDDED, 1 pins Jan 4 23:25:45 localhost kernel: usb-midi: Found OUT Jack 0x04 EXTERNAL, 1 pins Jan 4 23:25:45 localhost kernel: usb.c: ignoring set_interface for dev 5, iface 1, alt 0 Jan 4 23:25:45 localhost kernel: usb-midi: fetchString(2) Jan 4 23:25:45 localhost kernel: usb-midi: fetchString = 24 Jan 4 23:25:45 localhost kernel: usbmidi: found [ MK-249 USB MIDI keyboard ] (0x0a4d:0x008c), attached: Jan 4 23:25:45 localhost kernel: usbmidi: /dev/midi00: in (ep:81 cid: 0 bufsiz: 0) out (ep:02 cid: 0 bufsiz:64) Jan 4 23:25:45 localhost kernel: usb.c: midi driver claimed interface d801dc18 After cat /dev/midi: Jan 4 23:26:09 localhost kernel: uhci.c: uhci_result_interrupt/bulk() failed with status 500000 Jan 4 23:26:09 localhost kernel: [d70ad0c0] link (170ad092) element (1660e240) Jan 4 23:26:09 localhost kernel: 0: [d660e240] link (00000001) e3 IOC Stalled Babble Length=7ff MaxLen=7ff DT0 EndPt=1 Dev=5, PID=69(IN) (buf=00000000) Jan 4 23:26:09 localhost kernel:
And, when using usb-uhci.o (and after enabling usb-uhci-debug), I get this:
Jan 5 00:18:20 localhost kernel: usb-uhci.c: interrupt, status 3, frame# 1003 Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: usbcmd = 00c1 Maxp64 CF RS Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: usbstat = 0003 USBError USBINT Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: usbint = 000f Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: usbfrnum = (0)fac Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: flbaseadd = 05abd000 Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: sof = 40 Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: stat1 = 0495 PortEnabled PortConnected Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: stat2 = 0495 PortEnabled PortConnected
The usb stuff works fine after I reload the uhci/usb-uhci module.
Kernel:
Linux version 2.4.20-xfs (root@knotten) (gcc version 2.95.4 20011002 (Debian prerelease)) #4 Sat Jan 4 23:09:30 CET 2003.
No oopses or panics.
processor : 0vendor_id : AuthenticAMD
cpu family : 6
model : 4
model name : AMD Athlon(tm) processor
stepping : 4
cpu MHz : 1401.734
cache size : 256 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : no
fpu : yesfpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow
bogomips : 2798.38
lspci -vvv:
00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 16) (prog-if 00 [UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 5
Region 4: I/O ports at c800 [size=32]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 16) (prog-if 00 [UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 5
Region 4: I/O ports at cc00 [size=32]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Any ideas?
Signature · 1 line
Øystein Svendsen
Have you tried this with OHCI?
The error message for uhci.o atleast is returning back a babble error which will then stall the pipe.
A babble error is usually a driver or device issue.
JE
Quoted 107 lines · Øystein Svendsen
Hi,
Sorry to bother you, but I have found a problem with uhci/usb-uhci stuff in kernel 2.4.20, which I believe someone might want to look into.Summary:
Using usb-midi and doing cat/dev/midistalls both the uhci.o and usb-uhci.o, drivers.Description:
I have a Terratec MK-249 USB MIDI keyboard and a Soundblaster Extigy, who are both recognised by the usb-midi driver.It does not matter whether I connect the Extigy or the MIDI keyboard, the usb systems stalls (my usb mouse stops working) when I cat
/dev/midi.The usb system stalls both on modules uhci.o and usb-uhci.o.
When using uhci.o, I get this stuff in the log:
Jan 4 23:25:45 localhost kernel: usb-midi: Found MIDISTREAMING on dev 0a4d:008c, iface 1 Jan 4 23:25:45 localhost kernel: usb-midi: Found MIDIStreaming device corresponding to Release 1.00 of spec. Jan 4 23:25:45 localhost kernel: usb-midi: Found IN Jack 0x01 EMBEDDED Jan 4 23:25:45 localhost kernel: usb-midi: Found IN Jack 0x02 EXTERNAL Jan 4 23:25:45 localhost kernel: usb-midi: Found OUT Jack 0x03 EMBEDDED, 1 pins Jan 4 23:25:45 localhost kernel: usb-midi: Found OUT Jack 0x04 EXTERNAL, 1 pins Jan 4 23:25:45 localhost kernel: usb.c: ignoring set_interface for dev 5, iface 1, alt 0 Jan 4 23:25:45 localhost kernel: usb-midi: fetchString(2) Jan 4 23:25:45 localhost kernel: usb-midi: fetchString = 24 Jan 4 23:25:45 localhost kernel: usbmidi: found [ MK-249 USB MIDI keyboard ] (0x0a4d:0x008c), attached: Jan 4 23:25:45 localhost kernel: usbmidi: /dev/midi00: in (ep:81 cid: 0 bufsiz: 0) out (ep:02 cid: 0 bufsiz:64) Jan 4 23:25:45 localhost kernel: usb.c: midi driver claimed interface d801dc18 After cat /dev/midi: Jan 4 23:26:09 localhost kernel: uhci.c: uhci_result_interrupt/bulk() failed with status 500000 Jan 4 23:26:09 localhost kernel: [d70ad0c0] link (170ad092) element (1660e240) Jan 4 23:26:09 localhost kernel: 0: [d660e240] link (00000001) e3 IOC Stalled Babble Length=7ff MaxLen=7ff DT0 EndPt=1 Dev=5, PID=69(IN) (buf=00000000) Jan 4 23:26:09 localhost kernel:And, when using usb-uhci.o (and after enabling usb-uhci-debug), I get this:
Jan 5 00:18:20 localhost kernel: usb-uhci.c: interrupt, status 3, frame# 1003 Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: usbcmd = 00c1 Maxp64 CF RS Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: usbstat = 0003 USBError USBINT Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: usbint = 000f Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: usbfrnum = (0)fac Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: flbaseadd = 05abd000 Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: sof = 40 Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: stat1 = 0495 PortEnabled PortConnected Jan 5 00:18:20 localhost kernel: usb-uhci-debug.h: stat2 = 0495 PortEnabled PortConnectedThe usb stuff works fine after I reload the uhci/usb-uhci module.
Kernel:
Linux version 2.4.20-xfs (root@knotten) (gcc version 2.95.4 20011002 (Debian prerelease)) #4 Sat Jan 4 23:09:30 CET 2003.No oopses or panics.
processor : 0
vendor_id: AuthenticAMD
cpu family : 6
model : 4
model name : AMD Athlon(tm) processor
stepping : 4
cpu MHz : 1401.734
cache size : 256 KBfdiv_bug: nohlt_bug: nof00f_bug: nocoma_bug: no
fpu : yesfpu_exception: yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow
bogomips : 2798.38lspci -vvv:
00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 16) (prog-if 00 [UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 5
Region 4: I/O ports at c800 [size=32]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mAPME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 16) (prog-if 00 [UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 5
Region 4: I/O ports at cc00 [size=32]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mAPME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-Any ideas?
Signature · 1 line
Øystein Svendsen
Quoted 2 lines · Johannes Erdfelt
Have you tried this with OHCI?
I am not able to load the OHCI driver on my system, so the answer is no. I guess my hardware is not compatible.
Quoted 6 lines
The error message for uhci.o atleast is returning back a babble error which will then stall the pipe.
A babble error is usually a driver or device issue.
I am not very familiar on how the USB stuff works, but I'll try to take a look on the usb-midi.c after I get some sleep. I was assuming there was trouble with the UHCI stuff because the USB bus seems to remain stalled even after i unplug the MIDI adapter from the USB bus.
Signature · 1 line
Øystein Svendsen
Quoted 6 lines · Øystein Svendsen
Quoted 1 line · Johannes Erdfelt
Have you tried this with OHCI?
I am not able to load the OHCI driver on my system, so the answer is no.
I guess my hardware is not compatible.
I assume you have UHCI hardware then. You would need OHCI hardware to use the OHCI driver :)
Quoted 9 lines
Quoted 4 lines
The error message for uhci.o atleast is returning back a babble error which will then stall the pipe.
A babble error is usually a driver or device issue.
I am not very familiar on how the USB stuff works, but I'll try to take a look on the
usb-midi.cafter I get some sleep. I was assuming there was trouble with the UHCI stuff because the USB bus seems to remain stalled even after i unplug the MIDI adapter from the USB bus.
The bus doesn't STALL, but there may have been a problem with the host controller.
For instance, some VIA controllers will lock up if it receives a BABBLE condition.
JE
Quoted 3 lines · Johannes Erdfelt
I assume you have UHCI hardware then. You would need OHCI hardware to use the OHCI driver :)
That was my suspicion.
Quoted 7 lines
The bus doesn't STALL, but there may have been a problem with the host controller.
For instance, some VIA controllers will lock up if it receives a BABBLE condition.
Ok. I did some looking into the usb and midi stuff, but it requires quite some work for me to find out what's happening here, so I guess that I will not get very far in the near future.
So I installed ALSA, and used the USB/MIDI stuff from within there, and everything works fine, it seems, at least with uhci.o.
So I guess there may be something with usb-midi which causes the problem.
Thanks for your reply, anyway.
Signature · 1 line
Øystein Svendsen