Hi,

after i've got a shiny new laptop (HP Zbook 14) discovered that the
integrated 4G-Modem was not supported :/
It's a "HP lt4112 Gobi 4G" Modem (which is a HP-branded Huawei ME906E)
http://consumer.huawei.com/en/solutions/m2m-solutions/products/tech-specs/me906e-en.htm

Despite the cards description has "Gobi" in it's name none of the
existing gobi layouts in the qcserial driver worked.
So i've modified the qcserial and the qmi_wwan driver (against kernel
3.16.6) and after some testing i've got the following layout:

----------------------------
## HP lt4112 Gobi 4G Modem
----------------------------
# 1st USB Configuration Descriptor:
-----------------------------------------------------------------------------
0 - HP Mobile Connect - PC UI Interface         // AT-capable modem port
1 - HP Mobile Connect - Application Interface   // DM/DIAG
2 - HP Mobile Connect - Modem                   // AT-capable modem port
3 - HP Mobile Connect - PCSC Interface          // CCID compatible SC
4 - HP Mobile Connect - Network Card            // QMI/net
5 - HP Mobile Connect - GPS Interface           // NMEA
-----------------------------------------------------------------------------
# 2nd USB Configuration Descriptor:
------------------------------------------------------
0 - HP lt4112 Gobi 4G Module                    // ???
1 - MBIM Data                                   // ???
1 - MBIM Data                                   // ???
2 - HP Mobile Connect - GPS Interface           // ???
------------------------------------------------------


Now I'm able to establish a ppp-based internet connection on both
AT-compatible modem ports.
The modem has to be initialized with "AT+CFUN" otherwise it won't work!
If you ever need to reboot the modem through the AT-port use "AT$QCPWRDN"

I've also tested the DM/DIAG port (see attachment).

The modem supports GPS/GLONASS and after issueing "AT^WPDGP" on one of
the AT-ports you'll see NMEA-output on the NMEA-interface (speed 9600, 8N1)
So far i've seen the following NEMA-sentences:
GPGSV,GPGGA,GPVTG,GPGSA,GPRMC.
You can stop receiving GNSS with "AT^WPEND" on an AT-port.

There's also a QMI-port. I haven't done much with it yet - but at least
some qmicli commands seem to work as expected (see attachment).

Interestingly the device also expose a CCID compatible smartcard interface.
Unfortunately my naive approach to add support to the pcsc-lite ccid
driver adding USB vendor/product-id/description to
ifd-ccid.bundle/Contents/Info.plist did not work (see attachment).

Has anyone worked with those types of PCSC-interfaces before?

Finally there's seems to be MBIM support for this device but i've no
clue how to activate that.

I've attached the patches and some debug-logs for further information.

best regards,
Martin
fox:~ # lsusb -v -d 03f0:581d

Bus 002 Device 005: ID 03f0:581d Hewlett-Packard 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x03f0 Hewlett-Packard
  idProduct          0x581d 
  bcdDevice            2.28
  iManufacturer           2 Hewlett-Packard
  iProduct                3 HP lt4112 Gobi 4G Module
  iSerial                 4 0123456789ABCDEF
  bNumConfigurations      2
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          293
    bNumInterfaces          6
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      2 
      iInterface             50 HP Mobile Connect - PC UI Interface
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      3 
      iInterface             51 HP Mobile Connect - Application Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      1 
      iInterface             49 HP Mobile Connect - Modem
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass        11 Chip/SmartCard
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface             52 HP Mobile Connect - PCSC Interface
      ChipCard Interface Descriptor:
        bLength                54
        bDescriptorType        33
        bcdCCID              1.10  (Warning: Only accurate for version 1.0)
        nMaxSlotIndex           0
        bVoltageSupport         2  3.0V 
        dwProtocols             1  T=0
        dwDefaultClock       3580
        dwMaxiumumClock      3580
        bNumClockSupported      0
        dwDataRate           9600 bps
        dwMaxDataRate        9600 bps
        bNumDataRatesSupp.      0
        dwMaxIFSD               0
        dwSyncProtocols  00000000 
        dwMechanical     00000000 
        dwFeatures       0002007E
          Auto configuration based on ATR
          Auto activation on insert
          Auto voltage selection
          Auto clock change
          Auto baud rate change
          Auto parameter negotation made by CCID
          Short APDU level exchange
        dwMaxCCIDMsgLen       512
        bClassGetResponse      00
        bClassEnvelope         00
        wlcdLayout           none
        bPINSupport             0 
        bMaxCCIDBusySlots       1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      7 
      iInterface             55 HP Mobile Connect - Network Card
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x89  EP 9 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x88  EP 8 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        5
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      5 
      iInterface             77 HP Mobile Connect - GPS Interface
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8b  EP 11 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          136
    bNumInterfaces          3
    bConfigurationValue     2
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass      14 
      bFunctionProtocol       0 
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass     14 
      bInterfaceProtocol      0 
      iInterface             56 HP lt4112 Gobi 4G Module
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      CDC MBIM:
        bcdMBIMVersion       1.00
        wMaxControlMessage   4096
        bNumberFilters       16
        bMaxFilterSize       128
        wMaxSegmentSize      1500
        bmNetworkCapabilities 0x20
          8-byte ntb input size
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 
      iInterface              8 MBIM Data
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 
      iInterface              8 MBIM Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      5 
      iInterface             77 HP Mobile Connect - GPS Interface
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      2
Device Status:     0x0000
  (Bus Powered)

