[Update: Mar 25th] Testing Quectel EM12-G WWAN 4G Modem on Librem 5

Why you ask?: That is the point of open hardware, and open software to break things and in the process make things better for others. Future plans are to test this with kernel 5.19.0 on Ubuntu using a M.2 to USB3 adapter and see if there is any difference in functionality that may point to required kernel updates required on pureos10, quectel provides the kernel update information as referenced below, so maybe kernel updates also need to be manually applied.

Modem Configuration:
sudo mmcli -m any | grep -v 'imei\ |Numbers\ |equipment id\ |device id: ' >>imei.txt

General , path: /org/freedesktop/ModemManager1/Modem/2
Hardware , manufacturer: Quectel
, model: EM12
, firmware revision: EM12GPAR01A21M4G
, supported: gsm-umts, lte
, current: gsm-umts, lte
System , device: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
, drivers: option
, plugin: quectel
, primary port: ttyUSB3
, ports: ttyUSB0 (qcdm), ttyUSB1 (gps), ttyUSB3 (at)
Status , unlock retries: sim-pin (2), sim-puk (10), sim-pin2 (10), sim-puk2 (10)
, state: registered
, power state: on
, access tech: lte
, signal quality: 60% (recent)
Modes , supported: allowed: 2g, 3g, 4g; preferred: none
, current: allowed: 2g, 3g, 4g; preferred: none
IP , supported: ipv4, ipv6, ipv4v6
, registration: home
3GPP EPS , ue mode of operation: ps-2
SIM , primary sim path: /org/freedesktop/ModemManager1/SIM/2
Bearer , paths: /org/freedesktop/ModemManager1/Bearer/63
, /org/freedesktop/ModemManager1/Bearer/62
, /org/freedesktop/ModemManager1/Bearer/61
, /org/freedesktop/ModemManager1/Bearer/60
, /org/freedesktop/ModemManager1/Bearer/59
, /org/freedesktop/ModemManager1/Bearer/58
, /org/freedesktop/ModemManager1/Bearer/57
, /org/freedesktop/ModemManager1/Bearer/56
, /org/freedesktop/ModemManager1/Bearer/55
, /org/freedesktop/ModemManager1/Bearer/54
, /org/freedesktop/ModemManager1/Bearer/53
, /org/freedesktop/ModemManager1/Bearer/52
, /org/freedesktop/ModemManager1/Bearer/51
, /org/freedesktop/ModemManager1/Bearer/50
, /org/freedesktop/ModemManager1/Bearer/49

  • Mobile Data = on, Data Roaming = on
  • AWESIM APN provider NXTGENPHONE
  • EM12-G with latest available Quectel firmware loaded (as of March 2023)
  • Expected Modem Serial Configuration:

/dev/ttyUSB0 - DM
/dev/ttyUSB1 - For GPS NMEA message output
/dev/ttyUSB2 - For AT command communication
/dev/ttyUSB3 - For PPP connection or AT command communication

Functionality (as advertised, not all tested):

  • CAT 12 modem
  • compatible with AT&T, T-Mobile ~‘all’ LTE bands in the US (unsure)
  • Physical size equivalent to BM818 modem (yes, tested)
  • M.2 slot same number antenna connections as BM818 modem (yes, tested)
  • Signal strength appears to be comparable to BM818 modem (unsure)

Things Attempted:

  1. modem installed
  2. updated 85 pm rules (vendor, prodid, power/autosuspend_delay_ms:3000ms, power/control:auto, power/wakeup:enabled, power/persist:0, avoid_reset_quirk:1)
  3. updated 77 mm quectel rules (vendor, prodid, port type)
  4. disabled usbguard (usbguard.service wasn’t running even before that)
  5. attempt to install arm64 modem manager 1.20 .deb but has dependency issues
  6. sudo socat - /dev/ttyUSB3,crnl allows AT command and favorable responses (SIM detected etc)
  7. AT+QNWINFO +QNWINFO: "FDD LTE", "310260", "LTE BAND 2", 975, OK
  8. enabled Modem, ModemManager & NetworkManager DEBUG and dmesg | grep -i ttyusb3, or wwan, or modem does not show anything useful
  9. fixed the now driver issue from lsusb load option driver echo "2c7c 0512" > /sys/bus/usb-serial/drivers/option1/new_id
  10. unbind other interfaces sudo bash -c echo '"1-1.2:1.8" > /sys/bus/usb/drivers/option/unbind'
  11. unbind other interfaces sudo bash -c echo "'1-1.2:1.9" > /sys/bus/usb/drivers/option/unbind'
  12. check if all supported devices are now listed, and it appears they are:
    `ls -la /sys/bus/usb/drivers/option/’

total 0
drwxr-xr-x 2 root root 0 Mar 11 10:58 .
drwxr-xr-x 11 root root 0 Mar 9 16:13 …
lrwxrwxrwx 1 root root 0 Mar 11 11:11 1-1.2:1.0 -> …/…/…/…/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.0
lrwxrwxrwx 1 root root 0 Mar 11 11:11 1-1.2:1.1 -> …/…/…/…/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.1
lrwxrwxrwx 1 root root 0 Mar 11 11:11 1-1.2:1.2 -> …/…/…/…/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.2
lrwxrwxrwx 1 root root 0 Mar 11 11:11 1-1.2:1.3 -> …/…/…/…/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.3
–w------- 1 root root 4096 Mar 11 11:11 bind
lrwxrwxrwx 1 root root 0 Mar 11 11:11 module -> …/…/…/…/module/usbserial
–w------- 1 root root 4096 Mar 11 11:11 uevent
–w------- 1 root root 4096 Mar 11 10:58 unbind

  1. use HKS to restart modem, wait and talk to modem sudo picocom -b 9600 /dev/ttyUSB2 with AT commands “OK”
  2. changed baud rate from Quectel default 115200 to 57600 which the modemmanager is using as default based on some blog trouble shooting i found out using AT+IPR=57600 command

Steps to Repeat the Following Error Log:

  1. turn modem off
  2. turn modem on wait for 4G bars to show in UI
  3. toggle mobile data
  4. send message, or try to place call

A couple errors/warnings/information picked from log below that may be of interest:

  • pureos ModemManager[889]: <info> [base-manager] couldn't check support for device '/sys/devices/platform/soc@0/30800000.bus/30b50000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1': not supported by any plugin
  • pureos ModemManager[889]: <error> [modem4] port ttyUSB2 timed out 10 consecutive times, marking modem as invalid
  • Error cancelling authorization check: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No such cancellation_id cancellation-id-265’ for name :1.14`
  • pureos ModemManager[889]: <warn> [base-manager] couldn't create modem for device '/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2': Failed to find primary AT port
  • <warn> [1678505490.236833] [plugin/quectel] could not grab port ttyUSB2: Cannot add port 'tty/ttyUSB2', unhandled port type
  • <warn> [1678505490.238710] [modem0] couldn't start initialization: Couldn't open ports during modem initialization: Couldn't open primary port: Could not open serial device ttyUSB3: No such file or directory
  • <warn> [1678505490.238788] [modem0] couldn't initialize: 'Modem is unusable, cannot fully initialize

USB Devices Details:

sudo cat /sys/kernel/debug/usb/devices >>usb-devices.txt

T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 9 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=2c7c ProdID=0512 Rev= 3.18
S: Manufacturer=Quectel
S: Product=EM12-G
S: SerialNumber=0123456789A###EF
C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=(none)
E: Ad=88(I) Atr=03(Int.) MxPS= 64 Ivl=32ms
I:* If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=(none)
I: If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=(none)
E: Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Modem Manager Logs:

  1. sudo journalctl -u modemManager.service >debug.txt

