3

UPDATE: the modem works out of the box with Ubuntu 16.04!

HP lt4112 LTE/HSPA+ Gobi 4G Modem (Huawei ME906E, M.2 => USB)

The "ethernet module" is seen, but not the broadband modem. I was trying a LOT of things, and once a window asking the SIM popped up randomly. I entered it, everything showed up properly in network manager, I could connect and use LTE network from Ubuntu. After restart all vanished, could not reproduce since. Hardware works under windows, GPS of the same device works perfectly.

This modem does not work with serial, only wdm as far as I know.

What is weird: there is no cdc_* device under /dev !! So all other magic with qmicli etc cannot be tried.

The PC itself (HP EliteBook 745) is a bit picky. It needed extra kernel options to make even WLAN work...

USB: 03f0:581d

lsusb -d 03f0:581d
Bus 002 Device 002: ID 03f0:581d Hewlett-Packard

looks ok

rfkill list
4: hp-wwan: Wireless WAN
    Soft blocked: no
    Hard blocked: no

looks ok

uname -a
Linux HPEB 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

qmi_wwan should be working since 3.4

sudo modprobe qcserial vendor=0x03f0 product=0x581d

no error

ifconfig
usb0      Link encap:Ethernet  HWaddr 02:1e:10:1f:00:00  
          inet6 addr: fe80::1e:10ff:fe1f:0/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:90 (90.0 B)

Do you have any idea? I spent two days with reading forums and answers to similar questions, but got stuck. This is my first thing ever I cannot get working on Ubuntu without asking here.


Syslog after successful modprobe by patch provided in answer:

Mar 31 16:24:13 HPEB kernel: [  217.030297] usbcore: registered new interface driver qcserial
Mar 31 16:24:13 HPEB kernel: [  217.030391] usbserial: USB Serial support registered for Qualcomm USB modem
Mar 31 16:24:13 HPEB kernel: [  217.037026] qcserial 2-2:2.2: Qualcomm USB modem converter detected
Mar 31 16:24:13 HPEB kernel: [  217.037305] usb 2-2: Qualcomm USB modem converter now attached to ttyUSB0
Mar 31 16:24:13 HPEB kernel: [  217.076810] qcserial 2-2:2.3: Qualcomm USB modem converter detected
Mar 31 16:24:13 HPEB kernel: [  217.077191] usb 2-2: Qualcomm USB modem converter now attached to ttyUSB1

Output of lsusb -vd 03f0:581d:

Bus 002 Device 002: ID 03f0:581d Hewlett-Packard 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  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 0123456712ABCA17
  bNumConfigurations      3
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          157
    bNumInterfaces          5
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      2 
      iInterface             50 HP lt4112 Gobi 4G Module
      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 lt4112 Gobi 4G Module
      Endpoint Descriptor:
    bLength                 7
    bDescriptorType         5
    bEndpointAddress     0x82  EP 2 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 lt4112 Gobi 4G Module
      ** 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     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       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      7 
      iInterface             55 HP lt4112 Gobi 4G Module
      Endpoint Descriptor:
    bLength                 7
    bDescriptorType         5
    bEndpointAddress     0x86  EP 6 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     0x85  EP 5 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           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      5 
      iInterface             53 HP lt4112 Gobi 4G Module
      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     0x05  EP 5 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          149
    bNumInterfaces          5
    bConfigurationValue     2
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0 
      iInterface             57 HP lt4112 Gobi 4G Module
      CDC Header:
    bcdCDC               1.10
      CDC Union:
    bMasterInterface        0
    bSlaveInterface         1 
      CDC Ethernet:
    iMacAddress                     11 021E101F0000
    bmEthernetStatistics    0x00000000
    wMaxSegmentSize               1514
    wNumberMCFilters            0x0000
    bNumberPowerFilters              0
      Endpoint Descriptor:
    bLength                 7
    bDescriptorType         5
    bEndpointAddress     0x82  EP 2 IN
    bmAttributes            3
      Transfer Type            Interrupt
      Synch Type               None
      Usage Type               Data
    wMaxPacketSize     0x0010  1x 16 bytes
    bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface             57 HP lt4112 Gobi 4G Module
      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           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      3 
      iInterface             51 HP lt4112 Gobi 4G Module
      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        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      2 
      iInterface             50 HP lt4112 Gobi 4G Module
      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        4
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      5 
      iInterface             53 HP lt4112 Gobi 4G Module
      Endpoint Descriptor:
    bLength                 7
    bDescriptorType         5
    bEndpointAddress     0x85  EP 5 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
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          118
    bNumInterfaces          3
    bConfigurationValue     3
    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       32
    bMaxFilterSize       128
    wMaxSegmentSize      1500
    bmNetworkCapabilities 0x20
      8-byte ntb input size
      UNRECOGNIZED CDC:  08 24 1c 00 01 40 dc 05
      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             13 MBIM Data
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 
      iInterface             13 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           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      5 
      iInterface             53 HP lt4112 Gobi 4G Module
      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            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      3
Device Status:     0x0000
  (Bus Powered)
