From owner-freebsd-usb@FreeBSD.ORG Tue Feb 14 21:20:11 2012 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 454C7106567D for ; Tue, 14 Feb 2012 21:20:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 1C2128FC12 for ; Tue, 14 Feb 2012 21:20:08 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q1ELK7rA044173 for ; Tue, 14 Feb 2012 21:20:07 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q1ELK7D6044172; Tue, 14 Feb 2012 21:20:07 GMT (envelope-from gnats) Resent-Date: Tue, 14 Feb 2012 21:20:07 GMT Resent-Message-Id: <201202142120.q1ELK7D6044172@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-usb@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, mike tancsa Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E45D106564A for ; Tue, 14 Feb 2012 21:17:02 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 5D1BE8FC25 for ; Tue, 14 Feb 2012 21:17:02 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id q1ELH2LD003312 for ; Tue, 14 Feb 2012 21:17:02 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id q1ELH2ai003311; Tue, 14 Feb 2012 21:17:02 GMT (envelope-from nobody) Message-Id: <201202142117.q1ELH2ai003311@red.freebsd.org> Date: Tue, 14 Feb 2012 21:17:02 GMT From: mike tancsa To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: usb/165154: USB patch for new u3g device X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Feb 2012 21:20:11 -0000 >Number: 165154 >Category: usb >Synopsis: USB patch for new u3g device >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-usb >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Tue Feb 14 21:20:07 UTC 2012 >Closed-Date: >Last-Modified: >Originator: mike tancsa >Release: RELENG_8 >Organization: Sentex Communications >Environment: 8.2-STABLE FreeBSD 8.2-STABLE #0: Tue Feb 14 14:24:26 EST 2012 i386 >Description: Hi, Sierra has a new air card to do LTE (Aircard 313U). It seems to work well with FreeBSD after the simple patches below. ugen3.3: at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x1199 idProduct = 0x68aa bcdDevice = 0x0006 iManufacturer = 0x0003 iProduct = 0x0002 iSerialNumber = 0x0004 <012698000027166> bNumConfigurations = 0x0001 ugen3.3: at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x00bf bNumInterfaces = 0x0007 bConfigurationValue = 0x0001 iConfiguration = 0x0001 bmAttributes = 0x00a0 bMaxPower = 0x00fa Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0001 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0082 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 2 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0003 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 3 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0003 bAlternateSetting = 0x0000 bNumEndpoints = 0x0003 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0084 bmAttributes = 0x0003 wMaxPacketSize = 0x0040 bInterval = 0x0005 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0085 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0004 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 4 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0004 bAlternateSetting = 0x0000 bNumEndpoints = 0x0003 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0086 bmAttributes = 0x0003 wMaxPacketSize = 0x0040 bInterval = 0x0005 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0087 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0005 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 5 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0005 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x0008 bInterfaceSubClass = 0x0006 bInterfaceProtocol = 0x0050 iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0006 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0088 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 6 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0006 bAlternateSetting = 0x0000 bNumEndpoints = 0x0003 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x0000 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0089 bmAttributes = 0x0003 wMaxPacketSize = 0x0040 bInterval = 0x0005 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x008a bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0007 bmAttributes = 0x0002 wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 ugen3.3: at usbus3 ugen3.3: at usbus3 (disconnected) ugen3.3: at usbus3 umass0: on usbus3 umass0: SCSI over Bulk-Only; quirks = 0x0000 umass0:2:0:-1: Attached to scbus2 (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error (probe0:umass-sim0:0:0:0): SCSI status: Check Condition (probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present) da0 at umass-sim0 bus 0 scbus2 target 0 lun 0 da0: Removable Direct Access SCSI-2 device da0: 40.000MB/s transfers da0: Attempt to query device size failed: NOT READY, Medium not present ipfw2 (+ipv6) initialized, divert loadable, nat loadable, rule-based forwarding disabled, default to accept, logging disabled u3g0: on usbus3 u3g0: Found 6 ports. ls -l /dev/cuaU* crw-rw---- 1 uucp dialer - 0, 106 Feb 14 15:12 /dev/cuaU0.0 crw-rw---- 1 uucp dialer - 0, 107 Feb 14 15:12 /dev/cuaU0.0.init crw-rw---- 1 uucp dialer - 0, 108 Feb 14 15:12 /dev/cuaU0.0.lock crw-rw---- 1 uucp dialer - 0, 112 Feb 14 15:12 /dev/cuaU0.1 crw-rw---- 1 uucp dialer - 0, 113 Feb 14 15:12 /dev/cuaU0.1.init crw-rw---- 1 uucp dialer - 0, 114 Feb 14 15:12 /dev/cuaU0.1.lock crw-rw---- 1 uucp dialer - 0, 118 Feb 14 15:12 /dev/cuaU0.2 crw-rw---- 1 uucp dialer - 0, 119 Feb 14 15:12 /dev/cuaU0.2.init crw-rw---- 1 uucp dialer - 0, 120 Feb 14 15:12 /dev/cuaU0.2.lock crw-rw---- 1 uucp dialer - 0, 124 Feb 14 15:12 /dev/cuaU0.3 crw-rw---- 1 uucp dialer - 0, 125 Feb 14 15:12 /dev/cuaU0.3.init crw-rw---- 1 uucp dialer - 0, 126 Feb 14 15:12 /dev/cuaU0.3.lock crw-rw---- 1 uucp dialer - 0, 130 Feb 14 15:12 /dev/cuaU0.4 crw-rw---- 1 uucp dialer - 0, 131 Feb 14 15:12 /dev/cuaU0.4.init crw-rw---- 1 uucp dialer - 0, 132 Feb 14 15:12 /dev/cuaU0.4.lock crw-rw---- 1 uucp dialer - 0, 136 Feb 14 15:12 /dev/cuaU0.5 crw-rw---- 1 uucp dialer - 0, 137 Feb 14 15:12 /dev/cuaU0.5.init crw-rw---- 1 uucp dialer - 0, 138 Feb 14 15:12 /dev/cuaU0.5.lock The following PPP entry works form me pppgprs: set device /dev/cuaU0.3 set server /var/run/gprs-internet "" 0177 #set speed 921600 set timeout 0 set authname wapuser1 set authkey wap set dial "ABORT BUSY TIMEOUT 2 \ \"\" \ AT OK-AT-OK \ AT+CFUN=1 OK-AT-OK \ AT+CMEE=2 OK-AT-OK \ AT+CSQ OK \ AT+CGDCONT=1,\\\"IP\\\",\\\"internet.com\\\" OK \ AT+CGACT? OK-AT-OK \ AT+CGATT? OK \ AT+CGCLASS? OK \ AT+COPS? OK \ AT+CNUM OK \ AT&v OK \ ATD*99# CONNECT" set crtscts on #set mtu maximum 296 #set mru maximum 296 disable vjcomp disable acfcomp disable deflate disable deflate24 disable pred1 disable protocomp disable mppe disable ipv6cp disable lqr disable echo nat enable yes enable dns resolv writable set dns 8.8.8.8 set ifaddr 10.1.0.2/0 10.1.0.1/0 255.255.255.255 0.0.0.0 add default HISADDR # See ppp.link* >How-To-Repeat: attach the card >Fix: # diff -u usbdevs.prev usbdevs --- usbdevs.prev 2012-02-14 15:06:33.000000000 -0500 +++ usbdevs 2012-02-14 15:13:29.000000000 -0500 @@ -2974,6 +2974,7 @@ product SIERRA MC8790 0x683C MC8790 product SIERRA MC8791 0x683D MC8791 product SIERRA MC8792 0x683E MC8792 +product SIERRA AC313U 0x68aa Sierra Wireless AirCard 313U product SIERRA AC880 0x6850 Sierra Wireless AirCard 880 product SIERRA AC881 0x6851 Sierra Wireless AirCard 881 product SIERRA AC880E 0x6852 Sierra Wireless AirCard 880E # diff -u u3g.c.prev u3g.c --- u3g.c.prev 2012-02-14 15:05:02.000000000 -0500 +++ u3g.c 2012-02-14 15:13:52.000000000 -0500 @@ -432,6 +432,7 @@ U3G_DEV(QUANTA, Q111, 0), U3G_DEV(SIERRA, AC402, 0), U3G_DEV(SIERRA, AC595U, 0), + U3G_DEV(SIERRA, AC313U, 0), U3G_DEV(SIERRA, AC597E, 0), U3G_DEV(SIERRA, AC875E, 0), U3G_DEV(SIERRA, AC875U, 0), >Release-Note: >Audit-Trail: >Unformatted: