NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/39332: USB quirk UQ_ASSUME_CM_OVER_DATA is not a quirk



>Number:         39332
>Category:       kern
>Synopsis:       USB quirk UQ_ASSUME_CM_OVER_DATA is not a quirk
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Aug 10 10:55:00 +0000 2008
>Originator:     Ben Wong
>Release:        NetBSD 4.0
>Organization:
        
>Environment:
        
        
System: NetBSD quince.wongs.net 4.0 NetBSD 4.0 (GENERIC) #0: Sat Dec 15 
22:00:07 PST 2007 
builds@wb46:/home/builds/ab/netbsd-4-0-RELEASE/hpcmips/200712160005Z-obj/home/builds/ab/netbsd-4-0-RELEASE/src/sys/arch/hpcmips/compile/GENERIC
 hpcmips
Architecture: mipsel
Machine: hpcmips
>Description:

The UQ_ASSUME_CM_OVER_DATA quirk should be removed from the kernel.
It is not a "quirk", it is needed by many devices and harmful to none.
FreeBSD has already done so.

  http://freebsd.monkey.org/freebsd-cvs-all/200706/msg02872.html

>How-To-Repeat:

Step 1. Plug in any USB modem that is not listed in the quirk file.
        (For example, I have a Samsung N400 cell phone).

Step 2. Notice that the kernel configures umodem but NOT ucom.  As the
        umodem man page indicates, umodem is useless without ucom.

        quince /netbsd: umodem0 at uhub0 port 1 configuration 1 interface 0
        quince /netbsd: 
        quince /netbsd: umodem0: SAMSUNG Electronics Co.,Ltd. SAMSUNG CDMA 
Technologies, rev 1.01/0.00, addr 2, iclass 2/2
        quince /netbsd: umodem0: data interface 1, has CM over data, has break
        quince /netbsd: umodem0: could not set data multiplex mode

Step 3. Add the device to the USB quirks file, as detailed in 
        http://www.bsdforums.org/forums/archive/index.php/t-15517.html

Step 4. Start recompiling the kernel.

Step 5. (Optional) Gnash teeth in anguish upon realizing that it might
        take weeks for the kernel to recompile on your little 133MHz
        NetBSD/hpcmips computer.

>Fix:

The NetBSD kernel should not require this quirk in the first place.  I
apologize for not including a patch, my machine is not up to the task.
However, as FreeBSD has demonstrated, it should be a simple fix. Here
are the relevant diffs:

  
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/usb/umodem.c.diff?r1=1.67;r2=1.68

  
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/usb/usb_quirks.c.diff?r1=1.59;r2=1.60

  
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/usb/usb_quirks.h.diff?r1=1.23;r2=1.24

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index