ar 10 07:04:32 pureos ModemManager[889]: [sleep-monitor] system is about to suspend
Mar 10 17:24:50 pureos ModemManager[889]: [sleep-monitor] system is resuming
Mar 10 17:24:53 pureos ModemManager[889]: [device /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2] creating modem with plugin ‘quectel’ and ‘4’ ports
Mar 10 17:24:53 pureos ModemManager[889]: [base-manager] modem for device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’ successfully created
Mar 10 17:24:53 pureos ModemManager[889]: [base-manager] couldn’t check support for device ‘/sys/devices/platform/soc@0/30800000.bus/30b50000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1’: not supported by any plugin
Mar 10 17:24:53 pureos ModemManager[889]: [modem4/sim3] couldn’t load operator name: Failed to parse CRSM query result ‘+CRSM: 106,130,""’
Mar 10 17:24:53 pureos ModemManager[889]: [modem4/sim3] couldn’t load list of emergency numbers: Failed to parse CRSM query result ‘+CRSM: 148,8,""’
Mar 10 17:24:53 pureos ModemManager[889]: [modem4/sim3] couldn’t load list of preferred networks: Operation not allowed
Mar 10 17:24:54 pureos ModemManager[889]: [modem4] state changed (unknown -> disabled)
Mar 10 17:24:54 pureos ModemManager[889]: [modem4] state changed (disabled -> enabling)
Mar 10 17:24:54 pureos ModemManager[889]: [modem4] power state updated: on
Mar 10 17:24:54 pureos ModemManager[889]: [modem4] simple connect started…
Mar 10 17:24:54 pureos ModemManager[889]: [modem4] simple connect state (4/8): wait to get fully enabled
Mar 10 17:25:04 pureos ModemManager[889]: [modem4] simple connect started…
Mar 10 17:25:04 pureos ModemManager[889]: [modem4] simple connect state (4/8): wait to get fully enabled
Mar 10 17:25:14 pureos ModemManager[889]: [modem4] simple connect started…
Mar 10 17:25:14 pureos ModemManager[889]: [modem4] simple connect state (4/8): wait to get fully enabled
Mar 10 17:25:16 pureos ModemManager[889]: [modem4] network forced PS detach: all contexts have been deactivated
Mar 10 17:25:16 pureos ModemManager[889]: [modem4] network forced PS detach: all contexts have been deactivated
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] state changed (enabling -> enabled)
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] simple connect state (5/8): register
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] 3GPP registration state changed (unknown -> registering)
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] 3GPP registration state changed (registering -> home)
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] state changed (enabled -> registered)
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] simple connect state (6/8): bearer
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] simple connect state (7/8): connect
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] state changed (registered -> connecting)
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] state changed (connecting -> connected)
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] simple connect state (8/8): all done
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] state changed (connected -> disconnecting)
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] simple connect started…
Mar 10 17:25:17 pureos ModemManager[889]: [modem4] simple connect state (4/8): wait to get fully enabled
Mar 10 17:25:18 pureos ModemManager[889]: [modem4] state changed (disconnecting -> registered)
Mar 10 17:25:18 pureos ModemManager[889]: [modem4] simple connect state (5/8): register
Mar 10 17:25:18 pureos ModemManager[889]: [modem4/bearer80] connection #1 finished: duration 1s, tx: 0 bytes, rx: 0 bytes
Mar 10 17:25:18 pureos ModemManager[889]: [modem4] simple connect state (6/8): bearer
Mar 10 17:25:18 pureos ModemManager[889]: [modem4] simple connect state (7/8): connect
Mar 10 17:25:18 pureos ModemManager[889]: [modem4] state changed (registered -> connecting)
Mar 10 17:25:25 pureos ModemManager[889]: [modem4] port ttyUSB2 timed out 2 consecutive times
…times
Mar 10 17:27:48 pureos ModemManager[889]: [modem4] port ttyUSB2 timed out 10 consecutive times, marking modem as invalid
Mar 10 17:27:48 pureos ModemManager[889]: [modem4/bearer81] connection attempt #1 failed: AT command was cancelled
Mar 10 17:27:48 pureos ModemManager[889]: [modem4/bearer81] connection #1 finished: duration 0s, tx: 0 bytes, rx: 0 bytes
Mar 10 17:28:26 pureos ModemManager[889]: [base-manager] port ttyUSB0 released by device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’
Mar 10 17:28:26 pureos ModemManager[889]: [base-manager] port ttyUSB3 released by device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’
Mar 10 17:28:26 pureos ModemManager[889]: [base-manager] port ttyUSB2 released by device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’
Mar 10 17:28:26 pureos ModemManager[889]: [base-manager] port ttyUSB1 released by device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’
Mar 10 18:57:00 pureos ModemManager[889]: [sleep-monitor] system is about to suspend
Mar 10 18:58:38 pureos ModemManager[889]: [sleep-monitor] system is resuming
Mar 10 18:58:41 pureos ModemManager[889]: [base-manager] couldn’t check support for device ‘/sys/devices/platform/soc@0/30800000.bus/30b50000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1’: not supported by any plugin
Mar 10 19:05:16 pureos ModemManager[889]: Error cancelling authorization check: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No such cancellation_id cancellation-id-265' for name :1.14 Mar 10 19:05:21 pureos ModemManager[889]: <info> [device /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2] creating modem with plugin 'quectel' and '4' ports Mar 10 19:05:21 pureos ModemManager[889]: <warn> [plugin/quectel] could not grab port ttyUSB2: Cannot add port 'tty/ttyUSB2', unhandled port type Mar 10 19:05:21 pureos ModemManager[889]: <warn> [plugin/quectel] could not grab port ttyUSB3: Cannot add port 'tty/ttyUSB3', unhandled port type Mar 10 19:05:21 pureos ModemManager[889]: <warn> [base-manager] couldn't create modem for device '/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2': Failed to find primary AT port Mar 10 19:05:30 pureos ModemManager[889]: Error cancelling authorization check: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No such cancellation_id cancellation-id-266’ for name :1.14
Mar 10 19:06:25 pureos ModemManager[889]: Error cancelling authorization check: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No such cancellation_id `cancellation-id-267’ for name :1.14

$> sudo /usr/sbin/ModemManager --debug

ModemManager[85696]: [1678505487.624489] [plugin-manager] task 1,wlan0: found ‘1’ plugins to try
ModemManager[85696]: [1678505487.624562] [plugin-manager] task 1,wlan0: will try with plugin ‘generic’
ModemManager[85696]: [1678505487.624659] [plugin-manager] task 1,wlan0: started
ModemManager[85696]: [1678505487.624730] [plugin-manager] task 1,wlan0: checking with plugin ‘generic’
ModemManager[85696]: [1678505487.624827] [plugin/generic] probing of port wlan0 deferred until result suggested
ModemManager[85696]: [1678505487.624946] [plugin-manager] task 1: extra probing time elapsed
ModemManager[85696]: [1678505487.625023] [plugin-manager] task 1: still 1 running probes (1 active): wlan0
ModemManager[85696]: [1678505487.625258] [plugin-manager] task 1,wlan0: deferring support check until result suggested
ModemManager[85696]: [1678505487.734779] [ttyUSB3/at] <-- ‘OK’
ModemManager[85696]: [1678505487.735217] [ttyUSB3/probe] port is AT-capable
ModemManager[85696]: [1678505487.735338] [plugin-manager] task 0,ttyUSB3: found best plugin for port (quectel)
ModemManager[85696]: [1678505487.735475] [plugin-manager] task 0,ttyUSB3: finished in ‘1.722945’ seconds
ModemManager[85696]: [1678505487.735573] [plugin-manager] task 0,ttyUSB3: best plugin matches device reported one: quectel
ModemManager[85696]: [1678505487.735656] [plugin-manager] task 0: still 1 running probes (1 active): ttyUSB2
ModemManager[85696]: [1678505487.735794] [ttyUSB3/at] device open count is 0 (close)
ModemManager[85696]: [1678505487.735875] [ttyUSB3/at] closing serial port…
ModemManager[85696]: [1678505487.737132] [ttyUSB3/at] serial port closed
ModemManager[85696]: [1678505487.737330] [ttyUSB3/at] forced to close port
ModemManager[85696]: [1678505488.502629] [plugin-manager] task 0: min probing time elapsed
ModemManager[85696]: [1678505488.502997] [plugin-manager] task 0: still 1 running probes (1 active): ttyUSB2
ModemManager[85696]: [1678505488.621365] [plugin-manager] task 1: min probing time elapsed
ModemManager[85696]: [1678505488.621759] [plugin-manager] task 1: still 1 running probes (0 active): wlan0
ModemManager[85696]: [1678505488.621857] [plugin-manager] task 1: no active tasks to probe
ModemManager[85696]: [1678505488.621914] [plugin-manager] task 1,wlan0: deferred task completed, no suggested plugin
ModemManager[85696]: [1678505488.621966] [plugin-manager] task 1,wlan0: finished in ‘2.501329’ seconds
ModemManager[85696]: [1678505488.622046] [plugin-manager] task 1,wlan0: not supported by any plugin
ModemManager[85696]: [1678505488.622114] [device /sys/devices/platform/soc@0/30800000.bus/30b50000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1] fully ignoring port wlan0 from now on
ModemManager[85696]: [1678505488.622221] [plugin-manager] task 1: no more ports to probe
ModemManager[85696]: [1678505488.622269] [plugin-manager] task 1: finished in ‘2.501854’ seconds
ModemManager[85696]: [1678505488.622344] [base-manager] couldn’t check support for device ‘/sys/devices/platform/soc@0/30800000.bus/30b50000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1’: not supported by any plugin
ModemManager[85696]: [1678505490.229563] [ttyUSB2/at] unexpected port hangup!
ModemManager[85696]: [1678505490.229986] [ttyUSB2/at] forced to close port
ModemManager[85696]: [1678505490.230048] [ttyUSB2/at] device open count is 0 (close)
ModemManager[85696]: [1678505490.230114] [ttyUSB2/at] closing serial port…
ModemManager[85696]: [1678505490.231720] [ttyUSB2/at] serial port closed
ModemManager[85696]: [1678505490.232086] [plugin-manager] task 0,ttyUSB2: ignoring port unsupported by physical modem’s plugin
ModemManager[85696]: [1678505490.232166] [plugin-manager] task 0,ttyUSB2: finished in ‘4.222360’ seconds
ModemManager[85696]: [1678505490.232239] [plugin-manager] task 0,ttyUSB2: assuming port can be handled by the ‘quectel’ plugin
ModemManager[85696]: [1678505490.232294] [plugin-manager] task 0: no more ports to probe
ModemManager[85696]: [1678505490.232343] [plugin-manager] task 0: finished in ‘4.230464’ seconds
ModemManager[85696]: [1678505490.232445] [device /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2] creating modem with plugin ‘quectel’ and ‘4’ ports
ModemManager[85696]: [1678505490.236465] [modem0/ttyUSB3/at] AT port flagged as secondary
ModemManager[85696]: [1678505490.236754] [modem0] port ‘tty/ttyUSB3’ grabbed
ModemManager[85696]: [1678505490.236833] [plugin/quectel] could not grab port ttyUSB2: Cannot add port ‘tty/ttyUSB2’, unhandled port type
ModemManager[85696]: [1678505490.237062] [modem0] port ‘tty/ttyUSB1’ grabbed
ModemManager[85696]: [1678505490.237204] [modem0] port ‘tty/ttyUSB0’ grabbed
ModemManager[85696]: [1678505490.237268] [modem0] tty/ttyUSB3 at (primary)
ModemManager[85696]: [1678505490.237320] [modem0] tty/ttyUSB3 at (data primary)
ModemManager[85696]: [1678505490.237370] [modem0] tty/ttyUSB0 qcdm
ModemManager[85696]: [1678505490.237420] [modem0] tty/ttyUSB1 gps (nmea)
ModemManager[85696]: [1678505490.238154] [modem0/ttyUSB3/at] opening serial port…
ModemManager[85696]: [1678505490.238470] [base-manager] modem for device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’ successfully created
ModemManager[85696]: [1678505490.238710] [modem0] couldn’t start initialization: Couldn’t open ports during modem initialization: Couldn’t open primary port: Could not open serial device ttyUSB3: No such file or directory
ModemManager[85696]: [1678505490.238788] [modem0] couldn’t initialize: ‘Modem is unusable, cannot fully initialize’
ModemManager[85696]: [1678505490.242783] [base-manager] port ttyUSB2 released by device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’
ModemManager[85696]: [1678505490.252524] [base-manager] port ttyUSB1 released by device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’
ModemManager[85696]: [1678505490.258841] [base-manager] port ttyUSB3 released by device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’
ModemManager[85696]: [1678505490.264057] [base-manager] port ttyUSB0 released by device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’
ModemManager[85696]: [1678505490.264308] [base-manager] removing empty device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’
ModemManager[85696]: [1678505490.264434] [modem0] cleaning up port ‘tty/ttyUSB0’…
ModemManager[85696]: [1678505490.264499] [modem0] cleaning up port ‘tty/ttyUSB1’…
ModemManager[85696]: [1678505490.264597] [modem0] cleaning up port ‘tty/ttyUSB3’…
ModemManager[85696]: [1678505490.264792] [modem0/ttyUSB0/qcdm] forced to close port
ModemManager[85696]: [1678505490.264988] [modem0/ttyUSB1/gps] forced to close port
ModemManager[85696]: [1678505490.265234] [modem0/ttyUSB3/at] forced to close port
ModemManager[85696]: [1678505490.265365] [modem0] completely disposed
ModemManager[85696]: [1678505503.870581] [ttyUSB0] port contents loaded:
ModemManager[85696]: [1678505503.870941] [ttyUSB0] bus: usb
ModemManager[85696]: [1678505503.871027] [ttyUSB0] interface: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.0
ModemManager[85696]: [1678505503.871078] [ttyUSB0] device: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
ModemManager[85696]: [1678505503.871126] [ttyUSB0] driver: option
ModemManager[85696]: [1678505503.871173] [ttyUSB0] vendor: 2c7c
ModemManager[85696]: [1678505503.871220] [ttyUSB0] product: 0512
ModemManager[85696]: [1678505503.871267] [ttyUSB0] revision: 0318
ModemManager[85696]: [1678505503.871322] [base-manager] adding port ttyUSB0 at sysfs path: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.0/ttyUSB0/tty/ttyUSB0
ModemManager[85696]: [1678505503.871728] [filter] (tty/ttyUSB0) port allowed: device is whitelisted by plugin (vid)
ModemManager[85696]: [1678505503.871802] [base-manager] port ttyUSB0 is first in device /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
ModemManager[85696]: [1678505503.871942] [plugin-manager] task 2: new support task for device: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
ModemManager[85696]: [1678505503.872104] [plugin-manager] task 2: port grabbed: ttyUSB0
ModemManager[85696]: [1678505503.872166] [plugin-manager] task 2,ttyUSB0: new support task for port
ModemManager[85696]: [1678505503.872217] [plugin-manager] task 2,ttyUSB0: deferred until min wait time elapsed
ModemManager[85696]: [1678505503.890173] [ttyUSB2] port contents loaded:
ModemManager[85696]: [1678505503.890420] [ttyUSB2] bus: usb
ModemManager[85696]: [1678505503.890479] [ttyUSB2] interface: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.2
ModemManager[85696]: [1678505503.890529] [ttyUSB2] device: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
ModemManager[85696]: [1678505503.890576] [ttyUSB2] driver: option
ModemManager[85696]: [1678505503.890622] [ttyUSB2] vendor: 2c7c
ModemManager[85696]: [1678505503.890667] [ttyUSB2] product: 0512
ModemManager[85696]: [1678505503.890713] [ttyUSB2] revision: 0318
ModemManager[85696]: [1678505503.890764] [base-manager] adding port ttyUSB2 at sysfs path: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.2/ttyUSB2/tty/ttyUSB2
ModemManager[85696]: [1678505503.891029] [filter] (tty/ttyUSB2) port allowed: device is whitelisted by plugin (vid)
ModemManager[85696]: [1678505503.891097] [base-manager] additional port ttyUSB2 in device /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
ModemManager[85696]: [1678505503.891228] [plugin-manager] task 2: port grabbed: ttyUSB2
ModemManager[85696]: [1678505503.891309] [plugin-manager] task 2,ttyUSB2: new support task for port
ModemManager[85696]: [1678505503.891359] [plugin-manager] task 2,ttyUSB2: deferred until min wait time elapsed
ModemManager[85696]: [1678505503.919377] [ttyUSB1] port contents loaded:
ModemManager[85696]: [1678505503.920050] [ttyUSB1] bus: usb
ModemManager[85696]: [1678505503.920124] [ttyUSB1] interface: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.1
ModemManager[85696]: [1678505503.920217] [ttyUSB1] device: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
ModemManager[85696]: [1678505503.920264] [ttyUSB1] driver: option
ModemManager[85696]: [1678505503.920309] [ttyUSB1] vendor: 2c7c
ModemManager[85696]: [1678505503.920354] [ttyUSB1] product: 0512
ModemManager[85696]: [1678505503.920399] [ttyUSB1] revision: 0318
ModemManager[85696]: [1678505503.920450] [base-manager] adding port ttyUSB1 at sysfs path: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.1/ttyUSB1/tty/ttyUSB1
ModemManager[85696]: [1678505503.920739] [filter] (tty/ttyUSB1) port allowed: device is whitelisted by plugin (vid)
ModemManager[85696]: [1678505503.920808] [base-manager] additional port ttyUSB1 in device /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
ModemManager[85696]: [1678505503.920939] [plugin-manager] task 2: port grabbed: ttyUSB1
ModemManager[85696]: [1678505503.921020] [plugin-manager] task 2,ttyUSB1: new support task for port
ModemManager[85696]: [1678505503.921067] [plugin-manager] task 2,ttyUSB1: deferred until min wait time elapsed
ModemManager[85696]: [1678505503.929335] [ttyUSB3] port contents loaded:
ModemManager[85696]: [1678505503.929672] [ttyUSB3] bus: usb
ModemManager[85696]: [1678505503.929734] [ttyUSB3] interface: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.3
ModemManager[85696]: [1678505503.929784] [ttyUSB3] device: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
ModemManager[85696]: [1678505503.929833] [ttyUSB3] driver: option
ModemManager[85696]: [1678505503.929880] [ttyUSB3] vendor: 2c7c
ModemManager[85696]: [1678505503.929928] [ttyUSB3] product: 0512
ModemManager[85696]: [1678505503.929975] [ttyUSB3] revision: 0318
ModemManager[85696]: [1678505503.930028] [base-manager] adding port ttyUSB3 at sysfs path: /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2/1-1.2:1.3/ttyUSB3/tty/ttyUSB3
ModemManager[85696]: [1678505503.930319] [filter] (tty/ttyUSB3) port allowed: device is whitelisted by plugin (vid)
ModemManager[85696]: [1678505503.930400] [base-manager] additional port ttyUSB3 in device /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2
ModemManager[85696]: [1678505503.930550] [plugin-manager] task 2: port grabbed: ttyUSB3
ModemManager[85696]: [1678505503.930639] [plugin-manager] task 2,ttyUSB3: new support task for port
ModemManager[85696]: [1678505503.930687] [plugin-manager] task 2,ttyUSB3: deferred until min wait time elapsed
ModemManager[85696]: [1678505505.374310] [plugin-manager] task 2: min wait time elapsed
ModemManager[85696]: [1678505505.374625] [plugin/option] port ttyUSB3 filtered by vendor/product IDs
ModemManager[85696]: [1678505505.376019] [plugin/broadmobi] port ttyUSB3 filtered by vendor/product IDs
ModemManager[85696]: [1678505505.377123] [plugin-manager] task 2,ttyUSB3: found ‘8’ plugins to try
ModemManager[85696]: [1678505505.377192] [plugin-manager] task 2,ttyUSB3: will try with plugin ‘quectel’
ModemManager[85696]: [1678505505.377663] [plugin-manager] task 2,ttyUSB3: will try with plugin ‘generic’
ModemManager[85696]: [1678505505.377756] [plugin-manager] task 2,ttyUSB3: started
ModemManager[85696]: [1678505505.377825] [plugin-manager] task 2,ttyUSB3: checking with plugin ‘quectel’
ModemManager[85696]: [1678505505.377924] [plugin/quectel] probes required for port ttyUSB3: ‘at, qcdm’
ModemManager[85696]: [1678505505.378002] [ttyUSB3/probe] no QCDM/QMI/MBIM probing in possible AT port
ModemManager[85696]: [1678505505.378077] [ttyUSB3/probe] port is not QCDM-capable
ModemManager[85696]: [1678505505.378144] [ttyUSB3/probe] port is not QMI-capable
ModemManager[85696]: [1678505505.378210] [ttyUSB3/probe] port is not MBIM-capable
ModemManager[85696]: [1678505505.378279] [ttyUSB3/probe] launching port probing: ‘at’
ModemManager[85696]: [1678505505.378406] [plugin/option] port ttyUSB1 filtered by vendor/product IDs
ModemManager[85696]: [1678505505.378946] [plugin/d-link] port ttyUSB1 filtered by vendor/product IDs
ModemManager[85696]: [1678505505.379652] [plugin/broadmobi] port ttyUSB1 filtered by vendor/product IDs
ModemManager[85696]: [1678505505.381314] [plugin-manager] task 2,ttyUSB1: will try with plugin ‘generic’
ModemManager[85696]: [1678505505.381392] [plugin-manager] task 2,ttyUSB1: started
ModemManager[85696]: [1678505505.381463] [plugin-manager] task 2,ttyUSB1: checking with plugin ‘quectel’
ModemManager[85696]: [1678505505.381558] [plugin/quectel] probes required for port ttyUSB1: ‘at, qcdm’
ModemManager[85696]: [1678505505.381634] [ttyUSB1/probe] GPS port detected
ModemManager[85696]: [1678505505.381708] [ttyUSB1/probe] port is not AT-capable
ModemManager[85696]: [1678505505.381775] [ttyUSB1/probe] port is not QCDM-capable
ModemManager[85696]: [1678505505.381840] [ttyUSB1/probe] port is not QMI-capable
ModemManager[85696]: [1678505505.381907] [ttyUSB1/probe] port is not MBIM-capable
ModemManager[85696]: [1678505505.381974] [ttyUSB1/probe] port probing finished: no more probings needed
ModemManager[85696]: [1678505505.383279] [plugin/broadmobi] port ttyUSB2 filtered by vendor/product IDs
ModemManager[85696]: [1678505505.384652] [plugin-manager] task 2,ttyUSB2: will try with plugin ‘generic’
ModemManager[85696]: [1678505505.384719] [plugin-manager] task 2,ttyUSB2: started
ModemManager[85696]: [1678505505.384769] [plugin-manager] task 2,ttyUSB2: checking with plugin ‘quectel’
ModemManager[85696]: [1678505505.384862] [plugin/quectel] probes required for port ttyUSB2: ‘at, qcdm’
ModemManager[85696]: [1678505505.384920] [ttyUSB2/probe] no QCDM/QMI/MBIM probing in possible AT port
ModemManager[85696]: [1678505505.384974] [ttyUSB2/probe] port is not QCDM-capable
ModemManager[85696]: [1678505505.385023] [ttyUSB2/probe] port is not QMI-capable
ModemManager[85696]: [1678505505.385071] [ttyUSB2/probe] port is not MBIM-capable
ModemManager[85696]: [1678505505.385120] [ttyUSB2/probe] launching port probing: ‘at’
ModemManager[85696]: [1678505505.385225] [plugin/option] port ttyUSB0 filtered by vendor/product IDs
ModemManager[85696]: [1678505505.386094] [plugin/broadmobi] port ttyUSB0 filtered by vendor/product IDs
ModemManager[85696]: [1678505505.386627] [plugin/gosuncn] port ttyUSB0 filtered by drivers
ModemManager[85696]: [1678505505.386945] [plugin-manager] task 2,ttyUSB0: found ‘8’ plugins to try
ModemManager[85696]: [1678505505.386993] [plugin-manager] task 2,ttyUSB0: will try with plugin ‘quectel’
ModemManager[85696]: [1678505505.387321] [plugin-manager] task 2,ttyUSB0: will try with plugin ‘generic’
ModemManager[85696]: [1678505505.387389] [plugin-manager] task 2,ttyUSB0: started
ModemManager[85696]: [1678505505.387485] [plugin-manager] task 2,ttyUSB0: checking with plugin ‘quectel’
ModemManager[85696]: [1678505505.387573] [plugin/quectel] probes required for port ttyUSB0: ‘at, qcdm’
ModemManager[85696]: [1678505505.387631] [ttyUSB0/probe] no AT/QMI/MBIM probing in possible QCDM port
ModemManager[85696]: [1678505505.387687] [ttyUSB0/probe] port is not AT-capable
ModemManager[85696]: [1678505505.387733] [ttyUSB0/probe] port is not QMI-capable
ModemManager[85696]: [1678505505.387779] [ttyUSB0/probe] port is not MBIM-capable
ModemManager[85696]: [1678505505.387827] [ttyUSB0/probe] launching port probing: ‘qcdm’
ModemManager[85696]: [1678505505.387940] [plugin-manager] task 2,ttyUSB1: found best plugin for port (quectel)
ModemManager[85696]: [1678505505.387996] [plugin-manager] task 2,ttyUSB1: finished in ‘1.466978’ seconds
ModemManager[85696]: [1678505505.388064] [plugin-manager] task 2,ttyUSB1: found best plugin: quectel
ModemManager[85696]: [1678505505.388132] [plugin-manager] task 2,ttyUSB3: got suggested plugin (quectel)
ModemManager[85696]: [1678505505.388183] [plugin-manager] task 2,ttyUSB2: got suggested plugin (quectel)
ModemManager[85696]: [1678505505.388232] [plugin-manager] task 2,ttyUSB0: got suggested plugin (quectel)
ModemManager[85696]: [1678505505.388296] [plugin-manager] task 2: still 3 running probes (3 active): ttyUSB3, ttyUSB2, ttyUSB0
ModemManager[85696]: [1678505505.388645] [ttyUSB3/at] opening serial port…
ModemManager[85696]: [1678505505.389691] [ttyUSB3/at] setting up baudrate: 57600
ModemManager[85696]: [1678505505.389768] [ttyUSB3/at] no flow control explicitly requested for device
ModemManager[85696]: [1678505505.389871] [ttyUSB3/at] port attributes not fully set
ModemManager[85696]: [1678505505.389974] [ttyUSB3/at] device open count is 1 (open)
ModemManager[85696]: [1678505505.390244] [ttyUSB2/at] opening serial port…
ModemManager[85696]: [1678505505.391259] [ttyUSB2/at] setting up baudrate: 57600
ModemManager[85696]: [1678505505.391359] [ttyUSB2/at] no flow control explicitly requested for device
ModemManager[85696]: [1678505505.391454] [ttyUSB2/at] port attributes not fully set
ModemManager[85696]: [1678505505.391555] [ttyUSB2/at] device open count is 1 (open)
ModemManager[85696]: [1678505505.391642] [ttyUSB0/probe] probing QCDM…
ModemManager[85696]: [1678505505.391753] [ttyUSB0/qcdm] opening serial port…
ModemManager[85696]: [1678505505.392756] [ttyUSB0/qcdm] device open count is 1 (open)
ModemManager[85696]: [1678505505.392927] [ttyUSB0/qcdm] --> 7e 00 78 f0 7e
ModemManager[85696]: [1678505505.393055] [ttyUSB3/at] --> ‘AT’
ModemManager[85696]: [1678505505.393134] [ttyUSB2/at] --> ‘AT’
ModemManager[85696]: [1678505505.393368] [ttyUSB0/qcdm] <-- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2d f9 7e
ModemManager[85696]: [1678505505.393492] [ttyUSB0/probe] port is QCDM-capable
ModemManager[85696]: [1678505505.393580] [plugin-manager] task 2,ttyUSB0: found best plugin for port (quectel)
ModemManager[85696]: [1678505505.393656] [plugin-manager] task 2,ttyUSB0: finished in ‘1.521492’ seconds
ModemManager[85696]: [1678505505.393744] [plugin-manager] task 2,ttyUSB0: best plugin matches device reported one: quectel
ModemManager[85696]: [1678505505.393826] [plugin-manager] task 2: still 2 running probes (2 active): ttyUSB3, ttyUSB2
ModemManager[85696]: [1678505505.393937] [ttyUSB0/qcdm] device open count is 0 (close)
ModemManager[85696]: [1678505505.394017] [ttyUSB0/qcdm] closing serial port…
ModemManager[85696]: [1678505505.396782] [ttyUSB0/qcdm] serial port closed
ModemManager[85696]: [1678505505.396907] [ttyUSB0/qcdm] forced to close port
ModemManager[85696]: [1678505505.431707] [plugin-manager] task 2: extra probing time elapsed
ModemManager[85696]: [1678505505.432011] [plugin-manager] task 2: still 2 running probes (2 active): ttyUSB3, ttyUSB2
ModemManager[85696]: [1678505506.373704] [plugin-manager] task 2: min probing time elapsed
ModemManager[85696]: [1678505506.374064] [plugin-manager] task 2: still 2 running probes (2 active): ttyUSB3, ttyUSB2
ModemManager[85696]: [1678505509.251328] [ttyUSB3/at] --> ‘AT’
ModemManager[85696]: [1678505509.251694] [ttyUSB2/at] --> ‘AT’
ModemManager[85696]: [1678505512.263414] [plugin-manager] task 2,ttyUSB3: ignoring port unsupported by physical modem’s plugin
ModemManager[85696]: [1678505512.263711] [plugin-manager] task 2,ttyUSB3: finished in ‘8.333074’ seconds
ModemManager[85696]: [1678505512.263810] [plugin-manager] task 2,ttyUSB3: assuming port can be handled by the ‘quectel’ plugin
ModemManager[85696]: [1678505512.263872] [plugin-manager] task 2: still 1 running probes (1 active): ttyUSB2
ModemManager[85696]: [1678505512.263977] [ttyUSB3/at] device open count is 0 (close)
ModemManager[85696]: [1678505512.264034] [ttyUSB3/at] closing serial port…
ModemManager[85696]: [1678505512.265099] [ttyUSB3/at] serial port closed
ModemManager[85696]: [1678505512.265254] [ttyUSB3/at] forced to close port
ModemManager[85696]: [1678505512.265414] [plugin-manager] task 2,ttyUSB2: ignoring port unsupported by physical modem’s plugin
ModemManager[85696]: [1678505512.265472] [plugin-manager] task 2,ttyUSB2: finished in ‘8.374166’ seconds
ModemManager[85696]: [1678505512.265538] [plugin-manager] task 2,ttyUSB2: assuming port can be handled by the ‘quectel’ plugin
ModemManager[85696]: [1678505512.265636] [plugin-manager] task 2: no more ports to probe
ModemManager[85696]: [1678505512.265683] [plugin-manager] task 2: finished in ‘8.393745’ seconds
ModemManager[85696]: [1678505512.265775] [device /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2] creating modem with plugin ‘quectel’ and ‘4’ ports
ModemManager[85696]: [1678505512.266448] [plugin/quectel] could not grab port ttyUSB3: Cannot add port ‘tty/ttyUSB3’, unhandled port type
ModemManager[85696]: [1678505512.266601] [modem1] port ‘tty/ttyUSB1’ grabbed
ModemManager[85696]: [1678505512.266666] [plugin/quectel] could not grab port ttyUSB2: Cannot add port ‘tty/ttyUSB2’, unhandled port type
ModemManager[85696]: [1678505512.266768] [modem1] port ‘tty/ttyUSB0’ grabbed
ModemManager[85696]: [1678505512.266853] [modem1] cleaning up port ‘tty/ttyUSB0’…
ModemManager[85696]: [1678505512.266909] [modem1] cleaning up port ‘tty/ttyUSB1’…
ModemManager[85696]: [1678505512.266965] [modem1/ttyUSB0/qcdm] forced to close port
ModemManager[85696]: [1678505512.267026] [modem1/ttyUSB1/gps] forced to close port
ModemManager[85696]: [1678505512.267098] [modem1] completely disposed
ModemManager[85696]: [1678505512.267158] [base-manager] couldn’t create modem for device ‘/sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.2’: Failed to find primary AT port
ModemManager[85696]: [1678505512.267811] [ttyUSB2/at] device open count is 0 (close)
ModemManager[85696]: [1678505512.268038] [ttyUSB2/at] closing serial port…
ModemManager[85696]: [1678505512.268992] [ttyUSB2/at] serial port closed
ModemManager[85696]: [1678505512.269180] [ttyUSB2/at] forced to close port
ModemManager[85696]: [1678505530.819123] caught signal, shutting down…
ModemManager[85696]: [1678505530.820491] [base-manager] stopping connection in object manager server
ModemManager[85696]: [1678505530.837272] ModemManager is shut down
ModemManager[85696]: [1678505530.837917] [sleep-monitor] singleton disposed
ModemManager[85696]: [1678505530.838096] [sleep-monitor] dropping systemd sleep inhibitor
ModemManager[85696]: [1678505530.841170] [auth-provider] singleton disposed
ModemManager[88276]: [1678505612.204544] ModemManager (version 1.18.6) starting in system bus…
ModemManager[88276]: [1678505612.205079] [charsets] detecting platform iconv() support…
ModemManager[88276]: [1678505612.205412] [charsets] UTF-8: iconv conversion to/from charset is supported
ModemManager[88276]: [1678505612.205512] [charsets] UCS-2BE: iconv conversion to/from charset is supported
ModemManager[88276]: [1678505612.205584] [charsets] ASCII: iconv conversion to/from charset is supported
ModemManager[88276]: [1678505612.206052] [charsets] ISO8859-1: iconv conversion to/from charset is supported
ModemManager[88276]: [1678505612.206437] [charsets] CP437: iconv conversion to/from charset is supported
ModemManager[88276]: [1678505612.206879] [charsets] CP850: iconv conversion to/from charset is supported
ModemManager[88276]: [1678505612.207822] [charsets] UTF-16BE: iconv conversion to/from charset is supported
ModemManager[88276]: [1678505612.209743] Full suspend/resume hooks enabled
ModemManager[88276]: [1678505612.211624] [sleep-monitor] singleton created
ModemManager[88276]: [1678505612.216661] bus acquired, creating manager…
ModemManager[88276]: [1678505612.223341] [auth-provider] singleton created
ModemManager[88276]: [1678505612.224995] [filter] created
ModemManager[88276]: [1678505612.225676] [filter] explicit whitelist: yes
ModemManager[88276]: [1678505612.226043] [filter] explicit blacklist: yes
ModemManager[88276]: [1678505612.226369] [filter] plugin whitelist: yes
ModemManager[88276]: [1678505612.226702] [filter] qrtr devices allowed: yes
ModemManager[88276]: [1678505612.227055] [filter] virtual devices forbidden: yes
ModemManager[88276]: [1678505612.227377] [filter] net devices allowed: yes
ModemManager[88276]: [1678505612.227661] [filter] usbmisc devices allowed: yes
ModemManager[88276]: [1678505612.227876] [filter] rpmsg devices allowed: yes
ModemManager[88276]: [1678505612.228086] [filter] wwan devices allowed: yes
ModemManager[88276]: [1678505612.228295] [filter] tty devices:
ModemManager[88276]: [1678505612.228505] [filter] platform driver check: yes
ModemManager[88276]: [1678505612.228727] [filter] driver check: yes
ModemManager[88276]: [1678505612.228941] [filter] cdc-acm interface check: yes
ModemManager[88276]: [1678505612.229160] [filter] with net check: yes
ModemManager[88276]: [1678505612.229369] [filter] default: forbidden
ModemManager[88276]: [1678505612.229825] [plugin-manager] looking for plugins in ‘/usr/lib/aarch64-linux-gnu/ModemManager’
from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-shared-xmm.so’
ModemManager[88276]: [1678505612.237217] [plugin-manager] loaded shared ‘Icera’ utils from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-shared-icera.so’
ModemManager[88276]: [1678505612.238062] [plugin-manager] loaded shared ‘Sierra’ utils from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-shared-sierra.so’
ModemManager[88276]: [1678505612.238998] [plugin-manager] loaded plugin ‘option’ from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-plugin-option.so’
ModemManager[88276]: [1678505612.239329] [filter] registered plugin whitelist vendor id: 0af0
ModemManager[88276]: [1678505612.239679] [filter] registered plugin whitelist vendor id: 1931
ModemManager[88276]: [1678505612.241005] [plugin-manager] loaded plugin ‘longcheer’ from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-plugin-longcheer.so’
ModemManager[88276]: [1678505612.241667] [filter] registered plugin whitelist tag: ID_MM_LONGCHEER_TAGGED
ModemManager[88276]: [1678505612.247211] [plugin-manager] loaded plugin ‘qcom-soc’ from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-plugin-qcom-soc.so’
ModemManager[88276]: [1678505612.247278] [filter] registered plugin whitelist tag: ID_MM_QCOM_SOC
ModemManager[88276]: [1678505612.248128] [plugin-manager] loaded plugin ‘cinterion’ from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-plugin-cinterion.so’
ModemManager[88276]: [1678505612.254350] [plugin-manager] loaded plugin ‘quectel’ from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-plugin-quectel.so’
ModemManager[88276]: [1678505612.254525] [filter] registered plugin whitelist vendor id: 2c7c
ModemManager[88276]: [1678505612.254580] [filter] registered plugin whitelist vendor id: 1eac
ModemManager[88276]: [1678505612.255134] [plugin-manager] loaded plugin ‘broadmobi’ from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-plugin-broadmobi.so’
ModemManager[88276]: [1678505612.273810] [plugin-manager] loaded plugin ‘anydata’ from ‘/usr/lib/aarch64-linux-gnu/ModemManager/libmm-plugin-anydata.so’
ModemManager[88276]: [1678505612.274549] [filter] registered plugin whitelist vendor id: 16d5
ModemManager[88276]: [1678505612.275005] [plugin-manager] successfully loaded 39 plugins registering 6 subsystems: tty, net, usbmisc, wwan, rpmsg, qrtr
ModemManager[88276]: [1678505612.277779] could not acquire the ‘org.freedesktop.ModemManager1’ service name
ModemManager[88276]: [1678505612.278396] [base-manager] stopping connection in object manager server
ModemManager[88276]: [1678505612.283469] ModemManager is shut down
ModemManager[88276]: [1678505612.283934] [sleep-monitor] singleton disposed
ModemManager[88276]: [1678505612.284500] [auth-provider] singleton disposed
ModemManager[88564]: [1678505618.505920] ModemManager (version 1.18.6) starting in system bus…
ModemManager[88564]: [1678505618.507581] [charsets] detecting platform iconv() support…
ModemManager[88564]: [1678505618.508467] [charsets] UTF-8: iconv conversion to/from charset is supported
ModemManager[88564]: [1678505618.508692] [charsets] UCS-2BE: iconv conversion to/from charset is supported
ModemManager[88564]: [1678505618.508784] [charsets] ASCII: iconv conversion to/from charset is supported
ModemManager[88564]: [1678505618.509365] [charsets] ISO8859-1: iconv conversion to/from charset is supported
ModemManager[88564]: [1678505618.509757] [charsets] CP437: iconv conversion to/from charset is supported
ModemManager[88564]: [1678505618.510229] [charsets] CP850: iconv conversion to/from charset is supported
ModemManager[88564]: [1678505618.510617] [charsets] UTF-16BE: iconv conversion to/from charset is supported
ModemManager[88564]: [1678505618.512527] Full suspend/resume hooks enabled
ModemManager[88564]: [1678505618.513225] [sleep-monitor] singleton created
ModemManager[88564]: [1678505618.519248] bus acquired, creating manager…
ModemManager[88564]: [1678505618.526151] [auth-provider] singleton created
ModemManager[88564]: [1678505618.526768] [filter] created

Observations, Issues to be resolved:

  1. modem does not stay connected to 4G for very long and drops out shortly after reboot
  2. was able to send one message, and receive messages when the modem is up, but no data connection
  3. toggling HKS for modem does not bring the modem back always
  4. only symbol on phone that shows when modem drops out is the no data connection (there is no 2G, 5G or any connection bars shown)
  5. modem showed as registered with correct phone # in mobile data settings and with signal strength shown
  6. after HKS toggle, and scanning for the modem with mmcli -S, and then executing mmcli -L sometimes brings the modem back with /org/freedesktop/ModemManager1/Modem/2 [Quectel] EM12, but only for a while until it drops out again
  7. general ability to use mmcli to communicate with the modem when it is up e.g. mmcli -m 6 --enable results in successfully enabled the modem
  8. I read somewhere that it may take 2min for the modem to become fully functional, and interestingly exactly about 2minutes after say waking from suspend, or restarting the phone the modem 4G drops from the UI, while initially it is shown
  9. In addition sudo systemctl restart NetworkManager ModemManager is the only other way to bring the modem back temporarily (other than suspend/wake, and reboot).
  10. Quectel support and documentation appear to be much better than Broadmobi.

Help Needed:
Those of you guys and gals that have experimented with other modems and got them working Please add input here, or I will for you:

  1. e.g. purism does this modem need to be added to your config to be supported by T-Mobile (whitelist?)… answered my own question using the T Mobile IMEI compatibility checker:
    Screenshot from 2023-03-08 13-44-29

  2. e.g. purism the modem almost works for SMS, what needs to change to allow audio to be processed, could configuration files be made more generic and not modem specific to plumb or route modem audio (i see audio configuration files for BM818 but not sure how to change them)?..

  3. e.g. the modemmanager modem configuration files include Quectel but not he EM12-G modem, where would i need to file a report to request updates to these files?..

  4. to unbind other interfaces permanently you have to add this to a startup scrip, but how?

References:
Buy Modem
Specification
ModemManager Useful Troubleshooting Commands
Modem AT Commands
Quectel USB Troubleshooting
Debugging Gnome-Calls
Modem Manager Debug
Possibly Useful Quectel Modem Udev Rules

2 Likes

So doesn’t seem to be reliable enough?

Did you try, you know, an actual voice call?

Annoying that the specification says “VoLTE (Optional)”. I think it means that VoLTE should work but …

The “-G” in the model number should mean “global” i.e. compatible with “all” bands in “all” countries - or close to it. The actual list of LTE bands is not literally “all bands” but it may be good enough.

Not usable right now or reliable, but might just be a setting somewhere. Typically when I try to send messages (chatty), or do a voice call (calls) it simply drops out if previously connected with 4G symbol and say 4bars. Maybe that is pointing at the bus not providing it with enough power? Executing lsusb it states somewhere max power ~500mA i think. Looking at the Quectel spec sheet it doesn’t give the actual max power usage, only idle and sleep power usage, when it is up i have been wittling down the options and am switching everything off that isn’t needed (such as GPS data collection etc., to maybe reduce power usage when running).

As this is an M.2 device, it may be more complicated than that.

not really since it is hooked up to the USB as ttylUSB3 pretty sure.

The point is that the M.2 connector has 75 pins. In the case of the modem, it is B-keyed, which means that pins 12…19 are notched (and at a quick look, all the remaining pins are connected, albeit many are grounded). Unless you have studied the schematics, and the modem’s documentation, and have the expertise to understand them (Disclaimer: I don’t), you don’t really get all the information about the power requirements.

Yes, it is true that (in this specific configuration) a small number of pins on the connector, presumably 4, give a conventional USB interface.

ok gotcha, i did not check and was just crossing my fingers, i can communicate with the modem, and it is possible there is an issue with the hardware configuration since the modem does not work properly - but my feeling at least is that it should be working based on what i have been seeing, since it briefly and actually connects to 4G…

I think I am right in saying that the actual Librem 5 software doesn’t typically use AT commands to communicate with the modem, but that’s what you are doing, right? The ttyUSB device that you are using will respond normally to AT commands but I think the software will use QMI, which will be a different ttyUSB device (and I suspect is not intended for use by humans).

Note also that audio is a whole extra ball game. That M.2 configuration sets aside pins for audio to come in as PCM, separately from any control commands. (I would have to check the schematics to find out where it is coming from.) And then there are questions as to how the modem’s audio source is configured, if configuration is needed.

Tested the same EM12-G Quectel Modem with the following.

Environment:
Ubuntu 22.10, EM12-G Quectel External Housing External M.2 Housing, kernel `Linux amiga 5.19.0-38-generic #39-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 17:33:16 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux’, Network Manager v1.40.0, Modem Manager v1.20.0, Mobile Data = on, Data Roaming = on, AWESIM APN provider NXTGENPHONE, EM12-G with latest available Quectel firmware loaded (as of March 2023).

