>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: <AirCard 313U Sierra Wireless, Incorporated> 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 <Sierra Wireless, Incorporated> iProduct = 0x0002 <AirCard 313U> iSerialNumber = 0x0004 <012698000027166> bNumConfigurations = 0x0001 ugen3.3: <AirCard 313U Sierra Wireless, Incorporated> 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 <Sierra Configuration> bmAttributes = 0x00a0 bMaxPower = 0x00fa Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x0000 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0001 <OUT> bmAttributes = 0x0002 <BULK> 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 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0082 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 <OUT> bmAttributes = 0x0002 <BULK> 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 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0003 <OUT> bmAttributes = 0x0002 <BULK> 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 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0084 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0040 bInterval = 0x0005 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0085 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0004 <OUT> bmAttributes = 0x0002 <BULK> 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 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0086 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0040 bInterval = 0x0005 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0087 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0005 <OUT> bmAttributes = 0x0002 <BULK> 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 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0006 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0088 <IN> bmAttributes = 0x0002 <BULK> 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 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0089 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0040 bInterval = 0x0005 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x008a <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0007 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x0000 bSynchAddress = 0x0000 ugen3.3: <Sierra Wireless, Incorporated> at usbus3 ugen3.3: <Sierra Wireless, Incorporated> at usbus3 (disconnected) ugen3.3: <Sierra Wireless, Incorporated> at usbus3 umass0: <Sierra Wireless, Incorporated AirCard 313U, class 0/0, rev 2.00/0.06, addr 3> 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: <SWI SD Card 2.31> 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: <Sierra Wireless, Incorporated AirCard 313U, class 0/0, rev 2.00/0.06, addr 3> 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: _______________________________________________ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"