usb/165154: USB patch for new u3g device
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 = 0x bDeviceSubClass = 0x bDeviceProtocol = 0x bMaxPacketSize0 = 0x0040 idVendor = 0x1199 idProduct = 0x68aa bcdDevice = 0x0006 iManufacturer = 0x0003 Sierra Wireless, Incorporated iProduct = 0x0002 AirCard 313U iSerialNumber = 0x0004 01269827166 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 = 0x bAlternateSetting = 0x bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x no string Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 IN bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0001 OUT bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x no string Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0082 IN bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 OUT bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Interface 2 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x no string Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 IN bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0003 OUT bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Interface 3 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0003 bAlternateSetting = 0x bNumEndpoints = 0x0003 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x no string Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0084 IN bmAttributes = 0x0003 INTERRUPT wMaxPacketSize = 0x0040 bInterval = 0x0005 bRefresh = 0x bSynchAddress = 0x Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0085 IN bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x
FreeBSD and Sierra Wireless AirCard 313U
In case anyone else is looking to get this LTE card working on FreeBSD, the following simple device patches work for me. I submitted a PR as well (http://www.freebsd.org/cgi/query-pr.cgi?pr=165154) 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 = 0x bDeviceSubClass = 0x bDeviceProtocol = 0x bMaxPacketSize0 = 0x0040 idVendor = 0x1199 idProduct = 0x68aa bcdDevice = 0x0006 iManufacturer = 0x0003 Sierra Wireless, Incorporated iProduct = 0x0002 AirCard 313U iSerialNumber = 0x0004 01269827166 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 = 0x bAlternateSetting = 0x bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x no string Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 IN bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0001 OUT bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x no string Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0082 IN bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 OUT bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Interface 2 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x no string Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 IN bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0003 OUT bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Interface 3 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0003 bAlternateSetting = 0x bNumEndpoints = 0x0003 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x no string Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0084 IN bmAttributes = 0x0003 INTERRUPT wMaxPacketSize = 0x0040 bInterval = 0x0005 bRefresh = 0x bSynchAddress = 0x Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0085 IN bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0004 OUT bmAttributes = 0x0002 BULK wMaxPacketSize = 0x0200 bInterval = 0x0020 bRefresh = 0x bSynchAddress = 0x Interface 4 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0004 bAlternateSetting = 0x bNumEndpoints = 0x0003 bInterfaceClass = 0x00ff bInterfaceSubClass = 0x00ff bInterfaceProtocol = 0x00ff iInterface = 0x no string Endpoint 0