1. 07 6月, 2013 1 次提交
  2. 17 5月, 2013 3 次提交
  3. 24 4月, 2013 1 次提交
  4. 10 4月, 2013 1 次提交
    • B
      USB: option: add a D-Link DWM-156 variant · a2a2d6c7
      Bjørn Mork 提交于
      Adding support for a Mediatek based device labelled as
      D-Link Model: DWM-156, H/W Ver: A7
      
      Also adding two other device IDs found in the Debian(!)
      packages included on the embedded device driver CD.
      
      This is a composite MBIM + serial ports + card reader device:
      
      T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 14 Spd=480  MxCh= 0
      D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=2001 ProdID=7d01 Rev= 3.00
      S:  Manufacturer=D-Link,Inc
      S:  Product=D-Link DWM-156
      C:* #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
      A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
      I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
      E:  Ad=88(I) Atr=03(Int.) MxPS=  64 Ivl=125us
      I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option
      E:  Ad=87(I) Atr=03(Int.) MxPS=  64 Ivl=500us
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a2a2d6c7
  5. 19 3月, 2013 1 次提交
  6. 07 3月, 2013 2 次提交
  7. 14 2月, 2013 2 次提交
    • B
      USB: option: add Huawei "ACM" devices using protocol = vendor · 1f3f6877
      Bjørn Mork 提交于
      The USB device descriptor of one identity presented by a few
      Huawei morphing devices have serial functions with class codes
      02/02/ff, indicating CDC ACM with a vendor specific protocol. This
      combination is often used for MSFT RNDIS functions, and the CDC
      ACM class driver will therefore ignore such functions.
      
      The CDC ACM class driver cannot support functions with only 2
      endpoints.  The underlying serial functions of these modems are
      also believed to be the same as for alternate device identities
      already supported by the option driver. Letting the same driver
      handle these functions independently of the current identity
      ensures consistent handling and user experience.
      
      There is no need to blacklist these devices in the rndis_host
      driver. Huawei serial functions will either have only 2 endpoints
      or a CDC ACM functional descriptor with bmCapabilities != 0, making
      them correctly ignored as "non RNDIS" by that driver.
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1f3f6877
    • B
      USB: option: add Yota / Megafon M100-1 4g modem · cd565279
      Bjørn Mork 提交于
      Interface layout:
      
       00 CD-ROM
       01 debug COM port
       02 AP control port
       03 modem
       04 usb-ethernet
      
      Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  4 Spd=480  MxCh= 0
      D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=0408 ProdID=ea42 Rev= 0.00
      S:  Manufacturer=Qualcomm, Incorporated
      S:  Product=Qualcomm CDMA Technologies MSM
      S:  SerialNumber=353568051xxxxxx
      C:* #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=86(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
      E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cd565279
  8. 02 2月, 2013 1 次提交
  9. 30 1月, 2013 1 次提交
  10. 25 1月, 2013 1 次提交
    • B
      USB: option: add and update Alcatel modems · f8f0302b
      Bjørn Mork 提交于
      Adding three currently unsupported modems based on information
      from .inf driver files:
      
        Diag  VID_1BBB&PID_0052&MI_00
        AGPS  VID_1BBB&PID_0052&MI_01
        VOICE VID_1BBB&PID_0052&MI_02
        AT    VID_1BBB&PID_0052&MI_03
        Modem VID_1BBB&PID_0052&MI_05
        wwan  VID_1BBB&PID_0052&MI_06
      
        Diag  VID_1BBB&PID_00B6&MI_00
        AT    VID_1BBB&PID_00B6&MI_01
        Modem VID_1BBB&PID_00B6&MI_02
        wwan  VID_1BBB&PID_00B6&MI_03
      
        Diag  VID_1BBB&PID_00B7&MI_00
        AGPS  VID_1BBB&PID_00B7&MI_01
        VOICE VID_1BBB&PID_00B7&MI_02
        AT    VID_1BBB&PID_00B7&MI_03
        Modem VID_1BBB&PID_00B7&MI_04
        wwan  VID_1BBB&PID_00B7&MI_05
      
      Updating the blacklist info for the X060S_X200 and X220_X500D,
      reserving interfaces for a wwan driver, based on
      
        wwan VID_1BBB&PID_0000&MI_04
        wwan VID_1BBB&PID_0017&MI_06
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f8f0302b
  11. 18 1月, 2013 2 次提交
  12. 12 1月, 2013 4 次提交
  13. 27 11月, 2012 1 次提交
    • B
      USB: option: blacklist network interface on Huawei E173 · f36446cf
      Bjørn Mork 提交于
      The Huawei E173 will normally appear as 12d1:1436 in Linux.  But
      the modem has another mode with different device ID and a slightly
      different set of descriptors. This is the mode used by Windows like
      this:
      
        3Modem:      USB\VID_12D1&PID_140C&MI_00\6&3A1D2012&0&0000
        Networkcard: USB\VID_12D1&PID_140C&MI_01\6&3A1D2012&0&0001
        Appli.Inter: USB\VID_12D1&PID_140C&MI_02\6&3A1D2012&0&0002
        PC UI Inter: USB\VID_12D1&PID_140C&MI_03\6&3A1D2012&0&0003
      
      All interfaces have the same ff/ff/ff class codes in this mode.
      Blacklisting the network interface to allow it to be picked up by
      the network driver.
      
      Cc: stable <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: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f36446cf
  14. 22 11月, 2012 1 次提交
  15. 14 11月, 2012 2 次提交
  16. 01 11月, 2012 4 次提交
  17. 26 10月, 2012 2 次提交
  18. 18 10月, 2012 2 次提交
  19. 22 9月, 2012 1 次提交
  20. 15 9月, 2012 1 次提交
  21. 14 9月, 2012 1 次提交
  22. 12 9月, 2012 1 次提交
    • B
      USB: option: replace ZTE K5006-Z entry with vendor class rule · ba9edaa4
      Bjørn Mork 提交于
      Fix the ZTE K5006-Z entry so that it actually matches anything
      
        commit f1b5c997 USB: option: add ZTE K5006-Z
      
      added a device specific entry assuming that the device would use
      class/subclass/proto == ff/ff/ff like other ZTE devices. It
      turns out that ZTE has started using vendor specific subclass
      and protocol codes:
      
      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=19d2 ProdID=1018 Rev= 0.00
      S:  Manufacturer=ZTE,Incorporated
      S:  Product=ZTE LTE Technologies MSM
      S:  SerialNumber=MF821Vxxxxxxx
      C:* #Ifs= 5 Cfg#= 1 Atr=c0 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=86 Prot=10 Driver=(none)
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=02 Prot=05 Driver=(none)
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
      E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=00 Driver=qmi_wwan
      E:  Ad=85(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
      E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      
      We do not have any information on how ZTE intend to use these
      codes, but let us assume for now that the 3 sets matching
      serial functions in the K5006-Z always will identify a serial
      function in a ZTE device.
      
      Cc: Thomas Schäfer <tschaefer@t-online.de>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ba9edaa4
  23. 16 8月, 2012 1 次提交
  24. 11 8月, 2012 2 次提交
    • B
      usb: usb_wwan: replace release and disconnect with a port_remove hook · a1028f0a
      Bjørn Mork 提交于
      Doing port specific cleanup in the .port_remove hook is a
      lot simpler and safer than doing it in the USB driver
      .release or .disconnect methods. The removal of the port
      from the usb-serial bus will happen before the USB driver
      cleanup, so we must be careful about accessing port specific
      driver data from any USB driver functions.
      
      This problem surfaced after the commit
      
       0998d063 device-core: Ensure drvdata = NULL when no driver is bound
      
      which turned the previous unsafe access into a reliable NULL
      pointer dereference.
      
      Fixes the following Oops:
      
      [  243.148471] BUG: unable to handle kernel NULL pointer dereference at           (null)
      [  243.148508] IP: [<ffffffffa0468527>] stop_read_write_urbs+0x37/0x80 [usb_wwan]
      [  243.148556] PGD 79d60067 PUD 79d61067 PMD 0
      [  243.148590] Oops: 0000 [#1] SMP
      [  243.148617] Modules linked in: sr_mod cdrom qmi_wwan usbnet option cdc_wdm usb_wwan usbserial usb_storage uas fuse af_packet ip6table_filter ip6_tables iptable_filter ip_tables x_tables tun edd
      cpufreq_conservative cpufreq_userspace cpufreq_powersave snd_pcm_oss snd_mixer_oss acpi_cpufreq snd_seq mperf snd_seq_device coretemp arc4 sg hp_wmi sparse_keymap uvcvideo videobuf2_core
      videodev videobuf2_vmalloc videobuf2_memops rtl8192ce rtl8192c_common rtlwifi joydev pcspkr microcode mac80211 i2c_i801 lpc_ich r8169 snd_hda_codec_idt cfg80211 snd_hda_intel snd_hda_codec rfkill
      snd_hwdep snd_pcm wmi snd_timer ac snd soundcore snd_page_alloc battery uhci_hcd i915 drm_kms_helper drm i2c_algo_bit ehci_hcd thermal usbcore video usb_common button processor thermal_sys
      [  243.149007] CPU 1
      [  243.149027] Pid: 135, comm: khubd Not tainted 3.5.0-rc7-next-20120720-1-vanilla #1 Hewlett-Packard HP Mini 110-3700                /1584
      [  243.149072] RIP: 0010:[<ffffffffa0468527>]  [<ffffffffa0468527>] stop_read_write_urbs+0x37/0x80 [usb_wwan]
      [  243.149118] RSP: 0018:ffff880037e75b30  EFLAGS: 00010286
      [  243.149133] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff88005912aa28
      [  243.149150] RDX: ffff88005e95f028 RSI: 0000000000000000 RDI: ffff88005f7c1a10
      [  243.149166] RBP: ffff880037e75b60 R08: 0000000000000000 R09: ffffffff812cea90
      [  243.149182] R10: 0000000000000000 R11: 0000000000000001 R12: ffff88006539b440
      [  243.149198] R13: ffff88006539b440 R14: 0000000000000000 R15: 0000000000000000
      [  243.149216] FS:  0000000000000000(0000) GS:ffff88007ee80000(0000) knlGS:0000000000000000
      [  243.149233] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [  243.149248] CR2: 0000000000000000 CR3: 0000000079fe0000 CR4: 00000000000007e0
      [  243.149264] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  243.149280] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [  243.149298] Process khubd (pid: 135, threadinfo ffff880037e74000, task ffff880037d40600)
      [  243.149313] Stack:
      [  243.149323]  ffff880037e75b40 ffff88006539b440 ffff8800799bc830 ffff88005f7c1800
      [  243.149348]  0000000000000001 ffff88006539b448 ffff880037e75b70 ffffffffa04685e9
      [  243.149371]  ffff880037e75bc0 ffffffffa0473765 ffff880037354988 ffff88007b594800
      [  243.149395] Call Trace:
      [  243.149419]  [<ffffffffa04685e9>] usb_wwan_disconnect+0x9/0x10 [usb_wwan]
      [  243.149447]  [<ffffffffa0473765>] usb_serial_disconnect+0xd5/0x120 [usbserial]
      [  243.149511]  [<ffffffffa0046b48>] usb_unbind_interface+0x58/0x1a0 [usbcore]
      [  243.149545]  [<ffffffff8139ebd7>] __device_release_driver+0x77/0xe0
      [  243.149567]  [<ffffffff8139ec67>] device_release_driver+0x27/0x40
      [  243.149587]  [<ffffffff8139e5cf>] bus_remove_device+0xdf/0x150
      [  243.149608]  [<ffffffff8139bc78>] device_del+0x118/0x1a0
      [  243.149661]  [<ffffffffa0044590>] usb_disable_device+0xb0/0x280 [usbcore]
      [  243.149718]  [<ffffffffa003c6fd>] usb_disconnect+0x9d/0x140 [usbcore]
      [  243.149770]  [<ffffffffa003da7d>] hub_port_connect_change+0xad/0x8a0 [usbcore]
      [  243.149825]  [<ffffffffa0043bf5>] ? usb_control_msg+0xe5/0x110 [usbcore]
      [  243.149878]  [<ffffffffa003e6e3>] hub_events+0x473/0x760 [usbcore]
      [  243.149931]  [<ffffffffa003ea05>] hub_thread+0x35/0x1d0 [usbcore]
      [  243.149955]  [<ffffffff81061960>] ? add_wait_queue+0x60/0x60
      [  243.150004]  [<ffffffffa003e9d0>] ? hub_events+0x760/0x760 [usbcore]
      [  243.150026]  [<ffffffff8106133e>] kthread+0x8e/0xa0
      [  243.150047]  [<ffffffff8157ec04>] kernel_thread_helper+0x4/0x10
      [  243.150068]  [<ffffffff810612b0>] ? flush_kthread_work+0x120/0x120
      [  243.150088]  [<ffffffff8157ec00>] ? gs_change+0xb/0xb
      [  243.150101] Code: fd 41 54 53 48 83 ec 08 80 7f 1a 00 74 57 49 89 fc 31 db 90 49 8b 7c 24 20 45 31 f6 48 81 c7 10 02 00 00 e8 bc 64 f3 e0 49 89 c7 <4b> 8b 3c 37 49 83 c6 08 e8 4c a5 bd ff 49 83 fe 20
      75 ed 45 30
      [  243.150257] RIP  [<ffffffffa0468527>] stop_read_write_urbs+0x37/0x80 [usb_wwan]
      [  243.150282]  RSP <ffff880037e75b30>
      [  243.150294] CR2: 0000000000000000
      [  243.177170] ---[ end trace fba433d9015ffb8c ]---
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Reported-by: NThomas Schäfer <tschaefer@t-online.de>
      Suggested-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a1028f0a
    • F
      USB: support the new interfaces of Huawei Data Card devices in option driver · ee6f827d
      fangxiaozhi 提交于
      In this patch, we add new declarations into option.c to support the new
      interfaces of Huawei Data Card devices. And at the same time, remove the
      redundant declarations from option.c.
      Signed-off-by: Nfangxiaozhi <huananhu@huawei.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ee6f827d
  25. 17 7月, 2012 1 次提交