Date: Mon, 20 Jan 2003 18:26:13 -0500 (EST) From: Colin Perkins <csp@csperkins.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/47274: umodem update to support motorola v66 phone Message-ID: <200301202326.h0KNQDaB000879@purple.nge.isi.edu>
index | next in thread | raw e-mail
>Number: 47274
>Category: kern
>Synopsis: umodem update to support motorola v66 phone
>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: Mon Jan 20 15:30:01 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Colin Perkins
>Release: FreeBSD 4.7-STABLE i386
>Organization:
USC/ISI
>Environment:
System: FreeBSD purple.nge.isi.edu 4.7-STABLE FreeBSD 4.7-STABLE #1: Mon Jan 20 17:22:56 EST 2003 root@purple.nge.isi.edu:/usr/obj/usr/src/sys/PURPLE i386
IBM ThinkPad X22 laptop with Motorola V66e phone
>Description:
The umodem device in 4.7-STABLE does not correctly detect and attach to
a Motorola V66e phone. Patch enclosed updates the umodem driver, as per
NetBSD, and allows the phone to work as a USB modem.
>How-To-Repeat:
Attach phone to USB port on a 4.7-STABLE system, with hw.usb.umodem.debug=1
in /etc/sysctl.conf. Something similar to the following will be logged, and
the device will fail to attach.
Jan 20 17:10:39 purple /kernel: umodem0: Motorola Inc. Motorola Phone (V.series 66), rev 1.10/0.01, addr 2, iclass 2/2
Jan 20 17:10:39 purple /kernel: umodem0: data interface 1, has CM over data, has no break
Jan 20 17:10:39 purple /kernel: umodem0: umodem_set_comm_feat: feature=1 failed, err=13
Jan 20 17:10:39 purple /kernel: umodem_attach: BAD -> DYING
Jan 20 17:10:39 purple /kernel: device_probe_and_attach: umodem0 attach returned 6
Jan 20 17:10:39 purple /kernel: ugen0: product 0x1005, rev 1.10/0.01, addr 2
Jan 20 17:10:44 purple /kernel: ugen0: setting configuration index 0 failed
Jan 20 17:10:44 purple /kernel: device_probe_and_attach: ugen0 attach returned 6
>Fix:
Apply patch below to /usr/src/sys/dev/usb/umodem.c (patch inspired by
NetBSD sources). The device is now correctly detected when attached,
and appears to function correctly.
*** umodem.c.orig Mon Jan 20 17:14:33 2003
--- umodem.c Mon Jan 20 17:18:37 2003
***************
*** 319,326 ****
sc->sc_cm_over_data = 1;
} else {
if (sc->sc_cm_cap & USB_CDC_CM_OVER_DATA) {
! err = umodem_set_comm_feature(sc, UCDC_ABSTRACT_STATE,
! UCDC_DATA_MULTIPLEXED);
if (err)
goto bad;
sc->sc_cm_over_data = 1;
--- 319,329 ----
sc->sc_cm_over_data = 1;
} else {
if (sc->sc_cm_cap & USB_CDC_CM_OVER_DATA) {
! if (sc->sc_acm_cap & USB_CDC_ACM_HAS_FEATURE) {
! err = umodem_set_comm_feature(sc, UCDC_ABSTRACT_STATE, UCDC_DATA_MULTIPLEXED);
! } else {
! err = 0;
! }
if (err)
goto bad;
sc->sc_cm_over_data = 1;
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301202326.h0KNQDaB000879>
