Skip to contentSkip to conversation

Problem with uhci and usb-uhci

DISCUSSION Øystein Svendsen 2 participants 5 messages Jan 4, 2003 – Jan 6, 2003

lore
Share & tools
lore
#0 lore raw

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 : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 4
model name : AMD Athlon(tm) processor
stepping : 4
cpu MHz : 1401.734
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_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 
#1 lore raw

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/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 : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 4
model name : AMD Athlon(tm) processor
stepping : 4
cpu MHz : 1401.734
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_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 
#2 lore raw
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 
#3 lore raw
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.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.

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

#4 lore raw
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