Bug 100938 - mbim-proxy at 100% load when starting ModemManager
Summary: mbim-proxy at 100% load when starting ModemManager
Status: RESOLVED MOVED
Alias: None
Product: ModemManager
Classification: Unclassified
Component: general (show other bugs)
Version: 1.6
Hardware: x86-64 (AMD64) other
: medium normal
Assignee: ModemManager bug user
QA Contact:
URL:
Whiteboard:
Keywords:
: 101275 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-05-04 22:36 UTC by Christian Ehrig
Modified: 2018-06-10 09:03 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Christian Ehrig 2017-05-04 22:36:26 UTC
I'am on Gentoo and experiencing a critical issue. Since a system update, i cant use my internal Fibocom WWAN adapter anymore. When starting ModemManager mbim-proxy goes to high cpu load and i can not establish a connection through NetworkManager.

net-misc/modemmanager-1.6.4
net-libs/libmbim-1.14.0

I started mbim-proxy manually with verbose output, before starting ModemManager:

---------

[05 May 2017, 00:31:29] [Debug] creating UNIX socket service...
[05 May 2017, 00:31:29] [Debug] starting UNIX socket service at 'mbim-proxy'...
[05 May 2017, 00:31:37] [Debug] Client (6) connection open...
[05 May 2017, 00:31:37] [Debug] opening device...
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Queried max control message size: 512
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 128
>>>>>>   data   = 03:00:00:80:80:00:00:00:10:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:09:00:00:00:00:00:00:00:50:00:00:00:00:00:00:00:03:00:00:00:01:00:00:00:20:00:00:00:01:00:00:00:30:00:00:00:0A:00:00:00:3C:00:00:00:14:00:00:00:00:00:00:00:00:00:00:00:02:00:00:00:32:00:36:00:32:00:30:00:31:00:00:00:54:00:65:00:6C:00:65:00:6B:00:6F:00:6D:00:2E:00:64:00:65:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] No transaction matched in received message
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received unexpected message (translated)...
>>>>>> Header:
>>>>>>   length      = 128
>>>>>>   type        = command-done (0x80000003)
>>>>>>   transaction = 16
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   status error = 'None' (0x00000000)
>>>>>>   service      = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid          = 'register-state' (0x00000009)

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 16
<<<<<<   data   = 01:00:00:00:10:00:00:00:01:00:00:00:00:02:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< Header:
<<<<<<   length      = 16
<<<<<<   type        = open (0x00000001)
<<<<<<   transaction = 1
<<<<<< Contents:
<<<<<<   max_control_transfer = 512

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:02:00:00:00:03:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:04:00:00:00:05:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:02:00:00:00:04:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:03:00:00:00:04:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:03:00:00:00:05:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:03:00:00:00:05:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:04:00:00:00:05:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:02:00:00:00:04:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:04:00:00:00:05:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:02:00:00:00:04:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:04:00:00:00:05:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:02:00:00:00:04:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 64
>>>>>>   data   = 07:00:00:80:40:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0B:00:00:00:14:00:00:00:03:00:00:00:04:00:00:00:3C:00:00:00:02:00:00:00:FF:FF:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 64
>>>>>>   type        = indicate-status (0x80000007)
>>>>>>   transaction = 0
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>>   cid     = 'signal-state' (0x0000000b)

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 64 bytes
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 16
>>>>>>   data   = 01:00:00:80:10:00:00:00:01:00:00:00:00:00:00:00