1
  • I'm on Ubuntu 16.04.1 and it's not working out of the box... I have the same behaviour reported here for Ubuntu 14.04
    – Wizard79
    Oct 4, 2018 at 9:43

3 Answers 3

1

I got it working on Ubuntu 14.04.2 and 15.04. Hopefully this will help someone figure out what the actual problem is, and fix it.

Remember to insert SIM card, otherwise the device won't appear in NetworkManager. In 15.04 it is shown as "not enabled".

# lsusb -v -d 03f0:581d | egrep 'i(Product|Manufacturer)'
  iManufacturer           2 Hewlett-Packard
  iProduct                3 HP lt4112 Gobi 4G Module
# echo '03f0 581d' > /sys/bus/usb-serial/drivers/generic/new_id
# service modemmanager restart

After 10 seconds or so, the PIN query window pops up.

2
  • Thanks, after 15.04 update I will check this option as well!
    – William
    May 22, 2015 at 7:36
  • On ubuntu 16.04.1 after the last command I get Failed to restart modemmanager.service: Unit modemmanager.service not found. and indeed there is no such file in the system
    – Wizard79
    Oct 4, 2018 at 9:50
0

I made it working today on my Ubuntu installation. It's the QCSERIAL.C module which need to be patched. You can find the pre patched files here: http://thuis.schroth.nl:8008/qcserial/

Make sure you download first the kernel headers.

  1. sudo apt-get install linux-headers-$(uname -r)
  2. sudo rmmod qcserial
  3. Download the 3 files from my given link above and place them in a separate directory, e.g. /tmp/compile
  4. cd /tmp/compile
  5. make
  6. if no errors occured, run sudo make install
  7. sudo modprobe qcserial

Now you will find the card in network manager and you can use it.

Remember to redo this every time when you do a kernel update, until the Ubuntu guys patched this bug.

-==-= update in relation to what is changed

Can you please past the output of the syslog after you have reloaded the qcserial module... the problem is that qcserial gives you one device. /dev/ttyUSB2 and it need to have the /dev/ttyUSB3 as well. ttyUSB3 is the device where the network manager talks to...

i have grabbed the code from : http://lxr.free-electrons.com/source/drivers/usb/serial/qcserial.c and i have removed and added :

This code was

case 0:
case 2:
  dev_dbg(dev, "Modem port found\n");
  break;
case 1:
  dev_dbg(dev, "DM/DIAG 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;

replaced by this

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;
         

This does the job with the given script.

7
  • Thanks for investigating my problem. Firstly, what is different in this qcserial code? Secondly, it does not make any change for me. There is only an ethernet device with cable unplugged, but no mobile broadband devices in network manager.
    – William
    Mar 31, 2015 at 12:36
  • Can you please past the output of the syslog after you have reloaded the qcserial module... the problem is that qcserial gives you one device. /dev/ttyUSB2 and it need to have the /dev/ttyUSB3 as well. ttyUSB3 is the device where the network manager talks to...
    – philip
    Mar 31, 2015 at 13:13
  • Success! Code was good, modemmanager somehow disappeared from the system with some older cleanup. Now back. It works! Syslog output added to question though.
    – William
    Mar 31, 2015 at 13:30
  • It connects only to 3G. When it connected once before, that was 4G. But I don't care right now really. :)
    – William
    Mar 31, 2015 at 14:29
  • Thanks for the confirmation. I will check the 4g option later. The card i use in my HP 840 G2 is a 3G only card. so i cant tell you if it works with 4g . it was more a proof of concept that the qcserial is the problem with this card. I am pleased i have helped you out!! that is what our linux community is all about
    – philip
    Mar 31, 2015 at 14:49
0

sudo modprobe qcserial vendor=0x03f0 product=0x581d

This is always wrong, even when it happens to work! But you log shows that the qcserial driver binds successfully, so it is not a problem here.

ifconfig usb0 Link encap:Ethernet HWaddr 02:1e:10:1f:00:00

The "usb0" interface name is unexpected if the driver is qmi_wwan, so I think this device is handled by the cdc_ether driver here. Is that correct? The modem probably have several different modes, where one use cdc_ether while another use qmi_wwan. Could you provide the output of

lsusb -vd 03f0:581d

This will show all available configurations for that device ID. I'm guessing that you want a non-default configuration for qmi_wwan support.

(It is possible to use the modem with cdc_ether as well. You'll then use AT commands to manage it instead of QMI. But ModemManager probably doesn't support that by default for this modem, because QMI usually is far superior. And more "standard", being similar among Qualcomm based modems from many different vendors)

3
  • I extended my question with the output of lsusb -vd 03f0:581d. Do you have any comments how it could be made work with qmi_wwan?
    – William
    Apr 8, 2015 at 20:44
  • Thanks a lot! That shows a couple of interesting issues: 3 configurations: 1: QMI (qmI_wwan - wwan0), 2: CDC ECM (cdc_ether - usb0), 3: MBIM (cdc_mbim - wwan0).
    – NNN
    Apr 9, 2015 at 8:57
  • Do you have some hints or links how to set up qmi_wwan configuration for this device?
    – William
    Apr 10, 2015 at 9:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .