Huawei Gobi 3000 not detected

Bug #855706 reported by Varban
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ModemManager
Fix Committed
Undecided
Unassigned

Bug Description

I have a Huawei Gobi 3000 device that has a GSM firmware loaded and provides 3 ttyUSB interfaces via qcserial.
I can connect and use the device via pppd without a problem but modemmanager cannot detect the device.
Running on Debian Sid with modemmanager version 0.5-1
The serial device that pppd works with is ttyUSB1 and here is the output I get when running modem-manager --debug

modem-manager[6245]: <info> [1316615687.378757] [main.c:167] main(): ModemManager (version 0.5) starting...
modem-manager[6245]: <info> [1316615687.383918] [mm-manager.c:120] load_plugin(): Loaded plugin Option High-Speed
modem-manager[6245]: <info> [1316615687.384393] [mm-manager.c:120] load_plugin(): Loaded plugin Gobi
modem-manager[6245]: <info> [1316615687.384854] [mm-manager.c:120] load_plugin(): Loaded plugin Option
modem-manager[6245]: <info> [1316615687.385291] [mm-manager.c:120] load_plugin(): Loaded plugin MotoC
modem-manager[6245]: <info> [1316615687.385729] [mm-manager.c:120] load_plugin(): Loaded plugin Linktop
modem-manager[6245]: <info> [1316615687.386162] [mm-manager.c:120] load_plugin(): Loaded plugin Longcheer
modem-manager[6245]: <info> [1316615687.386582] [mm-manager.c:120] load_plugin(): Loaded plugin X22X
modem-manager[6245]: <info> [1316615687.387050] [mm-manager.c:120] load_plugin(): Loaded plugin Novatel
modem-manager[6245]: <info> [1316615687.387468] [mm-manager.c:120] load_plugin(): Loaded plugin Generic
modem-manager[6245]: <info> [1316615687.387904] [mm-manager.c:120] load_plugin(): Loaded plugin Samsung
modem-manager[6245]: <info> [1316615687.388325] [mm-manager.c:120] load_plugin(): Loaded plugin Nokia
modem-manager[6245]: <info> [1316615687.388748] [mm-manager.c:120] load_plugin(): Loaded plugin SimTech
modem-manager[6245]: <info> [1316615687.389193] [mm-manager.c:120] load_plugin(): Loaded plugin Ericsson MBM
modem-manager[6245]: <info> [1316615687.389637] [mm-manager.c:120] load_plugin(): Loaded plugin ZTE
modem-manager[6245]: <info> [1316615687.390064] [mm-manager.c:120] load_plugin(): Loaded plugin Wavecom
modem-manager[6245]: <info> [1316615687.390492] [mm-manager.c:120] load_plugin(): Loaded plugin Sierra
modem-manager[6245]: <info> [1316615687.390977] [mm-manager.c:120] load_plugin(): Loaded plugin Huawei
modem-manager[6245]: <info> [1316615687.391404] [mm-manager.c:120] load_plugin(): Loaded plugin AnyData
modem-manager[6245]: <debug> [1316615687.397584] [mm-manager.c:809] device_added(): (tty/ttyS0): port's parent platform driver is not whitelisted
modem-manager[6245]: <debug> [1316615687.397994] [mm-manager.c:809] device_added(): (tty/ttyS1): port's parent platform driver is not whitelisted
modem-manager[6245]: <debug> [1316615687.398337] [mm-manager.c:809] device_added(): (tty/ttyS2): port's parent platform driver is not whitelisted
modem-manager[6245]: <debug> [1316615687.398667] [mm-manager.c:809] device_added(): (tty/ttyS3): port's parent platform driver is not whitelisted
modem-manager[6245]: <info> [1316615687.404036] [mm-serial-port.c:741] mm_serial_port_open(): (ttyUSB1) opening serial port...
modem-manager[6245]: <debug> [1316615687.404123] [mm-serial-port.c:810] mm_serial_port_open(): (ttyUSB1) device open count is 1 (open)
modem-manager[6245]: <debug> [1316615687.404141] [mm-plugin-base.c:850] try_open(): (ttyUSB1): probe requested by plugin 'Gobi'
modem-manager[6245]: <debug> [1316615687.404225] [mm-at-serial-port.c:298] debug_log(): (ttyUSB1): <-- '<CR><LF>+PACSP0<CR><LF>'
modem-manager[6245]: <debug> [1316615687.504556] [mm-at-serial-port.c:298] debug_log(): (ttyUSB1): --> 'AT+GCAP<CR>'
modem-manager[6245]: <debug> [1316615688.204741] [mm-at-serial-port.c:298] debug_log(): (ttyUSB1): <-- 'AT+GCAP'
modem-manager[6245]: <debug> [1316615688.206753] [mm-at-serial-port.c:298] debug_log(): (ttyUSB1): <-- '<CR>'
modem-manager[6245]: <debug> [1316615688.207998] [mm-at-serial-port.c:298] debug_log(): (ttyUSB1): <-- '<CR><LF>+GCAP: +CGSM,+DS,+ES<CR><LF><CR><LF>OK<CR><LF>'
modem-manager[6245]: <debug> [1316615688.208129] [mm-serial-port.c:844] mm_serial_port_close(): (ttyUSB1) device open count is 0 (close)
modem-manager[6245]: <info> [1316615688.208149] [mm-serial-port.c:859] mm_serial_port_close(): (ttyUSB1) closing serial port...
modem-manager[6245]: <info> [1316615688.208691] [mm-serial-port.c:880] mm_serial_port_close(): (ttyUSB1) serial port closed
modem-manager[6245]: <debug> [1316615688.215410] [mm-manager.c:491] try_supports_port(): (Huawei): (ttyUSB1) deferring support check
modem-manager[6245]: <debug> [1316615691.218642] [mm-manager.c:457] supports_defer_timeout(): (ttyUSB1): re-checking support...
modem-manager[6245]: <debug> [1316615691.219568] [mm-manager.c:491] try_supports_port(): (Huawei): (ttyUSB1) deferring support check