[05 May 2017, 00:31:37] [Debug] Client (6) TX: 48 bytes
[05 May 2017, 00:31:37] [Debug] connection to MBIM device '/dev/cdc-wdm0' established
[05 May 2017, 00:31:37] [Debug] Client (6) TX: 16 bytes
[05 May 2017, 00:31:37] [Debug] Client (6) TX: 16 bytes
[05 May 2017, 00:31:37] [Debug] Client (6) connection closed...
[05 May 2017, 00:31:37] [Debug] Client (6) connection open...
[05 May 2017, 00:31:37] [Debug] checking device caps during client device open...
[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 48
<<<<<<   data   = 03:00:00:00:30:00:00:00:02:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:01:00:00:00:00:00:00:00:00:00:00:00

[05 May 2017, 00:31:37] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< Header:
<<<<<<   length      = 48
<<<<<<   type        = command (0x00000003)
<<<<<<   transaction = 2
<<<<<< Fragment header:
<<<<<<   total   = 1
<<<<<<   current = 0
<<<<<< Contents:
<<<<<<   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
<<<<<<   cid     = 'device-caps' (0x00000001)
<<<<<<   type    = 'query' (0x00000000)

[05 May 2017, 00:31:42] -Warning ** device caps query during internal open failed: Transaction timed out
[05 May 2017, 00:31:42] [Debug] Client (6) TX: 48 bytes
[05 May 2017, 00:31:42] [Debug] connection to MBIM device '/dev/cdc-wdm0' established
[05 May 2017, 00:31:42] [Debug] Client (6) TX: 16 bytes
[05 May 2017, 00:31:42] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 48
<<<<<<   data   = 03:00:00:00:30:00:00:00:03:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:01:00:00:00:00:00:00:00:00:00:00:00

[05 May 2017, 00:31:42] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< Header:
<<<<<<   length      = 48
<<<<<<   type        = command (0x00000003)
<<<<<<   transaction = 3
<<<<<< Fragment header:
<<<<<<   total   = 1
<<<<<<   current = 0
<<<<<< Contents:
<<<<<<   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
<<<<<<   cid     = 'device-caps' (0x00000001)
<<<<<<   type    = 'query' (0x00000000)


---------

After that there's no more output and mbim-proxy starts to eat my cpu:

---------

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                                  
 4117 root      20   0  383920   5512   5004 R 100.0  0.0   1:37.31 mbim-proxy

---------


And this is the corresponding syslog:

---------

May  5 00:34:38 localhost systemd[1]: Starting Modem Manager...
May  5 00:34:38 localhost ModemManager[4288]: <info>  ModemManager (version 1.6.4) starting in system bus...
May  5 00:34:38 localhost systemd[1]: Started Modem Manager.
May  5 00:34:38 localhost NetworkManager[2462]: <info>  [1493937278.9958] ModemManager disappeared from bus
May  5 00:34:39 localhost NetworkManager[2462]: <info>  [1493937279.0080] ModemManager available in the bus
May  5 00:34:40 localhost ModemManager[4288]: opening device...
May  5 00:34:40 localhost ModemManager[4288]: [/dev/cdc-wdm0] Read max control message size from descriptors file: 512
May  5 00:34:40 localhost ModemManager[4288]: <info>  Creating modem with plugin 'Generic' and '2' ports
May  5 00:34:40 localhost ModemManager[4288]: <info>  Modem for device at '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3' successfully created
May  5 00:34:40 localhost ModemManager[4288]: opening device...
May  5 00:34:40 localhost ModemManager[4288]: [/dev/cdc-wdm0] Read max control message size from descriptors file: 512
May  5 00:34:40 localhost ModemManager[4288]: <info>  Modem: state changed (unknown -> disabled)
May  5 00:34:40 localhost NetworkManager[2462]: <info>  [1493937280.7528] (cdc-wdm0): modem state changed, 'disabled' --> 'enabling' (reason: user preference)
May  5 00:34:40 localhost NetworkManager[2462]: <info>  [1493937280.7564] manager: (cdc-wdm0): new Broadband device (/org/freedesktop/NetworkManager/Devices/7)
May  5 00:34:40 localhost NetworkManager[2462]: <info>  [1493937280.7576] device (cdc-wdm0): state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
May  5 00:34:40 localhost NetworkManager[2462]: <info>  [1493937280.7587] device (cdc-wdm0): modem state 'enabling'
May  5 00:34:40 localhost NetworkManager[2462]: <info>  [1493937280.7607] device (cdc-wdm0): state change: unavailable -> disconnected (reason 'none') [20 30 0]
May  5 00:34:40 localhost ModemManager[4288]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (disabled -> enabling)
May  5 00:34:40 localhost ModemManager[4288]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (unknown -> registering)
May  5 00:34:40 localhost ModemManager[4288]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (registering -> home)
May  5 00:34:41 localhost ModemManager[4288]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabling -> registered)
May  5 00:34:41 localhost NetworkManager[2462]: <info>  [1493937281.1029] (cdc-wdm0): modem state changed, 'enabling' --> 'registered' (reason: user-requested)
May  5 00:34:41 localhost ModemManager[4288]: <info>  Couldn't check support for device at '/sys/devices/pci0000:00/0000:00:1c.2/0000:03:00.0': not supported by any plugin
May  5 00:34:41 localhost ModemManager[4288]: <info>  Couldn't check support for device at '/sys/devices/pci0000:00/0000:00:1f.6': not supported by any plugin
May  5 00:34:51 localhost ModemManager[4288]: <warn>  Initial 3GPP registration check failed: Transaction timed out

