My internal modem stopped suddenly working and NetworkManager widget claims that the modem device is not activated. Now I try to figure out if it is either a software or hardware problem. If it is a hardware problem I need elaborate where the issue exactly resides ot order proper spare parts.
Computer: Lenovo ThinkPad T590
OS: Linux morgana 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux
Window-Manager: xfce
Modem: Fibocom L830-EB-00 LTE WWAN Modem
After googling a lot to get more insights into the topic I tried to understand by myself where the issue origins from. I also tried a different sim card which is proofed and functional without any success on my ThinkPad.
My conclusion is that the modem itself (M2 slot / card) and drivers are working correct but maybe the SIM-slot is damaged. But I am by far not an expert and would like to get your opinion before I start to order any spare parts.
More details can be found below:
Modem hardware seems to be found correctly:
#lsusb
Bus 001 Device 010: ID 2cb7:0210 Fibocom L830-EB-00 LTE WWAN Modem
Also drivers seem to be assigned correctly:
#lsusb -tv
...
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
...
|__ Port 7: Dev 10, If 2, Class=Communications, Driver=cdc_acm, 480M
ID 2cb7:0210 Fibocom L830-EB-00 LTE WWAN Modem
|__ Port 7: Dev 10, If 0, Class=Communications, Driver=cdc_mbim, 480M
ID 2cb7:0210 Fibocom L830-EB-00 LTE WWAN Modem
|__ Port 7: Dev 10, If 3, Class=CDC Data, Driver=cdc_acm, 480M
ID 2cb7:0210 Fibocom L830-EB-00 LTE WWAN Modem
|__ Port 7: Dev 10, If 1, Class=CDC Data, Driver=cdc_mbim, 480M
ID 2cb7:0210 Fibocom L830-EB-00 LTE WWAN Modem
...
Kernel mdodules are loaded:
#lsmod | grep -E '(cdc_mbim|cdc_acm)'
cdc_mbim 20480 0
cdc_wdm 32768 2 cdc_mbim
cdc_ncm 49152 1 cdc_mbim
usbnet 57344 3 cdc_mbim,cdc_ncm,cdc_ether
cdc_acm 45056 0
usbcore 348160 14 xhci_hcd,usbnet,cdc_mbim,cdc_acm,cdc_ncm,usb_storage,cdc_wdm,uvcvideo,btusb,xhci_pci,cdc_ether,uas
Devices are creates:
#ls -l {cdc*,ttyACM*}
crw------- 1 root root 180, 0 8. Mai 15:28 cdc-wdm0
crw-rw----+ 1 root dialout 166, 0 8. Mai 15:28 ttyACM0
Output from mmcli (section for ‘SIM’ is missing):
#mmcli -m 0
-----------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
| device id: 65128428ac3fd9415f6f7d5c193cd9f88ebe3730
-----------------------------
Hardware | manufacturer: FIBOCOM
| model: L830-EB
| firmware revision: 18300.1002.00.01.01.18
| h/w revision: L830-EB v1.0.1
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 864949037093120
-----------------------------
System | device: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7
| drivers: cdc_acm, cdc_mbim
| plugin: fibocom
| primary port: cdc-wdm0
| ports: cdc-wdm0 (mbim), ttyACM0 (at), wwan0 (net)
-----------------------------
Status | state: failed
| failed reason: sim-missing
| power state: on
-----------------------------
Modes | supported: allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 3g, 4g; preferred: none
| allowed: 3g, 4g; preferred: 3g
| allowed: 3g, 4g; preferred: 4g
| current: allowed: 3g, 4g; preferred: 4g
-----------------------------
Bands | supported: utran-1, utran-5, utran-8, eutran-1, eutran-3, eutran-5,
| eutran-7, eutran-8, eutran-20, eutran-28
| current: utran-1, utran-5, utran-8, eutran-1, eutran-3, eutran-5,
| eutran-7, eutran-8, eutran-20, eutran-28
-----------------------------
IP | supported: ipv4, ipv6, ipv4v6
Output form ModemManager run in Debug mode. The log file is quite long. I hope I copied the relevant stuff. For me it seems that the device is detected. That proper drivers are assigned. Basic communication with WWAN module works but later it can not find the SIM-card which is inserted (also tested with another one):
#/usr/sbin/ModemManager --debug --log-file=./ModemManager.log
...
<debug> [1715188879.736964] [plugin-manager] loaded plugin 'fibocom' from '/usr/lib/x86_64-linux-gnu/ModemManager/libmm-plugin-fibocom.so'
<debug> [1715188879.742511] [filter] registered plugin allowlist vendor id: 2cb7
...
<debug> [1715188880.023646] [base-manager] finished device scan...
<debug> [1715188880.029737] [sleep-monitor-systemd] taking systemd sleep inhibitor
<debug> [1715188880.037841] [ttyACM0] port contents loaded:
<debug> [1715188880.043089] [ttyACM0] bus: usb
<debug> [1715188880.049906] [ttyACM0] interface: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.2
<debug> [1715188880.055693] [ttyACM0] device: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7
<debug> [1715188880.062327] [ttyACM0] driver: cdc_acm
<debug> [1715188880.068411] [ttyACM0] vendor: 2cb7
<debug> [1715188880.075410] [ttyACM0] product: 0210
<debug> [1715188880.081246] [ttyACM0] revision: 0333
<debug> [1715188880.088320] [base-manager] adding port ttyACM0 at sysfs path: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.2/tty/ttyACM0
<debug> [1715188880.095057] [filter] (tty/ttyACM0) port allowed: device is allowlisted by plugin (vid)
<debug> [1715188880.101843] [base-manager] port ttyACM0 is first in device /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7
<debug> [1715188880.107714] [plugin-manager] task 0: new support task for device: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7
...
<debug> [1715188881.218955] [wwan0] port contents loaded:
<debug> [1715188881.225589] [wwan0] bus: usb
<debug> [1715188881.231628] [wwan0] interface: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0
<debug> [1715188881.238693] [wwan0] device: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7
<debug> [1715188881.244336] [wwan0] driver: cdc_mbim
<debug> [1715188881.250613] [wwan0] vendor: 2cb7
<debug> [1715188881.256521] [wwan0] product: 0210
<debug> [1715188881.263260] [wwan0] revision: 0333
<debug> [1715188881.269168] [base-manager] adding port wwan0 at sysfs path: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/net/wwan0
...
<debug> [1715188884.983950] [/dev/cdc-wdm0] received message (translated)...
>>>>>> Header:
>>>>>> length = 76
>>>>>> type = command-done (0x80000003)
>>>>>> transaction = 10
>>>>>> Fragment header:
>>>>>> total = 1
>>>>>> current = 0
>>>>>> Contents:
>>>>>> status error = 'None' (0x00000000)
>>>>>> service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>> cid = 'subscriber-ready-status' (0x00000002)
>>>>>> Fields:
>>>>>> ReadyState = 'sim-not-inserted'
>>>>>> SubscriberId = '###'
>>>>>> SimIccId = '###'
>>>>>> ReadyInfo = 'none'
>>>>>> TelephoneNumbersCount = '0'
>>>>>> TelephoneNumbers = '###'
...