07 Jan, 2015

1 commit

  • As has been discussed in the thread starting with
    https://lkml.kernel.org/g/549748e9.d+SiJzqu50f1r4lSAL043YSc@arcor.de
    Sierra Wireless MC73xx devices with USB VID/PID 0x1199:0x68c0 require the
    option_send_setup() code to be used on the USB interface for the AT port
    to make unsolicited response codes work correctly. Move these devices from
    the qcserial driver where they have been added by commit
    70a3615fc07c2330ed7c1e922f3c44f4a67c0762 ("usb: qcserial: add Sierra Wireless
    MC73xx") to the option driver and add a MC73xx-specific blacklist
    to ensure that
    1. the sendsetup code is not used for the DIAG/DM and NMEA interfaces
    2. the option driver does not attach to the QMI/network interfaces

    Signed-off-by: Reinhard Speyerer
    Cc: stable
    Signed-off-by: Johan Hovold

    Reinhard Speyerer
     

22 Oct, 2014

2 commits


16 Sep, 2014

1 commit

  • The zte_ev driver is based on code (once) distributed by ZTE that still
    appears to originally have been reverse-engineered and bolted onto the
    generic driver.

    A closer analysis of the zte_ev setup code reveals that it consists of
    standard CDC requests (SET/GET_LINE_CODING and SET_CONTROL_LINE_STATE)
    but unfortunately fails to get some of those right. In particular, as
    reported by Lei Liu, it fails to lower DTR/RTS on close. It also appears
    that the control requests lack the interface argument.

    Since line control is already handled properly by the option driver, and
    the SET/GET_LINE_CODING requests appears to be redundant (amounts to a
    SET 9600 8N1) let's remove the redundant zte_ev driver.

    Also move the remaining ZTE PIDs to the generic option modem driver.

    Reported-by: Lei Liu
    Signed-off-by: Johan Hovold

    Johan Hovold
     

18 Aug, 2014

3 commits

  • This reverts commit 73228a0538a7 ("USB: option,zte_ev: move most ZTE
    CDMA devices to zte_ev").

    Move the IDs of the devices that were previously driven by the option
    driver back to that driver.

    As several users have reported, the zte_ev driver is causing random
    disconnects as well as reconnect failures.

    A closer analysis of the zte_ev setup code reveals that it consists of
    standard CDC requests (SET/GET_LINE_CODING and SET_CONTROL_LINE_STATE)
    but unfortunately fails to get some of those right. In particular, as
    reported by Liu Lei, it fails to lower DTR/RTS on close. It also appears
    that the control requests lack the interface argument.

    Note that the zte_ev driver is based on code (once) distributed by ZTE
    that still appears to originally have been reverse-engineered and bolted
    onto the generic driver.

    Since line control is already handled properly by the option driver, and
    the SET/GET_LINE_CODING requests appears to be redundant (amounts to a
    SET 9600 8N1), this is a first step in ultimately removing the redundant
    zte_ev driver.

    Note that AC2726 had already been moved back to option, and that some
    IDs were in the device table of both drivers prior to the commit being
    reverted.

    Reported-by: Lei Liu
    Cc:
    Signed-off-by: Johan Hovold

    Johan Hovold
     
  • This VIA Telecom baseband processor is used is used by by u-blox in both the
    FW2770 and FW2760 products and may be used in others as well.

    This patch has been tested on both of these modem versions.

    Signed-off-by: Brennan Ashton
    Cc: stable
    Signed-off-by: Johan Hovold

    Brennan Ashton
     
  • Do not log normal interrupt-urb shutdowns as errors.

    The option driver has always been logging any nonzero interrupt-urb
    status as an error, including when the urb is killed during normal
    operation.

    Commit 9096f1fbba91 ("USB: usb_wwan: fix potential NULL-deref at
    resume") moved the interrupt urb submission from port probe and release
    to open and close, thus potentially increasing the number of these
    false-positive error messages dramatically.

    Reported-by: Ed Butler
    Tested-by: Ed Butler
    Cc:
    Signed-off-by: Johan Hovold

    Johan Hovold
     

07 Jul, 2014

1 commit


23 Jun, 2014

2 commits

  • Adding a couple of Olivetti modems and blacklisting the net
    function on a couple which are already supported.

    Reported-by: Lars Melin
    Cc:
    Signed-off-by: Bjørn Mork
    Signed-off-by: Johan Hovold

    Bjørn Mork
     
  • Reported by Alif Mubarak Ahmad:

    This device vendor and product id is 1c9e:9800
    It is working as serial interface with generic usbserial driver.
    I thought it is more suitable to use usbserial option driver, which has
    better capability distinguishing between modem serial interface and
    micro sd storage interface.

    [ johan: style changes ]

    Signed-off-by: Oliver Neukum
    Tested-by: Alif Mubarak Ahmad
    Cc:
    Signed-off-by: Johan Hovold

    Oliver Neukum
     

09 Jun, 2014

1 commit

  • Now that 3.15 is released, this merges the 'next' branch into 'master',
    bringing us to the normal situation where my 'master' branch is the
    merge window.

    * accumulated work in next: (6809 commits)
    ufs: sb mutex merge + mutex_destroy
    powerpc: update comments for generic idle conversion
    cris: update comments for generic idle conversion
    idle: remove cpu_idle() forward declarations
    nbd: zero from and len fields in NBD_CMD_DISCONNECT.
    mm: convert some level-less printks to pr_*
    MAINTAINERS: adi-buildroot-devel is moderated
    MAINTAINERS: add linux-api for review of API/ABI changes
    mm/kmemleak-test.c: use pr_fmt for logging
    fs/dlm/debug_fs.c: replace seq_printf by seq_puts
    fs/dlm/lockspace.c: convert simple_str to kstr
    fs/dlm/config.c: convert simple_str to kstr
    mm: mark remap_file_pages() syscall as deprecated
    mm: memcontrol: remove unnecessary memcg argument from soft limit functions
    mm: memcontrol: clean up memcg zoneinfo lookup
    mm/memblock.c: call kmemleak directly from memblock_(alloc|free)
    mm/mempool.c: update the kmemleak stack trace for mempool allocations
    lib/radix-tree.c: update the kmemleak stack trace for radix tree allocations
    mm: introduce kmemleak_update_trace()
    mm/kmemleak.c: use %u to print ->checksum
    ...

    Linus Torvalds
     

28 May, 2014

5 commits

  • Adds product ID for the Novatel E371 PCI Express Mini Card.

    $ lsusb
    Bus 001 Device 024: ID 1410:9011 Novatel Wireless

    $ usb-devices
    T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 24 Spd=480 MxCh= 0
    D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=1410 ProdID=9011 Rev=00.03
    S: Manufacturer=Novatel Wireless, Inc.
    S: Product=Novatel Wireless HSPA
    S: SerialNumber=012773002115811
    C: #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA
    I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I: If#= 1 Alt= 0 #EPs= 2 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= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I: If#= 6 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
    I: If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether

    Tested with kernel 3.2.0.

    Signed-off-by: Alexej Starschenko
    Cc: stable
    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Alexej Starschenko
     
  • The driver does not implement set_termios so the operation can be left
    unset (tty will do the tty_termios_copy_hw for us).

    Note that the send_setup call is bogus as it really only sets DTR/RTS
    to their current values.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • We should call usb_mark_last_busy in all input paths, including the
    interrupt completion handler.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • The option line-control request has been using the wrong pipe direction,
    while relying on USB core to fix it up.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Fix potential I/O while runtime suspended due to missing PM operations
    in send_setup.

    Fixes: 383cedc3bb43 ("USB: serial: full autosuspend support for the
    option driver")

    Cc: # v2.6.32
    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     

26 Apr, 2014

3 commits


17 Apr, 2014

1 commit


19 Feb, 2014

1 commit


12 Feb, 2014

1 commit


04 Jan, 2014

1 commit

  • Add support for iBall 3.5G connect usb modem.

    $lsusb
    Bus 002 Device 006: ID 1c9e:9605 OMEGA TECHNOLOGY

    $usb-devices
    T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 6 Spd=480 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1c9e ProdID=9605 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= 2 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=option
    I: If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

    Signed-off-by: Rahul Bedarkar
    Suggested-by: Bjørn Mork
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Rahul Bedarkar
     

25 Dec, 2013

1 commit


19 Dec, 2013

1 commit


10 Dec, 2013

1 commit


03 Dec, 2013

2 commits


25 Oct, 2013

1 commit


17 Oct, 2013

1 commit


12 Oct, 2013

2 commits


01 Oct, 2013

1 commit

  • Hi,

    my Huawei 3G modem has an embedded Smart Card reader which causes
    trouble when the modem is being detected (a bunch of " (ttyUSBx):
    open blocked by driver for more than 7 seconds!" in messages.log). This
    trivial patch corrects the problem for me. The modem identifies itself
    as "12d1:1406 Huawei Technologies Co., Ltd. E1750" in lsusb although the
    description on the body says "Model E173u-1"

    Signed-off-by: Michal Malý
    Cc: Bjørn Mork
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Michal Malý
     

26 Jul, 2013

3 commits


25 Jul, 2013

1 commit


24 Jul, 2013

2 commits

  • Signed-off-by: Bjørn Mork
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Bjørn Mork
     
  • Adding support for D-Link DWM-152/C1 and DWM-156/C1 devices.

    DWM-152/C1:
    T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 6 Spd=480 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=07d1 ProdID=3e01 Rev= 0.00
    S: Product=USB Configuration
    S: SerialNumber=1234567890ABCDEF
    C:* #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
    E: Ad=82(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=ff Prot=ff Driver=option
    E: Ad=83(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=option
    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= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    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= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
    E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

    DWM-156/C1:
    T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 8 Spd=480 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=07d1 ProdID=3e02 Rev= 0.00
    S: Product=DataCard Device
    S: SerialNumber=1234567890ABCDEF
    C:* #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
    E: Ad=82(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=ff Prot=ff Driver=option
    E: Ad=83(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=option
    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= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    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= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
    E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

    Signed-off-by: Alexandr Ivanov
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alexandr \"Sky\" Ivanov
     

23 Jul, 2013

1 commit

  • This patch was tested on 3.10.1 kernel.

    Same models of Petatel NP10T modems have different device IDs.
    Unfortunately they have no additional revision information on a board
    which may treat them as different devices. Currently I've seen only
    two NP10T devices with various IDs. Possibly Petatel NP10T list will
    be appended upon devices with new IDs will appear.

    Signed-off-by: Daniil Bolsun
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Daniil Bolsun