---------


Thanks in advance!
Comment 1 Christian Ehrig 2017-05-05 00:00:04 UTC
/Additionally

I started mbim-proxy now with strace, and in the high cpu load state my terminal is flooded with message like that:

poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145743) = 1 ([{fd=7, revents=POLLIN|POLLERR}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145743) = 1 ([{fd=7, revents=POLLIN|POLLERR}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145743) = 1 ([{fd=7, revents=POLLIN|POLLERR}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145743) = 1 ([{fd=7, revents=POLLIN|POLLERR}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145743) = 1 ([{fd=7, revents=POLLIN|POLLERR}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145743) = 1 ([{fd=7, revents=POLLIN|POLLERR}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145742) = 1 ([{fd=7, revents=POLLIN|POLLERR}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145742) = 1 ([{fd=7, revents=POLLIN|POLLERR}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145742) = 1 ([{fd=7, revents=POLLIN|POLLERR}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}], 4, 145742) = 1 ([{fd=7, revents=POLLIN|POLLERR}])


lsof for that process reports:

COMMAND    PID USER   FD      TYPE             DEVICE  SIZE/OFF     NODE NAME
mbim-prox 5514 root  cwd       DIR              259,6      4096  7340035 /home/cehrig
mbim-prox 5514 root  rtd       DIR              259,6      4096        2 /
mbim-prox 5514 root  txt       REG              259,6     10776 20978116 /usr/libexec/mbim-proxy
mbim-prox 5514 root  mem       REG              259,6    258840 21107381 /usr/lib64/gvfs/libgvfscommon.so
mbim-prox 5514 root  mem       REG              259,6    206944 21103117 /usr/lib64/gio/modules/libgvfsdbus.so
mbim-prox 5514 root  mem       REG              259,6     14352 21645212 /usr/lib64/gconv/UTF-16.so
mbim-prox 5514 root  mem       REG              259,6 110518032 10094589 /usr/lib64/locale/locale-archive
mbim-prox 5514 root  mem       REG              259,6     18616 21758082 /lib64/libattr.so.1.1.0
mbim-prox 5514 root  mem       REG              259,6     18976 21109734 /lib64/libuuid.so.1.3.0
mbim-prox 5514 root  mem       REG              259,6     22976 20722993 /lib64/libcap.so.2.24
mbim-prox 5514 root  mem       REG              259,6     31568 21658640 /lib64/librt-2.23.so
mbim-prox 5514 root  mem       REG              259,6    271072 21110001 /lib64/libblkid.so.1.1.0
mbim-prox 5514 root  mem       REG              259,6     10368 21658629 /lib64/libdl-2.23.so
mbim-prox 5514 root  mem       REG              259,6    145480 21366472 /usr/lib64/libudev.so.1.6.6
mbim-prox 5514 root  mem       REG              259,6    304736 21110101 /lib64/libmount.so.1.1.0
mbim-prox 5514 root  mem       REG              259,6     84704 21647046 /lib64/libresolv-2.23.so
mbim-prox 5514 root  mem       REG              259,6     92464 21758111 /lib64/libz.so.1.2.11
mbim-prox 5514 root  mem       REG              259,6     14448 20988949 /usr/lib64/libgmodule-2.0.so.0.5000.3
mbim-prox 5514 root  mem       REG              259,6     97800 21646810 /lib64/libpthread-2.23.so
mbim-prox 5514 root  mem       REG              259,6    465008 21522348 /lib64/libpcre.so.1.2.8
mbim-prox 5514 root  mem       REG              259,6     35072  9709486 /usr/lib64/libffi.so.6.0.4
mbim-prox 5514 root  mem       REG              259,6     39680 20729303 /usr/lib64/libgudev-1.0.so.0.2.0
mbim-prox 5514 root  mem       REG              259,6   1660816 20987925 /usr/lib64/libgio-2.0.so.0.5000.3
mbim-prox 5514 root  mem       REG              259,6   1664944 21658295 /lib64/libc-2.23.so
mbim-prox 5514 root  mem       REG              259,6   1127304 20987887 /usr/lib64/libglib-2.0.so.0.5000.3
mbim-prox 5514 root  mem       REG              259,6    338784 20987844 /usr/lib64/libgobject-2.0.so.0.5000.3
mbim-prox 5514 root  mem       REG              259,6    225328 20987534 /usr/lib64/libmbim-glib.so.4.2.0
mbim-prox 5514 root  mem       REG              259,6    152904 21647306 /lib64/ld-2.23.so
mbim-prox 5514 root  mem       REG              259,6     26244 10094587 /usr/lib64/gconv/gconv-modules.cache
mbim-prox 5514 root    0u      CHR              136,1       0t0        4 /dev/pts/1
mbim-prox 5514 root    1u      CHR              136,1       0t0        4 /dev/pts/1
mbim-prox 5514 root    2u      CHR              136,1       0t0        4 /dev/pts/1
mbim-prox 5514 root    3u  a_inode               0,11         0     7884 [eventfd]
mbim-prox 5514 root    4u  a_inode               0,11         0     7884 [eventfd]
mbim-prox 5514 root    5u     unix 0xffff8802931e2400       0t0   260890 @mbim-proxy type=STREAM
mbim-prox 5514 root    6u     unix 0xffff8802931e0400       0t0   259062 @mbim-proxy type=STREAM
mbim-prox 5514 root    7u      CHR            180,176       0t0     8058 /dev/cdc-wdm0
mbim-prox 5514 root    8u  a_inode               0,11         0     7884 [eventfd]
Comment 2 Aleksander Morgado 2017-05-15 09:38:56 UTC
(In reply to Christian Ehrig from comment #0)
> I'am on Gentoo and experiencing a critical issue. Since a system update, i
> cant use my internal Fibocom WWAN adapter anymore. When starting
> ModemManager mbim-proxy goes to high cpu load and i can not establish a
> connection through NetworkManager.
> 
> net-misc/modemmanager-1.6.4
> net-libs/libmbim-1.14.0
> 

What kernel version?
Comment 3 Christian Ehrig 2017-05-15 10:46:36 UTC
I am on 4.10.12
Comment 4 Aleksander Morgado 2017-05-29 10:10:11 UTC
(In reply to Christian Ehrig from comment #3)
> I am on 4.10.12

Please retry with kernel 4.10.17 or newer whenever that's available for you. We want to understand whether this may be fixed with the "usb-revert-cdc-wdm-fix-out-of-sync-due-to-missing-notifications.patch" fix pushed to that 4.10.x version.
Comment 5 Christian Ehrig 2017-05-29 10:15:03 UTC
I switched to 4.11.2 three days ago, still the same error pattern.
Comment 6 Christian Ehrig 2017-05-29 22:33:08 UTC
Since I am seeing the nonzero-urb-status message below the first time, here is some additional output from syslog. I'm having all relevant drivers now compiled as modules, but still no success


May 30 00:29:09 localhost systemd[1]: Started Modem Manager.
May 30 00:29:09 localhost NetworkManager[2445]: <info>  [1496096949.4638] ModemManager disappeared from bus
May 30 00:29:09 localhost NetworkManager[2445]: <info>  [1496096949.4721] ModemManager available in the bus
May 30 00:29:10 localhost ModemManager[3941]: opening device...
May 30 00:29:10 localhost ModemManager[3941]: cannot connect to proxy: Could not connect: Connection refused
May 30 00:29:10 localhost ModemManager[3941]: spawning new mbim-proxy (try 1)...
May 30 00:29:11 localhost ModemManager[3941]: [/dev/cdc-wdm0] Read max control message size from descriptors file: 512
May 30 00:29:11 localhost kernel: cdc_mbim 1-3:1.0: nonzero urb status received: -EPIPE
May 30 00:29:11 localhost ModemManager[3941]: <info>  Creating modem with plugin 'Generic' and '2' ports
May 30 00:29:11 localhost ModemManager[3941]: <info>  Modem for device at '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3' successfully created
Comment 7 Patrick Chilton 2017-07-13 15:20:32 UTC
I have the same issue.

I've bought a ThinkPad T470 with a Fibocom L831-EAU WWAN module, which
appears to be an MBIM device. It works fine on Windows, but if I try
it on Linux, it doesn't work.

I've tried it on NixOS (kernel 4.11.4, libmbim 1.14.0) and Ubuntu 16.04.

* NetworkManager can't connect.
* If I do `rmmod cdc_mbim; modprobe cdc_mbim`, then `mbimcli
--connect` occasionally completes, but dhcpcd can't get an IP
afterwards. I also tried to manually set the IP/gateway from mibmcli
on the interface, but I can't connect to anything due to "System
error". `mbim-network` always seems to fail.
* It's probably unrelated, but I was also unable to get pppd to work.
I get a "Modem hangup" seemingly after receiving DNS server
information.

The problems seem to be accompanied by `cdc_mbim 1-6:1.0: nonzero urb
status received: -EPIPE` in dmesg.
Comment 8 Christian Ehrig 2017-08-06 01:55:49 UTC
So i had a little time, chasing that issue. The good news is, i know that the cpu load is generated by data_available() from mbim-device.c getting called with no mercy. In my particular case condition & G_IO_ERR returns true at some point (it's always reproducible, see mbim-proxy output below ). Adding a sleep before the return statement brings down cpu load. Bad news is, that i am still getting "Resource temporarily unavailable". Changing that condition to: 

if (condition & G_IO_ERR) {
        if (self->priv->response &&
            self->priv->response->len)
            g_byte_array_remove_range (self->priv->response, 0, self->priv->response->len);
        g_printerr ("error: %s %s\n",
                    strerror (errno), self->priv->path );
        sleep(1);

        return TRUE;
    }

results in the following output

[06 Aug 2017, 03:53:33] [Debug] [/dev/cdc-wdm0] Received message (translated)...
>>>>>> Header:
>>>>>>   length      = 888
>>>>>>   type        = command-done (0x80000003)
>>>>>>   transaction = 15
>>>>>> Fragment header:
>>>>>>   total   = 1
>>>>>>   current = 0
>>>>>> Contents:
>>>>>>   status error = 'None' (0x00000000)
>>>>>>   service      = 'sms' (533fbeeb-14fe-4467-9f90-33a223e56c3f)
>>>>>>   cid          = 'read' (0x00000002)

error: Resource temporarily unavailable /dev/cdc-wdm0
[06 Aug 2017, 03:53:34] [Debug] Client (6) TX: 888 bytes
error: Resource temporarily unavailable /dev/cdc-wdm0
error: Resource temporarily unavailable /dev/cdc-wdm0
[06 Aug 2017, 03:53:36] [Debug] Client (6) service subscribe list built
[06 Aug 2017, 03:53:36] [Debug] [service 0] a289cc33-bcbb-8b4f-b6b0-133ec2aae6df (basic-connect)
[06 Aug 2017, 03:53:36] [Debug] [service 0] 5 CIDs enabled
[06 Aug 2017, 03:53:36] [Debug] [service 0] [cid 0] 11 (signal-state)
[06 Aug 2017, 03:53:36] [Debug] [service 0] [cid 1] 9 (register-state)
[06 Aug 2017, 03:53:36] [Debug] [service 0] [cid 2] 12 (connect)
[06 Aug 2017, 03:53:36] [Debug] [service 0] [cid 3] 2 (subscriber-ready-status)
[06 Aug 2017, 03:53:36] [Debug] [service 0] [cid 4] 10 (packet-service)
[06 Aug 2017, 03:53:36] [Debug] [service 1] 533fbeeb-14fe-4467-9f90-33a223e56c3f (sms)
[06 Aug 2017, 03:53:36] [Debug] [service 1] 2 CIDs enabled
[06 Aug 2017, 03:53:36] [Debug] [service 1] [cid 0] 2 (read)
[06 Aug 2017, 03:53:36] [Debug] [service 1] [cid 1] 5 (message-store-status)
[06 Aug 2017, 03:53:36] [Debug] Merged service subscribe list built
[06 Aug 2017, 03:53:36] [Debug] [service 0] a289cc33-bcbb-8b4f-b6b0-133ec2aae6df (basic-connect)
[06 Aug 2017, 03:53:36] [Debug] [service 0] all CIDs enabled
[06 Aug 2017, 03:53:36] [Debug] [service 1] 533fbeeb-14fe-4467-9f90-33a223e56c3f (sms)
[06 Aug 2017, 03:53:36] [Debug] [service 1] all CIDs enabled
[06 Aug 2017, 03:53:36] [Debug] [service 2] e550a0c8-5e82-479e-82f7-10abf4c3351f (ussd)
[06 Aug 2017, 03:53:36] [Debug] [service 2] all CIDs enabled
[06 Aug 2017, 03:53:36] [Debug] [service 3] 4bf38476-1e6a-41db-b1d8-bed289c25bdb (phonebook)
[06 Aug 2017, 03:53:36] [Debug] [service 3] all CIDs enabled
[06 Aug 2017, 03:53:36] [Debug] [service 4] d8f20131-fcb5-4e17-8602-d6ed3816164c (stk)
[06 Aug 2017, 03:53:36] [Debug] [service 4] all CIDs enabled
[06 Aug 2017, 03:53:36] [Debug] [service 5] 1d2b5ff7-0aa1-48b2-aa52-50f15767174e (auth)
[06 Aug 2017, 03:53:36] [Debug] [service 5] all CIDs enabled
[06 Aug 2017, 03:53:36] [Debug] [service 6] c08a26dd-7718-4382-8482-6e0d583c4d0e (dss)
[06 Aug 2017, 03:53:36] [Debug] [service 6] all CIDs enabled
[06 Aug 2017, 03:53:36] [Debug] Client (6) TX: 136 bytes
error: Resource temporarily unavailable /dev/cdc-wdm0
error: Resource temporarily unavailable /dev/cdc-wdm0
[06 Aug 2017, 03:53:38] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 48
<<<<<<   data   = 03:00:00:00:30:00:00:00:10:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:09:00:00:00:00:00:00:00:00:00:00:00

[06 Aug 2017, 03:53:38] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< Header:
<<<<<<   length      = 48
<<<<<<   type        = command (0x00000003)
<<<<<<   transaction = 16
<<<<<< Fragment header:
<<<<<<   total   = 1
<<<<<<   current = 0
<<<<<< Contents:
<<<<<<   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
<<<<<<   cid     = 'register-state' (0x00000009)
<<<<<<   type    = 'query' (0x00000000)

error: Resource temporarily unavailable /dev/cdc-wdm0
error: Resource temporarily unavailable /dev/cdc-wdm0
error: Resource temporarily unavailable /dev/cdc-wdm0
error: Resource temporarily unavailable /dev/cdc-wdm0
error: Resource temporarily unavailable /dev/cdc-wdm0
error: Resource temporarily unavailable /dev/cdc-wdm0


I am continuing investigation tomorrow....
Comment 9 Aleksander Morgado 2017-08-06 04:37:20 UTC
Christian, are you also seeing -EPIPE errors reported in the dmesg output for cdc_mbim?
Comment 10 Christian Ehrig 2017-08-06 11:16:32 UTC
Yes, lots of

[  463.253830] cdc_mbim 1-3:1.0: nonzero urb status received: -EPIPE
Comment 11 Christian Ehrig 2017-08-18 18:34:10 UTC
So, crazy. After kernel update to 4.12.8 I hit the connect button today by accident and was able to get a broadband connection to t-mobile. I was also able to reproduce it by first disconnecting and connecting again. Now – after a reboot – i am having the EPIPE issues again, so i do not think it was related to kernel update. I was able to record syslog output of both the successful and unsuccessful connections. The only difference i see is that the 'modem path' of the successful connection was /org/freedesktop/ModemManager1/Modem/1 (usual unsuccessful connections are using /org/freedesktop/ModemManager1/Modem/0) - but i don't know what that means.

Syslog When it worked:

Aug 18 15:38:56 localhost NetworkManager[2498]: <info>  [1503063536.9110] device (cdc-wdm0): Activation: starting connection 'T-Mobile(Telekom) Default' (b7a335b9-2d24-4d40-ae59-1dcd4b2295be)
Aug 18 15:38:56 localhost NetworkManager[2498]: <info>  [1503063536.9126] audit: op="connection-activate" uuid="b7a335b9-2d24-4d40-ae59-1dcd4b2295be" name="T-Mobile(Telekom) Default" pid=3826 uid=1000 result="success"
Aug 18 15:38:56 localhost NetworkManager[2498]: <info>  [1503063536.9132] device (cdc-wdm0): state change: disconnected -> prepare (reason 'none') [30 40 0]
Aug 18 15:38:56 localhost NetworkManager[2498]: <info>  [1503063536.9159] device (cdc-wdm0): state change: prepare -> need-auth (reason 'none') [40 60 0]
Aug 18 15:38:56 localhost NetworkManager[2498]: <info>  [1503063536.9287] device (cdc-wdm0): state change: need-auth -> prepare (reason 'none') [60 40 0]
Aug 18 15:38:56 localhost ModemManager[2477]: <info>  Simple connect started...
Aug 18 15:38:56 localhost ModemManager[2477]: <info>  Simple connect state (4/8): Wait to get fully enabled
Aug 18 15:38:56 localhost ModemManager[2477]: <info>  Simple connect state (5/8): Register
Aug 18 15:38:56 localhost ModemManager[2477]: <info>  Simple connect state (6/8): Bearer
Aug 18 15:38:56 localhost ModemManager[2477]: <info>  Simple connect state (7/8): Connect
Aug 18 15:38:56 localhost ModemManager[2477]: <info>  Modem /org/freedesktop/ModemManager1/Modem/1: state changed (registered -> connecting)
Aug 18 15:38:56 localhost NetworkManager[2498]: <info>  [1503063536.9397] (cdc-wdm0): modem state changed, 'registered' --> 'connecting' (reason: user-requested)

Aug 18 15:38:57 localhost ModemManager[2477]: <info>  Modem /org/freedesktop/ModemManager1/Modem/1: state changed (connecting -> connected)
Aug 18 15:38:57 localhost ModemManager[2477]: <info>  Simple connect state (8/8): All done
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2875] (cdc-wdm0): modem state changed, 'connecting' --> 'connected' (reason: user-requested)

Aug 18 15:38:57 localhost ModemManager[2477]: <warn>  Reloading stats failed: OperationNotAllowed
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2905] device (cdc-wdm0): state change: prepare -> config (reason 'none') [40 50 0]
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2910] device (cdc-wdm0): state change: config -> ip-config (reason 'none') [50 70 0]
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2913] modem-broadband[cdc-wdm0]: IPv4 static configuration:
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2914] modem-broadband[cdc-wdm0]:   address 10.30.184.139/24
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2914] modem-broadband[cdc-wdm0]:   gateway 10.30.184.1
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2914] modem-broadband[cdc-wdm0]:   DNS 10.74.210.210
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2914] modem-broadband[cdc-wdm0]:   DNS 10.74.210.211
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2951] device (cdc-wdm0): state change: ip-config -> ip-check (reason 'none') [70 80 0]
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2958] device (cdc-wdm0): state change: ip-check -> secondaries (reason 'none') [80 90 0]
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.2963] device (cdc-wdm0): state change: secondaries -> activated (reason 'none') [90 100 0]
Aug 18 15:38:57 localhost NetworkManager[2498]: <info>  [1503063537.3046] device (cdc-wdm0): Activation: successful, device activated.
Aug 18 15:38:57 localhost dbus-daemon[2478]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Aug 18 15:38:57 localhost systemd[1]: Starting Network Manager Script Dispatcher Service...
Aug 18 15:38:57 localhost dbus-daemon[2478]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Aug 18 15:38:57 localhost systemd[1]: Started Network Manager Script Dispatcher Service.
Aug 18 15:38:57 localhost nm-dispatcher[9688]: req:1 'up' [wwp0s20f0u3]: new request (1 scripts)
Aug 18 15:38:57 localhost nm-dispatcher[9688]: req:1 'up' [wwp0s20f0u3]: start running ordered scripts...


