2003-01-04 23:32:47

by Øystein Svendsen

[permalink] [raw]
Subject: 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 : 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?

--
?ystein Svendsen


2003-01-04 23:40:26

by Johannes Erdfelt

[permalink] [raw]
Subject: Re: Problem with uhci and usb-uhci

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

On Sun, Jan 05, 2003, ?ystein Svendsen <[email protected]> wrote:
> 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?
>
> --
> ?ystein Svendsen
>

2003-01-05 00:02:48

by Øystein Svendsen

[permalink] [raw]
Subject: Re: Problem with uhci and usb-uhci

Johannes Erdfelt wrote:

>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.

>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.

--
?ystein Svendsen



2003-01-06 18:29:21

by Johannes Erdfelt

[permalink] [raw]
Subject: Re: Problem with uhci and usb-uhci

On Sun, Jan 05, 2003, ?ystein Svendsen <[email protected]> wrote:
> Johannes Erdfelt wrote:
>
> >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 :)

> >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

2003-01-06 22:26:39

by Øystein Svendsen

[permalink] [raw]
Subject: Re: Problem with uhci and usb-uhci

Johannes Erdfelt wrote:

>I assume you have UHCI hardware then. You would need OHCI hardware to
>use the OHCI driver :)
>
That was my suspicion.

>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.

--
?ystein Svendsen