ATI
Manufacturer: Hewlett-Packard
Model: ME906E
Revision: 11.234.45.03.00
IMEI: ***************
+GCAP: +CGSM

OK

---------------------------------------
AT^SYSCFGEX=?
^SYSCFGEX: 
("00","03","02","01","99"),((2000004e80380,"GSM850/GSM900/GSM1800/GSM1900/WCDMA850/WCDMA900/WCDMA1900/WCDMA2100"),(3fffffff,"All
 
Bands")),(0-3),(0-4),((800d7,"LTE1900/LTE2100/LTE2600/LTE1800/LTE900/LTEDD800/LTE850"),(7fffffffffffffff,"All
 Bands"))

---------------------------------------
AT^VERSION?
^VERSION:BDT:Jun 14 2013 19:29:15
^VERSION:EXTS:11.503.00.09.00
^VERSION:INTS:
^VERSION:EXTD:DEFAULT_01
^VERSION:INTD:DEFAULT_01
^VERSION:EXTH:ME906EMD1ME906EM Ver.B
^VERSION:INTH:ME906EMD1ME906EM Ver.B
^VERSION:EXTU:ME906E
^VERSION:INTU:ME906E
^VERSION:CFG:1004
^VERSION:PRL:
^VERSION:OEM:ME906ECUST-B001SP4_HP
^VERSION:INI:

---------------------------------------
AT^HWVER
^HWVER:"MD1ME906EM"

---------------------------------------
AT^SETPORT=?

1:MODEM
2:PCUI·
3:DIAG
4:PCSC
5:GPS
6:GPS CONTROL
7:NDIS
A:BLUE TOOTH
B:FINGER PRINT
D:MMS
E:PC VOICE
20:MBIM
A1:CDROM
A2:SD

---------------------------------------
AT^SETPORT?

FF;2,3,1,4,7,5;FF;20,5

---------------------------------------
AT^DIALMODE?
^DIALMODE: 2,3

---------------------------------------
AT^MTCARRIER?
^MTCARRIER: "26201","TDG","Telekom.de","11.234.45.00.00","04"

OK
AT^MTCARRIER=?
^MTCARRIER: "20205","voda GR","vodafone GR","11.234.45.00.00","02"
^MTCARRIER: "26201","TDG","Telekom.de","11.234.45.00.00","04"
^MTCARRIER: "21403","Orange","Orange","11.234.45.00.00","02"
^MTCARRIER: "22801","Swisscom","Swisscom","11.234.45.00.00","02"
^MTCARRIER: "50501","Telstra","Telstra Mobile","11.234.45.00.00","04"
^MTCARRIER: "00000","GEN","Generic","11.234.45.00.00","03"
^MTCARRIER: "99999","GEN(IPv4)","Generic(IPv4)","11.234.45.00.00","03"

OK
AT^MTCDEFAULT?
^MTCDEFAULT: "00000","GEN","Generic","11.234.45.00.00","03"


---------------------------------------
AT+CLAC
&C
&D
&E
&F
&S
&V
&W
E
I
L
M
Q
V
X
Z
T
P
\Q
\S
\V
%V
D
A
H
O
S0
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S30
S103
S104
+FCLASS
+ICF
+IFC
+IPR
+GMI
+GMM
+GMR
+GCAP
+GSN
+DR
+DS
+CMEE
+WS46
+PACSP
+CFUN
+CLCC
+CBST
+CRLP
+CV120
+CHSN
+CSSN
+CREG
+CGREG
+CEREG
+CSCS
+CSTA
+CR
+CEER
+CRC
+CGDCONT
+CGDSCONT
+CGTFT
+CGEQREQ
+CGEQMIN
+CGEQNEG
+CGEQOS
+CGCONTRDP
+CGSCONTRDP
+CGTFTRDP
+CGEQOSRDP
+CGQREQ
+CGQMIN
+CGEREP
+CGPADDR
+CGDATA
+CGCLASS
+CGPIAF
+CGSMS
+CSMS
+CMGF
+CSAS
+CRES
+CSCA
+CSMP
+CSDH
+CSCB
+FDD
+FAR
+FCL
+FIT
+ES
+ESA
+CMOD
+CEMODE
+CVHU
+CECALL
+HUAWEI
^TBAT
^TCHRENABLE
^TCHRINFO
^APBATLVL
^SETMODE
$QCSIMSTAT
$QCPBMPREF
$CREG
$CCLK
$QCCNMI
*CNTI
$QCCLR
$QCDMR
$QCDNSP
$QCDNSS
$QCTER
$QCSLOT
$QCSIMAPP
$QCPINSTAT
$QCPDPP
$QCPDPLT
$QCPWRDN
$QCDGEN
$QCPDPCFGE
$BREW
$QCANTE
$QCRPW
$QCSQ
$CSQ
$QCSYSMODE
$QCCTM
$QCBANDPREF
^DSCI
$QCVOLT
$QCHWREV
$QCBOOTVER
$ECALL
$QCDEFPROF
$QCMRUE
$QCMRUC
$QCAPNE
$QCPDPIMSCFGE
$QCCLAC
$QCRMCALL
$QCDRX
--------------------------------------

# ./qcdm.pl /dev/ttyUSB1
Debug level: /dev/ttyUSB1 = 1 at ./qcdm.pl line 70.
## using /dev/ttyUSB1
>>> GET_VERSION >>> 00 78 F0 7E  "\0x\xF0~"
<<< 00 4A 75 6E 20 31 34 20 32 30 31 33 31 39 3A 32 39 3A 31 35 4A 75 6E 20 31 
30 20 32 30 31 33 30 33 3A 30 30 3A 30 30 41 43 45 54 57 4D 41 5A 2A 09 FF 64 
00 01 07 40 30 89 7E  "\0Jun 14 201319:29:15Jun 10 
201303:00:00ACETWMAZ*\t\xFFd\0\1\a\@0\x89~"
>>> GET_DIAG_VERSION >>> 1C 95 2A 7E  "\34\x95*~"
<<< 1C 08 00 3A 28 7E  "\34\b\0:(~"
>>> GET_SERIAL_NUMBER >>> 01 F1 E1 7E  "\1\xF1\xE1~"
<<< 01 00 00 00 00 33 C4 7E  "\1\0\0\0\x003\xC4~"
>>> EXTENDED_BUILD_ID >>> 7C 93 49 7E  "|\x93I~"
<<< 7C 02 00 00 00 00 74 60 E6 0F 00 00 31 31 2E 32 33 34 2E 34 35 2E 30 33 2E 
30 30 00 00 7D 5E 99 7E  "|\2\0\0\0\0t`\xE6\17\0\x0011.234.45.03.00\0\0}^\x99~"
## /dev/ttyUSB1 closed

# pcscd --foreground --debug --apdu
00000000 debuglog.c:295:DebugLogSetLevel() debug level=debug
00000051 debuglog.c:324:DebugLogSetCategory() Debug options: APDU
00000140 configfile.l:286:DBGetReaderListDir() Parsing conf directory: 
/etc/reader.conf.d
00000060 configfile.l:298:DBGetReaderListDir() Skipping non regular file: .
00000030 configfile.l:298:DBGetReaderListDir() Skipping non regular file: ..
00000061 configfile.l:339:DBGetReaderList() Parsing conf file: 
/etc/reader.conf.d/reader.conf
00000162 configfile.l:339:DBGetReaderList() Parsing conf file: 
/etc/reader.conf.d/libccidtwin
00000067 pcscdaemon.c:571:main() pcsc-lite 1.8.11 daemon ready.
00002805 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000147 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000181 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x0424, PID: 0x2134, path: /dev/bus/usb/002/002
00000183 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000138 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x0424, PID: 0x2134, path: /dev/bus/usb/002/003
00000189 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x8087, PID: 0x07DC, path: /dev/bus/usb/002/007
00000135 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x8087, PID: 0x07DC, path: /dev/bus/usb/002/007
00000140 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x0424, PID: 0x2134, path: /dev/bus/usb/002/003
00000172 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000142 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x138A, PID: 0x003F, path: /dev/bus/usb/002/004
00000160 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000137 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000061 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000016 hotplug_libudev.c:347:HPAddDevice() Adding USB device: HP lt4112 Gobi 
4G Modem
00000098 readerfactory.c:1015:RFInitializeReader() Attempting startup of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - PC UI Interface] (0123456789ABCDEF) 
00 00 using /usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000355 readerfactory.c:900:RFBindFunctions() Loading IFD Handler 3.0
00000066 ifdhandler.c:1927:init_driver() Driver version: 1.4.18
00001174 ifdhandler.c:1944:init_driver() LogLevel: 0x0003
00000029 ifdhandler.c:1955:init_driver() DriverOptions: 0x0000
00000281 ifdhandler.c:96:CreateChannelByNameOrChannel() Lun: 0, device: 
usb:03f0/581d:libudev:0:/dev/bus/usb/002/005
00000034 ccid_usb.c:284:OpenUSBByName() Using: 
/usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000954 ccid_usb.c:302:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau 
(ludovic.rouss...@free.fr)
00000022 ccid_usb.c:303:OpenUSBByName() ifdProductString: Generic CCID driver
00000012 ccid_usb.c:304:OpenUSBByName() Copyright: This driver is protected by 
terms of the GNU Lesser General Public License version 2.1, or (at your option) 
any later version.
00003853 ccid_usb.c:574:OpenUSBByName() Found interface 0 but expecting 3
00000029 ccid_usb.c:576:OpenUSBByName() Wrong interface for USB device 2/5. 
Checking next one.
00000081 ccid_usb.c:191:close_libusb_if_needed() libusb_exit
00000192 ccid_usb.c:704:OpenUSBByName() Device not found?
00000022 ifdhandler.c:130:CreateChannelByNameOrChannel() failed
00000045 readerfactory.c:1046:RFInitializeReader() Open Port 0x200000 Failed 
(usb:03f0/581d:libudev:0:/dev/bus/usb/002/005)
00000014 readerfactory.c:338:RFAddReader() HP lt4112 Gobi 4G Modem [HP Mobile 
Connect - PC UI Interface] (0123456789ABCDEF) init failed.
00000018 readerfactory.c:561:RFRemoveReader() UnrefReader() count was: 1
00000011 readerfactory.c:1066:RFUnInitializeReader() Attempting shutdown of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - PC UI Interface] (0123456789ABCDEF) 
00 00.
00000011 readerfactory.c:937:RFUnloadReader() Unloading reader driver.
00000245 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000046 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000014 hotplug_libudev.c:347:HPAddDevice() Adding USB device: HP lt4112 Gobi 
4G Modem
00000092 readerfactory.c:1015:RFInitializeReader() Attempting startup of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - Application Interface] 
(0123456789ABCDEF) 00 00 using 
/usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000285 readerfactory.c:900:RFBindFunctions() Loading IFD Handler 3.0
00000059 ifdhandler.c:1927:init_driver() Driver version: 1.4.18
00001063 ifdhandler.c:1944:init_driver() LogLevel: 0x0003
00000024 ifdhandler.c:1955:init_driver() DriverOptions: 0x0000
00000242 ifdhandler.c:96:CreateChannelByNameOrChannel() Lun: 0, device: 
usb:03f0/581d:libudev:1:/dev/bus/usb/002/005
00000028 ccid_usb.c:284:OpenUSBByName() Using: 
/usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000989 ccid_usb.c:302:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau 
(ludovic.rouss...@free.fr)
00000021 ccid_usb.c:303:OpenUSBByName() ifdProductString: Generic CCID driver
00000012 ccid_usb.c:304:OpenUSBByName() Copyright: This driver is protected by 
terms of the GNU Lesser General Public License version 2.1, or (at your option) 
any later version.
00003526 ccid_usb.c:574:OpenUSBByName() Found interface 1 but expecting 3
00000036 ccid_usb.c:576:OpenUSBByName() Wrong interface for USB device 2/5. 
Checking next one.
00000062 ccid_usb.c:191:close_libusb_if_needed() libusb_exit
00000117 ccid_usb.c:704:OpenUSBByName() Device not found?
00000044 ifdhandler.c:130:CreateChannelByNameOrChannel() failed
00000014 readerfactory.c:1046:RFInitializeReader() Open Port 0x200001 Failed 
(usb:03f0/581d:libudev:1:/dev/bus/usb/002/005)
00000010 readerfactory.c:338:RFAddReader() HP lt4112 Gobi 4G Modem [HP Mobile 
Connect - Application Interface] (0123456789ABCDEF) init failed.
00000011 readerfactory.c:561:RFRemoveReader() UnrefReader() count was: 1
00000011 readerfactory.c:1066:RFUnInitializeReader() Attempting shutdown of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - Application Interface] 
(0123456789ABCDEF) 00 00.
00000010 readerfactory.c:937:RFUnloadReader() Unloading reader driver.
00000214 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000040 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000012 hotplug_libudev.c:347:HPAddDevice() Adding USB device: HP lt4112 Gobi 
4G Modem
00000045 readerfactory.c:1015:RFInitializeReader() Attempting startup of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - Modem] (0123456789ABCDEF) 00 00 using 
/usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000270 readerfactory.c:900:RFBindFunctions() Loading IFD Handler 3.0
00000053 ifdhandler.c:1927:init_driver() Driver version: 1.4.18
00000950 ifdhandler.c:1944:init_driver() LogLevel: 0x0003
00000023 ifdhandler.c:1955:init_driver() DriverOptions: 0x0000
00000226 ifdhandler.c:96:CreateChannelByNameOrChannel() Lun: 0, device: 
usb:03f0/581d:libudev:2:/dev/bus/usb/002/005
00000026 ccid_usb.c:284:OpenUSBByName() Using: 
/usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000893 ccid_usb.c:302:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau 
(ludovic.rouss...@free.fr)
00000017 ccid_usb.c:303:OpenUSBByName() ifdProductString: Generic CCID driver
00000009 ccid_usb.c:304:OpenUSBByName() Copyright: This driver is protected by 
terms of the GNU Lesser General Public License version 2.1, or (at your option) 
any later version.
00002599 ccid_usb.c:574:OpenUSBByName() Found interface 2 but expecting 3
00000020 ccid_usb.c:576:OpenUSBByName() Wrong interface for USB device 2/5. 
Checking next one.
00000047 ccid_usb.c:191:close_libusb_if_needed() libusb_exit
00000111 ccid_usb.c:704:OpenUSBByName() Device not found?
00000019 ifdhandler.c:130:CreateChannelByNameOrChannel() failed
00000011 readerfactory.c:1046:RFInitializeReader() Open Port 0x200002 Failed 
(usb:03f0/581d:libudev:2:/dev/bus/usb/002/005)
00000008 readerfactory.c:338:RFAddReader() HP lt4112 Gobi 4G Modem [HP Mobile 
Connect - Modem] (0123456789ABCDEF) init failed.
00000009 readerfactory.c:561:RFRemoveReader() UnrefReader() count was: 1
00000007 readerfactory.c:1066:RFUnInitializeReader() Attempting shutdown of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - Modem] (0123456789ABCDEF) 00 00.
00000008 readerfactory.c:937:RFUnloadReader() Unloading reader driver.
00000173 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000033 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000009 hotplug_libudev.c:347:HPAddDevice() Adding USB device: HP lt4112 Gobi 
4G Modem
00000035 readerfactory.c:1015:RFInitializeReader() Attempting startup of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - PCSC Interface] (0123456789ABCDEF) 00 
00 using /usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000215 readerfactory.c:900:RFBindFunctions() Loading IFD Handler 3.0
00000041 ifdhandler.c:1927:init_driver() Driver version: 1.4.18
00000717 ifdhandler.c:1944:init_driver() LogLevel: 0x0003
00000017 ifdhandler.c:1955:init_driver() DriverOptions: 0x0000
00000165 ifdhandler.c:96:CreateChannelByNameOrChannel() Lun: 0, device: 
usb:03f0/581d:libudev:3:/dev/bus/usb/002/005
00000019 ccid_usb.c:284:OpenUSBByName() Using: 
/usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000697 ccid_usb.c:302:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau 
(ludovic.rouss...@free.fr)
00000014 ccid_usb.c:303:OpenUSBByName() ifdProductString: Generic CCID driver
00000008 ccid_usb.c:304:OpenUSBByName() Copyright: This driver is protected by 
terms of the GNU Lesser General Public License version 2.1, or (at your option) 
any later version.
00002401 ccid_usb.c:589:OpenUSBByName() Can't claim interface 2/5: -6
00000019 ccid_usb.c:191:close_libusb_if_needed() libusb_exit
00000130 ifdhandler.c:130:CreateChannelByNameOrChannel() failed
00000024 readerfactory.c:1046:RFInitializeReader() Open Port 0x200003 Failed 
(usb:03f0/581d:libudev:3:/dev/bus/usb/002/005)
00000008 readerfactory.c:338:RFAddReader() HP lt4112 Gobi 4G Modem [HP Mobile 
Connect - PCSC Interface] (0123456789ABCDEF) init failed.
00000008 readerfactory.c:561:RFRemoveReader() UnrefReader() count was: 1
00000007 readerfactory.c:1066:RFUnInitializeReader() Attempting shutdown of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - PCSC Interface] (0123456789ABCDEF) 00 
00.
00000009 readerfactory.c:937:RFUnloadReader() Unloading reader driver.
00000067 hotplug_libudev.c:417:HPAddDevice() Failed adding USB device: HP 
lt4112 Gobi 4G Modem
00000146 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000029 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000009 hotplug_libudev.c:347:HPAddDevice() Adding USB device: HP lt4112 Gobi 
4G Modem
00000033 readerfactory.c:1015:RFInitializeReader() Attempting startup of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - Network Card] (0123456789ABCDEF) 00 
00 using /usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000218 readerfactory.c:900:RFBindFunctions() Loading IFD Handler 3.0
00000039 ifdhandler.c:1927:init_driver() Driver version: 1.4.18
00000668 ifdhandler.c:1944:init_driver() LogLevel: 0x0003
00000015 ifdhandler.c:1955:init_driver() DriverOptions: 0x0000
00000163 ifdhandler.c:96:CreateChannelByNameOrChannel() Lun: 0, device: 
usb:03f0/581d:libudev:4:/dev/bus/usb/002/005
00000019 ccid_usb.c:284:OpenUSBByName() Using: 
/usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000639 ccid_usb.c:302:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau 
(ludovic.rouss...@free.fr)
00000014 ccid_usb.c:303:OpenUSBByName() ifdProductString: Generic CCID driver
00000009 ccid_usb.c:304:OpenUSBByName() Copyright: This driver is protected by 
terms of the GNU Lesser General Public License version 2.1, or (at your option) 
any later version.
00002432 ccid_usb.c:574:OpenUSBByName() Found interface 4 but expecting 3
00000019 ccid_usb.c:576:OpenUSBByName() Wrong interface for USB device 2/5. 
Checking next one.
00000043 ccid_usb.c:191:close_libusb_if_needed() libusb_exit
00000102 ccid_usb.c:704:OpenUSBByName() Device not found?
00000018 ifdhandler.c:130:CreateChannelByNameOrChannel() failed
00000010 readerfactory.c:1046:RFInitializeReader() Open Port 0x200004 Failed 
(usb:03f0/581d:libudev:4:/dev/bus/usb/002/005)
00000007 readerfactory.c:338:RFAddReader() HP lt4112 Gobi 4G Modem [HP Mobile 
Connect - Network Card] (0123456789ABCDEF) init failed.
00000008 readerfactory.c:561:RFRemoveReader() UnrefReader() count was: 1
00000009 readerfactory.c:1066:RFUnInitializeReader() Attempting shutdown of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - Network Card] (0123456789ABCDEF) 00 
00.
00000006 readerfactory.c:937:RFUnloadReader() Unloading reader driver.
00000154 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000029 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x03F0, PID: 0x581D, path: /dev/bus/usb/002/005
00000009 hotplug_libudev.c:347:HPAddDevice() Adding USB device: HP lt4112 Gobi 
4G Modem
00000032 readerfactory.c:1015:RFInitializeReader() Attempting startup of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - GPS Interface] (0123456789ABCDEF) 00 
00 using /usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000201 readerfactory.c:900:RFBindFunctions() Loading IFD Handler 3.0
00000039 ifdhandler.c:1927:init_driver() Driver version: 1.4.18
00000674 ifdhandler.c:1944:init_driver() LogLevel: 0x0003
00000016 ifdhandler.c:1955:init_driver() DriverOptions: 0x0000
00000158 ifdhandler.c:96:CreateChannelByNameOrChannel() Lun: 0, device: 
usb:03f0/581d:libudev:5:/dev/bus/usb/002/005
00000018 ccid_usb.c:284:OpenUSBByName() Using: 
/usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000643 ccid_usb.c:302:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau 
(ludovic.rouss...@free.fr)
00000014 ccid_usb.c:303:OpenUSBByName() ifdProductString: Generic CCID driver
00000008 ccid_usb.c:304:OpenUSBByName() Copyright: This driver is protected by 
terms of the GNU Lesser General Public License version 2.1, or (at your option) 
any later version.
00002256 ccid_usb.c:574:OpenUSBByName() Found interface 5 but expecting 3
00000018 ccid_usb.c:576:OpenUSBByName() Wrong interface for USB device 2/5. 
Checking next one.
00000039 ccid_usb.c:191:close_libusb_if_needed() libusb_exit
00000112 ccid_usb.c:704:OpenUSBByName() Device not found?
00000017 ifdhandler.c:130:CreateChannelByNameOrChannel() failed
00000009 readerfactory.c:1046:RFInitializeReader() Open Port 0x200005 Failed 
(usb:03f0/581d:libudev:5:/dev/bus/usb/002/005)
00000007 readerfactory.c:338:RFAddReader() HP lt4112 Gobi 4G Modem [HP Mobile 
Connect - GPS Interface] (0123456789ABCDEF) init failed.
00000008 readerfactory.c:561:RFRemoveReader() UnrefReader() count was: 1
00000007 readerfactory.c:1066:RFUnInitializeReader() Attempting shutdown of HP 
lt4112 Gobi 4G Modem [HP Mobile Connect - GPS Interface] (0123456789ABCDEF) 00 
00.
00000007 readerfactory.c:937:RFUnloadReader() Unloading reader driver.
00000151 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000082 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x05C8, PID: 0x0369, path: /dev/bus/usb/002/006
00000099 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x05C8, PID: 0x0369, path: /dev/bus/usb/002/006
00000104 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0003, path: /dev/bus/usb/003/001
00000076 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0003, path: /dev/bus/usb/003/001
00000077 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x0424, PID: 0x5534, path: /dev/bus/usb/003/002
00000072 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0003, path: /dev/bus/usb/003/001
00000092 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x0424, PID: 0x5534, path: /dev/bus/usb/003/003
00000102 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000073 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000079 hotplug_libudev.c:295:get_driver() Looking for a driver for VID: 
0x8087, PID: 0x8000, path: /dev/bus/usb/001/002