Modem Configuration (shows quite a bit more detail):
sudo mmcli -m any | grep -v 'imei\ |Numbers\ |equipment id\ |device id: ' >>imei.txt

General , path: /org/freedesktop/ModemManager1/Modem/2
, device id: 4d06d7696187563570c234cba86############
Hardware , manufacturer: Quectel
, model: EM12-G
, firmware revision: EM12GPAR01A21M4G
, carrier config: default
, h/w revision: EM12-G
, supported: gsm-umts, lte
, current: gsm-umts, lte
, equipment id: 869710032######
System , device: /sys/devices/pci0000:00/0000:00:01.0/0000:10:00.0/0000:11:02.0/0000:14:00.0/0000:15:03.0/0000:17:00.0/0000:18:00.0/0000:19:00.0/0000:1a:03.0/0000:1b:00.2/usb2/2-1/2-1.1
, drivers: cdc_mbim, option
, plugin: quectel
, primary port: cdc-wdm6
, ports: cdc-wdm6 (mbim), ttyUSB0 (qcdm), ttyUSB1 (ignored),
, ttyUSB2 (at), ttyUSB3 (at), wwan0 (net)
Numbers , own: 1##########
Status , lock: sim-pin2
, unlock retries: sim-pin2 (10)
, state: connected
, power state: on
, access tech: lte
, signal quality: 9% (cached)
Modes , supported: allowed: 3g; preferred: none
, allowed: 4g; preferred: none
, allowed: 3g, 4g; preferred: 4g
, allowed: 3g, 4g; preferred: 3g
, current: allowed: 3g, 4g; preferred: 4g
Bands , supported: utran-1, utran-3, utran-4, utran-6, utran-5, utran-8,
, utran-9, utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5,
, eutran-7, eutran-8, eutran-9, eutran-12, eutran-13, eutran-14,
, eutran-17, eutran-18, eutran-19, eutran-20, eutran-21, eutran-25,
, eutran-26, eutran-28, eutran-29, eutran-30, eutran-32, eutran-38,
, eutran-39, eutran-40, eutran-41, eutran-66, utran-19
, current: utran-1, utran-3, utran-4, utran-5, utran-8, utran-9,
, utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7,
, eutran-8, eutran-9, eutran-12, eutran-13, eutran-14, eutran-18,
, eutran-19, eutran-20, eutran-21, eutran-25, eutran-26, eutran-28,
, eutran-29, eutran-30, eutran-32, eutran-38, eutran-39, eutran-40,
, eutran-41, eutran-66, utran-19
IP , supported: ipv4, ipv6, ipv4v6
3GPP , imei: theimeinumbernotshownhere
, enabled locks: fixed-dialing
, operator id: 310260
, operator name: Wireless
, registration: home
, packet service state: attached
3GPP EPS , ue mode of operation: csps-2
, initial bearer path: /org/freedesktop/ModemManager1/Bearer/8
, initial bearer ip type: ipv4v6
SIM , primary sim path: /org/freedesktop/ModemManager1/SIM/2
, sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/2 (active)
, slot 2: none
Bearer , paths: /org/freedesktop/ModemManager1/Bearer/7
, /org/freedesktop/ModemManager1/Bearer/6

