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>
next in thread | raw e-mail | index | archive | help
>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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301202326.h0KNQDaB000879>