dmesg (after loading my changed qcserial ko):
-------------------------------------------------------------------------------
[44981.729420] usbcore: registered new interface driver qcserial
[44981.729459] usbserial: USB Serial support registered for Qualcomm USB modem
[44981.731077] qcserial 2-6:1.0: Qualcomm USB modem converter detected
[44981.731315] usb 2-6: Qualcomm USB modem converter now attached to ttyUSB0
[44981.737955] qcserial 2-6:1.1: Qualcomm USB modem converter detected
[44981.738253] usb 2-6: Qualcomm USB modem converter now attached to ttyUSB1
[44981.739102] qcserial 2-6:1.2: Qualcomm USB modem converter detected
[44981.739325] usb 2-6: Qualcomm USB modem converter now attached to ttyUSB2
[44981.752896] qcserial 2-6:1.3: Qualcomm USB modem converter detected
[44981.753085] usb 2-6: Qualcomm USB modem converter now attached to ttyUSB3
[44981.754445] qcserial 2-6:1.5: Qualcomm USB modem converter detected
[44981.754609] usb 2-6: Qualcomm USB modem converter now attached to ttyUSB4
-------------------------------------------------------------------------------
dmesg (after loading my changed qmi_wwan ko):
-------------------------------------------------------------------------------
[67733.218454] usbcore: registered new interface driver cdc_wdm
[67759.648732] qmi_wwan 2-6:1.4: cdc-wdm0: USB WDM device
[67759.649164] qmi_wwan 2-6:1.4 wwan0: register 'qmi_wwan' at 
usb-0000:00:14.0-6, WWAN/QMI device, 3e:2d:54:2d:b7:af
[67759.649258] usbcore: registered new interface driver qmi_wwan
-------------------------------------------------------------------------------

diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
index b2aa003..4c47178 100644
--- a/drivers/usb/serial/qcserial.c
+++ b/drivers/usb/serial/qcserial.c
@@ -27,12 +27,15 @@ enum qcserial_layouts {
 	QCSERIAL_G2K = 0,	/* Gobi 2000 */
 	QCSERIAL_G1K = 1,	/* Gobi 1000 */
 	QCSERIAL_SWI = 2,	/* Sierra Wireless */
+	QCSERIAL_HWI = 3,	/* Huawei */
 };
 
 #define DEVICE_G1K(v, p) \
 	USB_DEVICE(v, p), .driver_info = QCSERIAL_G1K
 #define DEVICE_SWI(v, p) \
 	USB_DEVICE(v, p), .driver_info = QCSERIAL_SWI
+#define DEVICE_HWI(v, p) \
+	USB_DEVICE(v, p), .driver_info = QCSERIAL_HWI
 
 static const struct usb_device_id id_table[] = {
 	/* Gobi 1000 devices */
@@ -157,6 +160,9 @@ static const struct usb_device_id id_table[] = {
 	{DEVICE_SWI(0x413c, 0x81a8)},	/* Dell Wireless 5808 Gobi(TM) 4G LTE Mobile Broadband Card */
 	{DEVICE_SWI(0x413c, 0x81a9)},	/* Dell Wireless 5808e Gobi(TM) 4G LTE Mobile Broadband Card */
 
+	/* Huawei devices */
+	{DEVICE_HWI(0x03f0, 0x581d)},	/* HP lt4112 LTE/HSPA+ Gobi 4G Module (Huawei me906e) */
+
 	{ }				/* Terminating entry */
 };
 MODULE_DEVICE_TABLE(usb, id_table);
@@ -286,6 +292,37 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id)
 			altsetting = -1;
 			break;
 		}
