From owner-freebsd-usb@freebsd.org Wed Nov 11 03:37:10 2015 Return-Path: Delivered-To: freebsd-usb@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 17106A29274 for ; Wed, 11 Nov 2015 03:37:10 +0000 (UTC) (envelope-from alfred@freebsd.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 0361F1BA0 for ; Wed, 11 Nov 2015 03:37:10 +0000 (UTC) (envelope-from alfred@freebsd.org) Received: by mailman.ysv.freebsd.org (Postfix) id 0144BA29272; Wed, 11 Nov 2015 03:37:10 +0000 (UTC) Delivered-To: usb@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F4123A29271 for ; Wed, 11 Nov 2015 03:37:09 +0000 (UTC) (envelope-from alfred@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [IPv6:2001:470:1f05:b76::196]) by mx1.freebsd.org (Postfix) with ESMTP id DEF801B9F for ; Wed, 11 Nov 2015 03:37:09 +0000 (UTC) (envelope-from alfred@freebsd.org) Received: from AlfredMacbookAir.local (unknown [IPv6:2601:645:8004:7515:1458:653b:6e46:e18e]) by elvis.mu.org (Postfix) with ESMTPSA id 76520345A916 for ; Tue, 10 Nov 2015 19:37:08 -0800 (PST) To: usb@freebsd.org From: Alfred Perlstein Subject: usb modem "Can't setup transfer" Organization: FreeBSD Message-ID: <5642B7E4.505@freebsd.org> Date: Tue, 10 Nov 2015 19:37:08 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2015 03:37:10 -0000 Hello, A friend gave me a usb modem recently. The model is: Multi-Tech Systems - Multi-Modem USB - MT5634ZBA The Linux driver info is here: ftp://ftp.multitech.com/usb/usb-linux2.txt When I plug this device into FreeBSD I get a ugen0 device. So I tried hacking into the driver itself: diff --git a/sys/dev/usb/serial/umodem.c b/sys/dev/usb/serial/umodem.c index c1e8812..9886294 100644 --- a/sys/dev/usb/serial/umodem.c +++ b/sys/dev/usb/serial/umodem.c @@ -136,6 +136,7 @@ static const STRUCT_USB_HOST_ID umodem_host_devs[] = { {USB_VPI(USB_VENDOR_KYOCERA, USB_PRODUCT_KYOCERA_AHK3001V, 1)}, {USB_VPI(USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC5720, 1)}, {USB_VPI(USB_VENDOR_CURITEL, USB_PRODUCT_CURITEL_PC5740, 1)}, + {USB_VP(0x06e0, 0xf107)}, }; /* Now I get the following: Nov 10 19:19:54 spigot kernel: ugen3.3: at usbus3 Nov 10 19:19:54 spigot kernel: umodem0: on usbus3 Nov 10 19:19:54 spigot kernel: umodem0: data interface 1, has CM over data, has no break Nov 10 19:19:54 spigot kernel: umodem0: Can't setup transfer Nov 10 19:19:54 spigot kernel: device_attach: umodem0 attach returned 6 I read the Linux driver and it seems pretty similar, although it does look like they have a ton more quirks and edge cases the handle. The file in Linux I'm looking at is: linux/drivers/usb/class/cdc-acm.c (this seems to make the most sense given the instructions given at ftp://ftp.multitech.com/usb/usb-linux2.txt). I tried turning on sysctl hw.usb.debug=10 however after doing so it didn't seem to want to probe anymore. Any ideas? I can ship this modem to someone if they are interested and have a good idea how to fix. thank you, -Alfred