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