And business as usual:

Aug 18 20:24:16 localhost NetworkManager[2520]: <info>  [1503080656.3751] device (cdc-wdm0): Activation: starting connection 'T-Mobile(Telekom) Default' (b7a335b9-2d24-4d40-ae59-1dcd4b2295be)
Aug 18 20:24:16 localhost NetworkManager[2520]: <info>  [1503080656.3768] audit: op="connection-activate" uuid="b7a335b9-2d24-4d40-ae59-1dcd4b2295be" name="T-Mobile(Telekom) Default" pid=3727 uid=1000 result="success"
Aug 18 20:24:16 localhost NetworkManager[2520]: <info>  [1503080656.3771] device (cdc-wdm0): state change: disconnected -> prepare (reason 'none') [30 40 0]
Aug 18 20:24:16 localhost NetworkManager[2520]: <info>  [1503080656.3777] manager: NetworkManager state is now CONNECTING
Aug 18 20:24:16 localhost NetworkManager[2520]: <info>  [1503080656.3795] device (cdc-wdm0): state change: prepare -> need-auth (reason 'none') [40 60 0]
Aug 18 20:24:16 localhost NetworkManager[2520]: <info>  [1503080656.3887] device (cdc-wdm0): state change: need-auth -> prepare (reason 'none') [60 40 0]
Aug 18 20:24:16 localhost ModemManager[4472]: <info>  Simple connect started...
Aug 18 20:24:16 localhost ModemManager[4472]: <info>  Simple connect state (4/8): Wait to get fully enabled
Aug 18 20:24:16 localhost ModemManager[4472]: <info>  Simple connect state (5/8): Register
Aug 18 20:24:16 localhost ModemManager[4472]: <info>  Simple connect state (6/8): Bearer
Aug 18 20:24:16 localhost ModemManager[4472]: <info>  Simple connect state (7/8): Connect
Aug 18 20:24:16 localhost ModemManager[4472]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
Aug 18 20:24:16 localhost NetworkManager[2520]: <info>  [1503080656.4063] (cdc-wdm0): modem state changed, 'registered' --> 'connecting' (reason: user-requested)

