Support for HP lt4112 Gobi 4G Modem

2014-11-14 Thread Martin Hauke
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:
  bLength18
  bDescriptorType 1
  bcdUSB   2.00
  bDeviceClass  255 Vendor Specific Class
  bDeviceSubClass 0 
  bDeviceProtocol 0 
  bMaxPacketSize064
  idVendor   0x03f0 Hewlett-Packard
  idProduct  0x581d 
  bcdDevice2.28
  iManufacturer   2 Hewlett-Packard
  iProduct3 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
  bInterfaceNumber0
  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
bmAttributes3
  Transfer TypeInterrupt
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x000a  1x 10 bytes
bInterval   9
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81  EP 1 IN
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0200  1x 512 bytes
bInterval   0
  Endpoint Descriptor:

Re: Support for HP lt4112 Gobi 4G Modem

2014-11-14 Thread Dan Williams
On Fri, 2014-11-14 at 20:23 +0100, Martin Hauke wrote:
 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:

I see that QMI works on the device, and that would be the preferred
method to manage it.  If you keep the qmi_wwan changes, the ModemManager
should be able to handle the device as a QMI device and use the cdc-wdm0
interface for control (QMI commands) and the network interface for data.

MBIM might work too, but Im not sure what the driver binding situation
would be there yet.  Since QMI seems to work lets try that first.

Dan

 
 ## 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
 ___
 networkmanager-list mailing list
 networkmanager-list@gnome.org
 https://mail.gnome.org/mailman/listinfo/networkmanager-list


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


Re: Support for HP lt4112 Gobi 4G Modem

2014-11-14 Thread Martin Hauke
Hi,

On 14.11.2014 21:12, Dan Williams wrote:

 I see that QMI works on the device, and that would be the preferred
 method to manage it.  If you keep the qmi_wwan changes, the ModemManager
 should be able to handle the device as a QMI device and use the cdc-wdm0
 interface for control (QMI commands) and the network interface for data.
 
 MBIM might work too, but Im not sure what the driver binding situation
 would be there yet.  Since QMI seems to work lets try that first.

I've just tested an LTE-connection via qmi/wwan with ModemManager 1.0.0
without any problems.
However the maximum downlinkspeed wasn't better than before with the
AT-interface and was nearly the same as on Windows 8.1 (which seems to
use MBIM).

Are there any known issues with ModemManager when exposing the AT- and
the QMI-interfaces in parallel ?

 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?

Any thoughts on this?
It would be really cool to have this working since you can then send raw
APDUs to the SIM.

best regards,
Martin
___
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list


Re: Support for HP lt4112 Gobi 4G Modem

2014-11-14 Thread Dan Williams
On Fri, 2014-11-14 at 22:43 +0100, Martin Hauke wrote:
 Hi,
 
 On 14.11.2014 21:12, Dan Williams wrote:
 
  I see that QMI works on the device, and that would be the preferred
  method to manage it.  If you keep the qmi_wwan changes, the ModemManager
  should be able to handle the device as a QMI device and use the cdc-wdm0
  interface for control (QMI commands) and the network interface for data.
  
  MBIM might work too, but Im not sure what the driver binding situation
  would be there yet.  Since QMI seems to work lets try that first.
 
 I've just tested an LTE-connection via qmi/wwan with ModemManager 1.0.0
 without any problems.
 However the maximum downlinkspeed wasn't better than before with the
 AT-interface and was nearly the same as on Windows 8.1 (which seems to
 use MBIM).
 
 Are there any known issues with ModemManager when exposing the AT- and
 the QMI-interfaces in parallel ?

There aren't any known issues, but you usually cannot use them in
parallel for data sessions.  eg, you cannot typically have a ppp session
going on the AT port *and* a QMI data session on the 'net' port at the
same.  Firmware really doesn't like this, in my experience.

Note that ModemManager *may* use the AT port for some operations if the
device's QMI (or MBIM) firmware doesn't expose certain functionality.
But some devices expose multiple AT ports (like yours does) and
ModemManager will only use one.

  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?
 
 Any thoughts on this?
 It would be really cool to have this working since you can then send raw
 APDUs to the SIM.

ModemManager doesn't claim the PCSC port, so I guess any external
application that could speak the right protocol over that port could use
it for PCSC stuff.  I haven't looked into it though.

Dan

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