1. 18 2月, 2016 3 次提交
    • B
      USB: option: add "4G LTE usb-modem U901" · d061c1ca
      Bjørn Mork 提交于
      Thomas reports:
      
      T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#=  4 Spd=480 MxCh= 0
      D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=05c6 ProdID=6001 Rev=00.00
      S:  Manufacturer=USB Modem
      S:  Product=USB Modem
      S:  SerialNumber=1234567890ABCDEF
      C:  #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      I:  If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
      I:  If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      
      Cc: <stable@vger.kernel.org>
      Reported-by: NThomas Schäfer <tschaefer@t-online.de>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      d061c1ca
    • K
      USB: cp210x: add IDs for GE B650V3 and B850V3 boards · 6627ae19
      Ken Lin 提交于
      Add USB ID for cp2104/5 devices on GE B650v3 and B850v3 boards.
      Signed-off-by: NKen Lin <ken.lin@advantech.com.tw>
      Signed-off-by: NAkshay Bhat <akshay.bhat@timesys.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      6627ae19
    • A
      USB: option: add support for SIM7100E · 3158a8d4
      Andrey Skvortsov 提交于
      $ lsusb:
      Bus 001 Device 101: ID 1e0e:9001 Qualcomm / Option
      
      $ usb-devices:
      T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=101 Spd=480  MxCh= 0
      D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  2
      P:  Vendor=1e0e ProdID=9001 Rev= 2.32
      S:  Manufacturer=SimTech, Incorporated
      S:  Product=SimTech, Incorporated
      S:  SerialNumber=0123456789ABCDEF
      C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
      I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
      
      The last interface (6) is used for Android Composite ADB interface.
      
      Serial port layout:
      0: QCDM/DIAG
      1: NMEA
      2: AT
      3: AT/PPP
      4: audio
      Signed-off-by: NAndrey Skvortsov <andrej.skvortzov@gmail.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      3158a8d4
  2. 25 1月, 2016 7 次提交
  3. 29 12月, 2015 8 次提交
  4. 19 12月, 2015 1 次提交
  5. 11 12月, 2015 2 次提交
  6. 26 11月, 2015 1 次提交
  7. 23 11月, 2015 2 次提交
  8. 20 11月, 2015 1 次提交
    • B
      USB: option: add XS Stick W100-2 from 4G Systems · 638148e2
      Bjørn Mork 提交于
      Thomas reports
      "
      4gsystems sells two total different LTE-surfsticks under the same name.
      ..
      The newer version of XS Stick W100 is from "omega"
      ..
      Under windows the driver switches to the same ID, and uses MI03\6 for
      network and MI01\6 for modem.
      ..
      echo "1c9e 9b01" > /sys/bus/usb/drivers/qmi_wwan/new_id
      echo "1c9e 9b01" > /sys/bus/usb-serial/drivers/option1/new_id
      
      T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#=  4 Spd=480 MxCh= 0
      D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=1c9e ProdID=9b01 Rev=02.32
      S:  Manufacturer=USB Modem
      S:  Product=USB Modem
      S:  SerialNumber=
      C:  #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=500mA
      I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      I:  If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
      I:  If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      
      Now all important things are there:
      
      wwp0s29f7u2i3 (net), ttyUSB2 (at), cdc-wdm0 (qmi), ttyUSB1 (at)
      
      There is also ttyUSB0, but it is not usable, at least not for at.
      
      The device works well with qmi and ModemManager-NetworkManager.
      "
      Reported-by: NThomas Schäfer <tschaefer@t-online.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      638148e2
  9. 17 11月, 2015 1 次提交
    • B
      USB: qcserial: Fix support for HP lt4112 LTE/HSPA+ Gobi 4G Modem · 59536da3
      Bjørn Mork 提交于
      The DEVICE_HWI type was added under the faulty assumption that Huawei
      devices based on Qualcomm chipsets and firmware use the static USB
      interface numbering known from Gobi devices.  But this model does
      not apply to Huawei devices like the HP branded lt4112 (Huawei me906e).
      Huawei firmwares will dynamically assign interface numbers. Functions
      are renumbered when the firmware is reconfigured.
      
      Fix by changing the DEVICE_HWI type to use a simplified version
      of Huawei's subclass + protocol scheme: Blacklisting known network
      interface combinations and assuming the rest are serial.
      Reported-and-tested-by: NMuri Nicanor <muri+libqmi@immerda.ch>
      Tested-by: NMartin Hauke <mardnh@gmx.de>
      Cc: <stable@vger.kernel.org>
      Fixes: e7181d00 ("USB: qcserial: Add support for HP lt4112 LTE/HSPA+ Gobi 4G Modem")
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      59536da3
  10. 16 11月, 2015 6 次提交
    • D
      USB: ti_usb_3410_5052: Add Honeywell HGI80 ID · 1bcb49e6
      David Woodhouse 提交于
      The Honeywell HGI80 is a wireless interface to the evohome connected
      thermostat. It uses a TI 3410 USB-serial port.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      1bcb49e6
    • A
      USB: serial: option: add support for Novatel MiFi USB620L · e07af133
      Aleksander Morgado 提交于
      Also known as Verizon U620L.
      
      The device is modeswitched from 1410:9020 to 1410:9022 by selecting the
      4th USB configuration:
      
       $ sudo usb_modeswitch –v 0x1410 –p 0x9020 –u 4
      
      This configuration provides a ECM interface as well as TTYs ('Enterprise
      Mode' according to the U620 Linux integration guide).
      Signed-off-by: NAleksander Morgado <aleksander@aleksander.es>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      e07af133
    • P
      USB: qcserial: Add support for Quectel EC20 Mini PCIe module · 9d5b5ed7
      Petr Štetiar 提交于
      It seems like this device has same vendor and product IDs as G2K
      devices, but it has different number of interfaces(4 vs 5) and also
      different interface layout which makes it currently unusable:
      
      	usbcore: registered new interface driver qcserial
      	usbserial: USB Serial support registered for Qualcomm USB modem
      	usb 2-1.2: unknown number of interfaces: 5
      
      lsusb output:
      
      	Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000 Wireless
      	Device Descriptor:
      	  bLength                18
      	  bDescriptorType         1
      	  bcdUSB               2.00
      	  bDeviceClass            0 (Defined at Interface level)
      	  bDeviceSubClass         0
      	  bDeviceProtocol         0
      	  bMaxPacketSize0        64
      	  idVendor           0x05c6 Qualcomm, Inc.
      	  idProduct          0x9215 Acer Gobi 2000 Wireless Modem
      	  bcdDevice            2.32
      	  iManufacturer           1 Quectel
      	  iProduct                2 Quectel LTE Module
      	  iSerial                 0
      	  bNumConfigurations      1
      	  Configuration Descriptor:
      	    bLength                 9
      	    bDescriptorType         2
      	    wTotalLength          209
      	    bNumInterfaces          5
      	    bConfigurationValue     1
      	    iConfiguration          0
      	    bmAttributes         0xa0
      	      (Bus Powered)
      	      Remote Wakeup
      	    MaxPower              500mA
      Signed-off-by: NPetr Štetiar <ynezz@true.cz>
      Cc: stable <stable@vger.kernel.org>
      [johan: rename define and add comment ]
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      9d5b5ed7
    • K
      USB: cp210x: work around cp2108 GET_LINE_CTL bug · d0bf1ff0
      Konstantin Shkolnyy 提交于
      Add helper to access line-control register in order to work around a
      cp2108 GET_LINE_CTL bug.
      
      cp2108 GET_LINE_CTL returns the 16-bit value with the 2 bytes swapped.
      However, SET_LINE_CTL functions properly. When the driver tries to modify
      the register, it reads it, modifies some bits and writes back. Because the
      read bytes were swapped, this often results in an invalid value to be
      written. In turn, this causes cp2108 respond with a stall. The stall
      sometimes doesn't clear properly and cp2108 starts responding to following
      valid commands also with stalls, effectively failing.
      Signed-off-by: NKonstantin Shkolnyy <konstantin.shkolnyy@gmail.com>
      [johan: amend commit message, modify probe error handling ]
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      d0bf1ff0
    • K
      USB: cp210x: relocate private data from USB interface to port · e2ae67a3
      Konstantin Shkolnyy 提交于
      This change is preparation for implementing a cp2108 bug workaround.
      The workaround requires storing some private data. Right now the data is
      attached to the USB interface and allocated in the attach() callback.
      The bug detection requires USB I/O which is done easier from port_probe()
      callback rather than attach(). Since the USB access functions take port
      as a parameter, and since the private data is used exclusively by these
      functions, it can be allocated in port_probe(). Also, all cp210x devices
      have exactly 1 port per USB iterface, so moving private data from the USB
      interface to port is trivial.
      Signed-off-by: NKonstantin Shkolnyy <konstantin.shkolnyy@gmail.com>
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      e2ae67a3
    • K
      USB: cp210x: flush device queues at close · ebfb319b
      Konstantin Shkolnyy 提交于
      Flush all device queues at close in order to work around a cp2108 Tx
      queue bug.
      
      Occasionally, writing data and immediately closing the port makes cp2108
      stop responding. The device has to be unplugged to clear the error.
      The failure is induced by shutting down the device while its Tx queue
      still has unsent data. This condition is avoided by issuing PURGE command
      from the close() callback.
      
      This change is applied to all cp210x devices. Clearing internal queues on
      close is generally good.
      Signed-off-by: NKonstantin Shkolnyy <konstantin.shkolnyy@gmail.com>
      [johan: amend commit message ]
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      ebfb319b
  11. 23 10月, 2015 1 次提交
  12. 09 10月, 2015 7 次提交