+	case QCSERIAL_HWI:
+		/*
+		 * Huawei layout:
+		 * 0: AT-capable modem port
+		 * 1: DM/DIAG
+		 * 2: AT-capable modem port
+		 * 3: PCSC-compatible interface
+		 * 4: QMI/net
+		 * 5: NMEA
+		 */
+		switch (ifnum) {
+		case 0:
+			dev_dbg(dev, "Modem port found\n");
+			break;
+		case 1:
+			dev_dbg(dev, "DM/DIAG interface found\n");
+			break;
+		case 2:
+			dev_dbg(dev, "Modem port found\n");
+			break;
+		case 3:
+			dev_dbg(dev, "PCSC interface found\n");
+			break;
+		case 5:
+			dev_dbg(dev, "NMEA GPS interface found\n");
+			break;
+		default:
+			/* don't claim any unsupported interface */
+			altsetting = -1;
+			break;
+		}
 		break;
 	default:
 		dev_err(dev, "unsupported device layout type: %lu\n",
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 22756db..b8a82b8 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -780,6 +780,7 @@ static const struct usb_device_id products[] = {
        {QMI_FIXED_INTF(0x413c, 0x81a4, 8)},    /* Dell Wireless 5570e HSPA+ 
(42Mbps) Mobile Broadband Card */
        {QMI_FIXED_INTF(0x413c, 0x81a8, 8)},    /* Dell Wireless 5808 Gobi(TM) 
4G LTE Mobile Broadband Card */
        {QMI_FIXED_INTF(0x413c, 0x81a9, 8)},    /* Dell Wireless 5808e Gobi(TM) 
4G LTE Mobile Broadband Card */
+       {QMI_FIXED_INTF(0x03f0, 0x581d, 4)},    /* HP lt4112 LTE/HSPA+ Gobi 4G 
Module (Huawei me906e) */
 
        /* 4. Gobi 1000 devices */
        {QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},    /* Acer Gobi Modem Device */
# qmicli -d /dev/cdc-wdm0 --dms-get-capabilities
[/dev/cdc-wdm0] Device capabilities retrieved:
        Max TX channel rate: '50000000'
        Max RX channel rate: '100000000'
               Data Service: 'non-simultaneous-cs-ps'
                        SIM: 'supported'
                   Networks: 'gsm, umts, lte'
# qmicli -d /dev/cdc-wdm0 --dms-get-manufacturer
[/dev/cdc-wdm0] Device manufacturer retrieved:
        Manufacturer: 'QUALCOMM INCORPORATED'
# qmicli -d /dev/cdc-wdm0 --dms-get-model
[/dev/cdc-wdm0] Device model retrieved:
        Model: 'ME906E'
# qmicli -d /dev/cdc-wdm0 --dms-get-revision
[/dev/cdc-wdm0] Device revision retrieved:
        Revision: '11.234.45.03.00  1  [Jun 10 2013 03:00:00]'
# qmicli -d /dev/cdc-wdm0 --dms-get-msisdn
[/dev/cdc-wdm0] Device MSISDN retrieved:
        MSISDN: '49***********'
# qmicli -d /dev/cdc-wdm0 --dms-get-power-state
[/dev/cdc-wdm0] Device power state retrieved:
        Power state: 'external-source'
        Battery level: '0 %'
# qmicli -d /dev/cdc-wdm0 --dms-get-hardware-revision
[/dev/cdc-wdm0] Hardware revision retrieved:
        Revision: 'MD1ME906EM'
# qmicli -d /dev/cdc-wdm0 --dms-get-manufacturer
[/dev/cdc-wdm0] Device manufacturer retrieved:
        Manufacturer: 'QUALCOMM INCORPORATED'
# qmicli -d /dev/cdc-wdm0 --dms-get-band-capabilities
[/dev/cdc-wdm0] Device band capabilities retrieved:
        Bands: 'gsm-dcs-1800, gsm-900-extended, gsm-900-primary, gsm-850, 
gsm-pcs-1900, wcdma-2100, wcdma-pcs-1900, wcdma-850-us, wcdma-900'
        LTE bands: '1, 2, 3, 5, 7, 8, 20'
# qmicli -d /dev/cdc-wdm0 --wds-start-network="internet.telekom" 
--client-no-release-cid
[/dev/cdc-wdm0] Network started
        Packet data handle: '1138173488'
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '3'

_______________________________________________
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to