kern/122936: [ucom][ubsa] Device does not receive interrupt

Dominic Fandrey kamikaze at bsdforen.de
Sun Apr 20 17:50:02 UTC 2008


>Number:         122936
>Category:       kern
>Synopsis:       [ucom][ubsa] Device does not receive interrupt
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Apr 20 17:50:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Dominic Fandrey
>Release:        RELENG_7
>Organization:
private
>Environment:
FreeBSD mobileKamikaze.norad 7.0-STABLE FreeBSD 7.0-STABLE #0: Sat Apr 19 01:05:43 CEST 2008     root at mobileKamikaze.norad:/usr/obj/HP6510b/amd64/usr/src/sys/HP6510b  amd64

>Description:
I'm using a USB UMTS modem (Huawei Mobile Compact HSDPA USB Stick), which also attaches as a CD-drive (with the Windows drivers) and is an XD-card reader. When the ubsa module is loaded only the modem part is recognized, though. This doesn't matter in my case, because the modem part is all I care about. The following snippet from messages will demonstrate my problem:

Apr 20 19:00:33 mobileKamikaze root: Unknown USB device: vendor 0x12d1 product 0x1001 bus uhub3
Apr 20 19:00:33 mobileKamikaze kernel: ucom0: <&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; HUAWEI Mobile, class 0/0, rev 1.10/0.00, addr 3> on uhub3
Apr 20 19:00:33 mobileKamikaze kernel: ucom0: Could not find interrupt in
Apr 20 19:00:33 mobileKamikaze kernel: device_attach: ucom0 attach returned 6
Apr 20 19:00:38 mobileKamikaze kernel: ucom0: at uhub3 port 1 (addr 3) disconnected
Apr 20 19:00:48 mobileKamikaze kernel: ucom0: <&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; HUAWEI Mobile, class 0/0, rev 1.10/0.00, addr 3> on uhub3
Apr 20 19:00:48 mobileKamikaze kernel: ucom0: Could not find interrupt in
Apr 20 19:00:48 mobileKamikaze kernel: device_attach: ucom0 attach returned 6

I have dug into ubsa.c and ucom.c, the problem appears to be lying deeper in the innards of the USB stack.

If I unplug the device and plug it back in a couple of times (sometimes only 2 or three times, sometimes I have to try for an hour) the stick gets initialized properly:

Apr 20 19:01:30 mobileKamikaze kernel: ucom0: <&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; HUAWEI Mobile, class 0/0, rev 1.10/0.00, addr 3> on uhub3

It appears that how often I have to try depends on the connection quality. Once the device is attached properly, it works without problems. I am writing this PR from a train.
>How-To-Repeat:
Just plug in an affected stick.
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list