Functionality:

  • Connected to desktop computer via usb cable and tried both USB-B, and USB-C
  • it just works, while the signal is only 9% it immediately recognizes the modem and i am writing this post over the Quectel EM12-G, which excludes the possibility that the modem did not work when trying it in the L5
  • There are three antenna ports on the modem, one is for GPS, so its possible i connected the 5G antenna to the GPS port not the 5G port, I will switch it over and see if that improves anything
  • Data connection works and it lets me browse the internet, with VPN and there is not ipv4, 6 IP leakage

Things Tried:

  • Tried Gnome-Calls but no cigar it just seems to dial but no ringing sound and will not connect, plus on my desktop ubuntu the microphone in the external monitor isn’t properly recognized and its way too quiet.
  • Tried to install chatty sudo apt install chatty to my surprise its not in the Ubuntu package repository any longer, not sure why since it is a XMPP, and Matrix chat client?? Getting the following error when installing from git:

dpkg: dependency problems prevent configuration of chatty-dbgsym:
chatty-dbgsym depends on chatty (= 0.7.2+librem5ci82984.0e6da9f0); however:
Package chatty is not configured yet

So that leaves the question if it works over USB on a desktop running stock linux and stock kernel, and the modem is supported since kernel ~5.15 around, why does it not work with the L5?