after that I only get the re-checking support and deffering support check messages.

lsusb -v output:

Bus 001 Device 019: ID 12d1:14f1 Huawei Technologies Co., Ltd.
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  idVendor 0x12d1 Huawei Technologies Co., Ltd.
  idProduct 0x14f1
  bcdDevice 0.02
  iManufacturer 3 HUAWEI Incorporated
  iProduct 2 Huawei EM680 w/Gobi Technology
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 157
    bNumInterfaces 4
    bConfigurationValue 1
    iConfiguration 1 Qualcomm Configuration
    bmAttributes 0xe0
      Self Powered
      Remote Wakeup
    MaxPower 500mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 3
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 255 Vendor Specific Subclass
      bInterfaceProtocol 255 Vendor Specific Protocol
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 5
      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 32
      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 32
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 1
      bAlternateSetting 0
      bNumEndpoints 2
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 255 Vendor Specific Subclass
      bInterfaceProtocol 255 Vendor Specific Protocol
      iInterface 0
      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 32
      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 32
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 2
      bAlternateSetting 0
      bNumEndpoints 3
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 255 Vendor Specific Subclass
      bInterfaceProtocol 255 Vendor Specific Protocol
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x84 EP 4 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 5
      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 32
      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 32
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 3
      bAlternateSetting 0
      bNumEndpoints 2
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 255 Vendor Specific Subclass
      bInterfaceProtocol 255 Vendor Specific Protocol
      iInterface 0
      ** UNRECOGNIZED: 05 24 00 10 01
      ** UNRECOGNIZED: 05 24 15 00 01
      ** UNRECOGNIZED: 05 24 06 03 03
      ** UNRECOGNIZED: 15 24 12 20 01 98 b0 6a 49 b0 9e 48 96 94 46 d9 9a 28 ca 4e 5d
      ** UNRECOGNIZED: 06 24 13 00 01 20
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x86 EP 6 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 32
      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 32
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 1
Device Status: 0x0000
  (Bus Powered)

Varban (varban)
description: updated
Revision history for this message
Varban (varban) wrote :

Looking over the code it seems that the Huawei plugin attempts to handle the device and goes into a loop because the 0 interface of the usb device is not linked to a tty device and the plugin expects it to show up.

If I read the code correctly, I don't think the Huawei plugin should handle this device, maybe the Gobi or generic gsm would work. Is there any way I can pass a udev property to tell modem manager which plugin to use? Or maybe disable a plugin?

Revision history for this message
Varban (varban) wrote :
Changed in modemmanager:
status: New → Fix Committed
Revision history for this message
CmaJ (matutet) wrote :

After locally applying mentioned patch by Varban #2, my "qcserial" Gobi 3000 modem is properly handled by Network-Manager on a Sony Vaio VPCSA laptop.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.