Aug 18 20:24:16 localhost kernel: cdc_mbim 1-3:1.0: nonzero urb status received: -EPIPE


Hope that helps.
Comment 12 Andreas Böhler 2017-09-16 10:45:04 UTC
So I'm experiencing the same issue, also on a T470 with a brand new Fibocom L831-EAU. Usually, after boot, I can successfully connect to the Internet, but the connection breaks after a few minutes with the infamous nonzero urb status -EPIPE message.
Comment 13 Andreas Böhler 2017-09-19 16:08:06 UTC
On the kernel mailing list, Bjørn Mork and me started debugging this issue, you can follow the discussion, for example, here: https://marc.info/?l=linux-usb&m=150557558329778&w=2

I only did very brief testing with a kernel fix, but it seems to work for now. The line to change (no patch, sorry) is in the discussion.
Comment 14 Aleksander Morgado 2017-09-19 16:23:01 UTC
nice!
Comment 15 Patrick Chilton 2017-09-19 18:57:07 UTC
Thanks for debugging this, the change makes it work for me too.

Here's the patch in case you need it:

From 9a122496d5edd72014a19bc3d469b7d928c5fefa Mon Sep 17 00:00:00 2001
From: Patrick Chilton <chpatrick@gmail.com>
Date: Tue, 19 Sep 2017 19:26:30 +0200
Subject: [PATCH] Fix nonzero URB error.

---
 drivers/usb/class/cdc-wdm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c
index 8fda45a45b..6e526cf00d 100644
--- a/drivers/usb/class/cdc-wdm.c
+++ b/drivers/usb/class/cdc-wdm.c
@@ -196,7 +196,7 @@ static void wdm_in_callback(struct urb *urb)
 	 * only set a new error if there is no previous error.
 	 * Errors are only cleared during read/open
 	 */
-	if (desc->rerr  == 0)
+	if (desc->rerr  == 0 && status != -EPIPE)
 		desc->rerr = status;
 
 	if (length + desc->length > desc->wMaxCommand) {
-- 
2.12.2
Comment 16 Christian Ehrig 2017-09-19 20:43:08 UTC
I'm proudly sending this message while being connected to inet through my Fibocom...

Thanks for sharing, i patched 4.12.10 and it works perfectly. Thanks to everybody involved.
Comment 17 Aleksander Morgado 2017-10-31 10:10:28 UTC
*** Bug 101275 has been marked as a duplicate of this bug. ***
Comment 18 GitLab Migration User 2018-06-10 09:03:41 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/41.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.