Observations, Issues to be resolved:

  • Fix antenna connection reception issue
  • Get chatty, or gnome-calls to work
2 Likes

If not already, you could check if an FCC unlock is needed and is what’s able to make your modem respond.

You could also try to find out more with qmicli.

That is interesting, the modem was bought by itself so I don’t think it was keyed to any manufacturer so at least I do not think there could have been a lock, but might be wrong.

Hm, yes would be strange then, but who knows. You could try to connect the modem to the phone using the external housing. If that works it could maybe hint at problems with the “unused” default internal m.2 pin levels.

I don’t know what the steps for the general setup procedure are, but you could maybe attempt to do it manually, also comparing with how it works on your computer or corresponding to other software stacks like [OpenWrt Wiki] How to use LTE modem in QMI mode for WAN connection .

Would be great to find out if this modem has better power saving defaults or options like AT+QSCLK=1 and can allow for much better stand-by times than the stock Broadmobi BM818 is able to until now, but of course that would first require to get it working at all.

There seems to exist one more (a newer) protocol to try with modems: MBIM

1 Like

That is an awesome writeup and something to get people starting with trying out different modems on the L5. I will have to take another stab at it.

1 Like

Hi,

Did you had any luck with that? Did you made it work ?

Have a nice day.

1 Like

The EM12-G pin out (page 18) does seem to match the J3 M.2 connector. So they should be compatible

1 Like

The EM12-G does fit nicely in the phone.

The only issue I have is that the antenna cables are then too long, so I can’t push the modem down into the phone with the antennas connected.


I suspect the antenna cables could probably be re-routed a bit to take some of the slack out though.

On pmOS I just need one udev file added (working on upstreaming that now) and then modem manager detects the modem. Data didn’t work though and although I can make VoLTE calls the audio is distorted. I’m guessing that’s because there is no eg25-manager equivalent to setup the phone.

I have an external USB connector as well, which seems to mostly work (I need an antenna still) so I’m hoping I can use that to test the audio and data issues.

7 Likes

Quick update on this.

The modem fits fine in the phone, it does require some re-routing of the antenna cables though. I haven’t actually done this yet, but it all seems to be possible.

The modem works as a drop in replacement for texts and data. For calls initiating a call works fine, but the audio is distorted and has lots of static. I suspect it’s a codec issue, which is described in the device tree.

I have no idea how to fix the audio though. So unfortunately we are stuck

5 Likes

For cable routing, idea from what i did with another modem: Simcom SIM7600G-H alternative modem for L5 tested

3 Likes