From owner-freebsd-bugs Mon Jan 20 15:30: 5 2003 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 94BB537B401 for ; Mon, 20 Jan 2003 15:30:02 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 98DE643ED8 for ; Mon, 20 Jan 2003 15:30:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id h0KNU1NS014344 for ; Mon, 20 Jan 2003 15:30:01 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id h0KNU12J014343; Mon, 20 Jan 2003 15:30:01 -0800 (PST) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B38237B401 for ; Mon, 20 Jan 2003 15:26:19 -0800 (PST) Received: from purple.nge.isi.edu (dial161.east.isi.edu [65.114.169.161]) by mx1.FreeBSD.org (Postfix) with ESMTP id 42A8C43EB2 for ; Mon, 20 Jan 2003 15:26:17 -0800 (PST) (envelope-from csp@csperkins.org) Received: from purple.nge.isi.edu (localhost [127.0.0.1]) by purple.nge.isi.edu (8.12.6/8.12.6) with ESMTP id h0KNQEOd000880 for ; Mon, 20 Jan 2003 18:26:14 -0500 (EST) (envelope-from csp@purple.nge.isi.edu) Received: (from csp@localhost) by purple.nge.isi.edu (8.12.6/8.12.6/Submit) id h0KNQDaB000879; Mon, 20 Jan 2003 18:26:13 -0500 (EST) (envelope-from csp) Message-Id: <200301202326.h0KNQDaB000879@purple.nge.isi.edu> Date: Mon, 20 Jan 2003 18:26:13 -0500 (EST) From: Colin Perkins Reply-To: Colin Perkins To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: kern/47274: umodem update to support motorola v66 phone Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >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