Fibocom L860 Force Hangup
I recently got my hands on Fibocom L860 from here. I've done my setup on a HP Pavilion dv6-2171ee core i7 700 series (almost 10 years old) with Ubuntu 20.04 and ModemManager compiled from !332 (merged) and the the Fibocom is connected over a M.2 to mPCIe with SIM card adapter which in turn is connected to a secondary mPCIe available on the motherboard.
In the beginning, ModemManger was initializing the L860 without MBIM enabled and the ppp0 interface was being brought up successfully with working internet connection. I've figured out how to enable the MBIM support on the L860 from here. The problem is when ModemManager initiates and setups the L860, L860 suddenly stops after a certain message is sent.
<debug> [1599438406.685069] [modem0] SIM hot swap setup succeeded
[/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<< length = 48
<<<<<< data = 03:00:00:00:30:00:00:00:08: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:02:00:00:00:00:00:00:00:00:00:00:00
[/dev/cdc-wdm0] Sent message (translated)...
<<<<<< Header:
<<<<<< length = 48
<<<<<< type = command (0x00000003)
<<<<<< transaction = 8
<<<<<< Fragment header:
<<<<<< total = 1
<<<<<< current = 0
<<<<<< Contents:
<<<<<< service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
<<<<<< cid = 'subscriber-ready-status' (0x00000002)
<<<<<< type = 'query' (0x00000000)
<info> [1599438410.478458] [base-manager] port wwan0 released by device '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4'
<info> [1599438410.516144] [base-manager] port cdc-wdm0 released by device '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4'
[/dev/cdc-wdm0] unexpected port hangup![/dev/cdc-wdm0] channel destroyed<info> [1599438410.640441] [modem0] connection to mbim-proxy for /dev/cdc-wdm0 lost, reprobing
<debug> [1599438410.673276] [modem0] supported notifications: signal (no), registration (no), sms (no), connect (no), subscriber (no), packet (no), pco (no), ussd (no), lte attach status (no)
<debug> [1599438410.714915] [modem0] cleaning up port 'usb/cdc-wdm0'...
<debug> [1599438410.747912] [modem0] cleaning up port 'unknown/ttyACM1'...
<debug> [1599438410.789183] [modem0] cleaning up port 'net/wwan0'...
<debug> [1599438410.830576] [modem0] cleaning up port 'tty/ttyACM2'...
<debug> [1599438410.871908] [modem0] cleaning up port 'tty/ttyACM0'...
<debug> [1599438410.913390] [modem0/ttyACM0/at] forced to close port
<debug> [1599438410.954663] [modem0/ttyACM2/at] unexpected port hangup!
<debug> [1599438410.995933] [modem0/ttyACM2/at] forced to close port
<debug> [1599438411.037257] [modem0/ttyACM2/at] device open count is 0 (close)
<debug> [1599438411.078677] [modem0/ttyACM2/at] closing serial port...
<debug> [1599438411.120222] [modem0/ttyACM2/at] serial port closed
<info> [1599438411.161822] [base-manager] port ttyACM0 released by device '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4'
<info> [1599438411.203529] [base-manager] port ttyACM1 released by device '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4'
<info> [1599438411.244662] [base-manager] port ttyACM2 released by device '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4'
<debug> [1599438411.285740] [base-manager] removing empty device '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4'
<debug> [1599438416.729743] [modem0] couldn't check if unlock required: Transaction timed out
<debug> [1599438416.773444] [modem0] retrying (1) unlock required check
<debug> [1599438419.205340] [modem0] couldn't check if unlock required: Couldn't peek MBIM port
<debug> [1599438419.240870] [modem0] retrying (2) unlock required check
<debug> [1599438421.205471] [modem0] couldn't check if unlock required: Couldn't peek MBIM port
<debug> [1599438421.262557] [modem0] retrying (3) unlock required check
<debug> [1599438423.204985] [modem0] couldn't check if unlock required: Couldn't peek MBIM port
<debug> [1599438423.243830] [modem0] retrying (4) unlock required check
<debug> [1599438425.205253] [modem0] couldn't check if unlock required: Couldn't peek MBIM port
<debug> [1599438425.249076] [modem0] retrying (5) unlock required check
<debug> [1599438426.901992] [base-manager] adding port cdc-wdm0 at sysfs path: /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/usbmisc/cdc-wdm0
<debug> [1599438426.949844] [filter] (usbmisc/cdc-wdm0) port allowed: device is whitelisted by plugin (vid)
<debug> [1599438427.000164] [base-manager] port cdc-wdm0 is first in device /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4
<debug> [1599438427.041668] [plugin-manager] task 3: new support task for device: /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4
<debug> [1599438427.083220] [plugin-manager] task 3: port grabbed: cdc-wdm0
<debug> [1599438427.124398] [plugin-manager] task 3,cdc-wdm0: new support task for port
<debug> [1599438427.174068] [plugin-manager] task 3,cdc-wdm0: deferred until min wait time elapsed
<debug> [1599438427.215881] [modem0] couldn't check if unlock required: Couldn't peek MBIM port
Looking at the output of dmesg
I found the below:
[197917.611925] usb 1-1.4: Failed to suspend device, error -71
[197917.818184] usb 1-1.4: USB disconnect, device number 45
[197917.818286] cdc_mbim 1-1.4:1.0 wwan0: unregister 'cdc_mbim' usb-0000:00:1a.0-1.4, CDC MBIM
[197917.850784] cdc_acm 1-1.4:1.6: failed to set dtr/rts
[197918.381784] usb 1-1.4: new high-speed USB device number 46 using ehci-pci
[197918.492230] usb 1-1.4: New USB device found, idVendor=8087, idProduct=07f9, bcdDevice= 0.00
[197918.492235] usb 1-1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[197919.952651] usb 1-1.4: USB disconnect, device number 46
[197934.005707] usb 1-1.4: new high-speed USB device number 47 using ehci-pci
[197934.118204] usb 1-1.4: New USB device found, idVendor=2cb7, idProduct=0007, bcdDevice= 3.50
[197934.118209] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[197934.118213] usb 1-1.4: Product: MBIM + 3 CDC-ACM
[197934.118216] usb 1-1.4: Manufacturer: Fibocom
[197934.118219] usb 1-1.4: SerialNumber: SOMEOBFUSCATEDNUMBER:SOMEOBFUSCATEDNUMBER:SOMEOBFUSCATEDNUMBER:SOMEOBFUSCATEDNUMBER
[197934.157134] cdc_mbim 1-1.4:1.0: setting rx_max = 16384
[197934.157859] cdc_mbim 1-1.4:1.0: cdc-wdm0: USB WDM device
[197934.158321] cdc_mbim 1-1.4:1.0 wwan0: register 'cdc_mbim' at usb-0000:00:1a.0-1.4, CDC MBIM, SOME:OBFUSCATED:MAC:ADD
[197934.159353] cdc_acm 1-1.4:1.2: ttyACM0: USB ACM device
[197934.160924] cdc_acm 1-1.4:1.4: ttyACM1: USB ACM device
[197934.162843] cdc_acm 1-1.4:1.6: ttyACM2: USB ACM device
I feel that this looks like a power problem but I'm unsure, my only thoughts is that without MBIM support the L860 is sort of working fine but not optimally (since it's just using a single tty Port for initialization and then for data transfer, not capable of doing periodic checks what so ever). Any ideas on where to look for more details or how to debug this? Thanks!