Lenovo/Foxconn Snapdragon X55 connection issues w/ newer firmware versions

Thilo-Alexander Ginkel thilo at ginkel.com
Sun Nov 28 16:02:36 UTC 2021


Hi there,

I just got a new Lenovo X1 Extreme Gen 4 that comes with a Snapdragon X55
WWAN modem by Foxconn. I'm running Arch Linux w/ kernel 5.15.5,
ModemManager 1.18.4, libmbim 1.26.2 and libqmi 1.30.2.

The X55 seems to be supported for older firmware versions (<= v48?) after
setting up the FCC unlock.

Currently published versions v50 and v51 cause the connection to fail,
though:

-- 8< --
Nov 28 11:23:50 vega systemd[1]: Starting Modem Manager...
Nov 28 11:23:50 vega ModemManager[1135]: <info>  ModemManager (version
1.18.4-1) starting in system bus...
Nov 28 11:23:50 vega ModemManager[1135]: [qrtr] socket lookup from 1:0
Nov 28 11:23:50 vega ModemManager[1135]: [qrtr] initial lookup finished
Nov 28 11:23:50 vega systemd[1]: Started Modem Manager.
Nov 28 11:23:51 vega ModemManager[1135]: opening device...
Nov 28 11:23:51 vega ModemManager[1135]: cannot connect to proxy: Could not
connect: Connection refused
Nov 28 11:23:51 vega ModemManager[1135]: spawning new mbim-proxy (try 1)...
Nov 28 11:23:51 vega ModemManager[1135]: [/dev/wwan0mbim0] Couldn't find
descriptors file, possibly not using cdc_mbim
Nov 28 11:23:51 vega ModemManager[1135]: [/dev/wwan0mbim0] Fallback to
default max control message size: 4096
Nov 28 11:23:52 vega ModemManager[1135]: <info>  [wwan0mbim0/mbim] MBIM
device is not QMI capable
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] channel destroyed
Nov 28 11:23:52 vega ModemManager[1135]: <info>  [device
/sys/devices/pci0000:00/0000:00:1c.4/0000:08:00.0] creating modem with
plugin 'foxconn' and '4' ports
Nov 28 11:23:52 vega ModemManager[1135]: <info>  [base-manager] modem for
device '/sys/devices/pci0000:00/0000:00:1c.4/0000:08:00.0' successfully
created
Nov 28 11:23:52 vega ModemManager[1135]: <info>  [base-manager] couldn't
check support for device
'/sys/devices/pci0000:00/0000:00:1c.6/0000:09:00.0': not supported by any
plugin
Nov 28 11:23:52 vega ModemManager[1135]: opening device...
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Couldn't find
descriptors file, possibly not using cdc_mbim
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Fallback to
default max control message size: 4096
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Opening device
with flags 'version-info, proxy, mbim, expect-indications'...
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] created endpoint
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] creating MBIM
device...
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] MBIM device
created
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] opening MBIM
device...
Nov 28 11:23:52 vega ModemManager[1135]: opening device...
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Couldn't find
descriptors file, possibly not using cdc_mbim
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Fallback to
default max control message size: 4096
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] MBIM device open
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Checking version
info (15 retries)...
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] QMI Device
supports 36 services:
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    ctl (1.5)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    wds (1.193)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    dms (1.79)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    nas (1.25)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    qos (1.18)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    wms (1.10)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    auth (1.14)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    at (1.6)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    voice (2.1)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    cat2 (2.24)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    uim (1.77)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    pbm (1.4)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    test (1.0)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    loc (2.131)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    sar (1.0)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    ims (1.91)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    ts (1.0)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    tmd (1.0)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    wda (1.24)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    csvt (1.6)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    imsa (1.44)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    coex (1.0)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    pdc (1.0)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    rfrpe (1.0)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    dsd (1.67)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x2d] (1.3)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x30] (1.12)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x31] (1.0)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x44] (1.4)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x47] (1.1)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x49] (1.7)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x4a] (1.1)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x4b] (1.3)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x4c] (1.0)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x4d] (1.4)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0]    unknown
[0x4e] (1.2)
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Enabling QMI
indications via MBIM...
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] enabled QMI
indications via MBIM
Nov 28 11:23:52 vega ModemManager[1135]: <info>  [modem0/wwan0mbim0/mbim]
MBIM device is QMI capable
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Allocating new
client ID...
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Registered 'dms'
(version 1.79) client with ID '1'
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Allocating new
client ID...
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Registered 'nas'
(version 1.25) client with ID '4'
Nov 28 11:23:52 vega ModemManager[1135]: [/dev/wwan0mbim0] Allocating new
client ID...
Nov 28 11:23:53 vega ModemManager[1135]: [/dev/wwan0mbim0] Registered 'loc'
(version 2.131) client with ID '1'
Nov 28 11:23:53 vega ModemManager[1135]: [/dev/wwan0mbim0] Allocating new
client ID...
Nov 28 11:23:53 vega ModemManager[1135]: [/dev/wwan0mbim0] Registered 'pdc'
(version 1.0) client with ID '1'
Nov 28 11:23:53 vega ModemManager[1135]: <info>  [modem0] QMI-based
capability and mode switching support enabled
Nov 28 11:23:54 vega ModemManager[1135]: <warn>  [modem0/sim0] couldn't
load list of emergency numbers: Failed to parse CRSM query result '+CRSM:
148,8,""'
Nov 28 11:23:54 vega ModemManager[1135]: <warn>  [modem0/sim0] couldn't
load list of preferred networks: Operation not allowed
Nov 28 11:23:54 vega ModemManager[1135]: <warn>  [modem0] couldn't setup
carrier config: No such file or directory
Nov 28 11:23:55 vega ModemManager[1135]: <info>  [modem0] state changed
(unknown -> disabled)
Nov 28 11:23:55 vega ModemManager[1135]: <info>  [modem0] state changed
(disabled -> enabling)
Nov 28 11:23:55 vega ModemManager[1135]: <warn>  [modem0]
OperationNotAllowed
Nov 28 11:24:04 vega ModemManager[1135]: <warn>  [modem0] Failure
Nov 28 11:24:04 vega ModemManager[1135]: <warn>  [modem0] couldn't enable
interface: 'Invalid transition'
Nov 28 11:24:04 vega ModemManager[1135]: <info>  [modem0] state changed
(enabling -> disabled)
Nov 28 11:24:33 vega ModemManager[1135]: <info>  [modem0] simple connect
started...
Nov 28 11:24:33 vega ModemManager[1135]: <info>  [modem0] simple connect
state (3/8): enable
Nov 28 11:24:33 vega ModemManager[1135]: <info>  [modem0] state changed
(disabled -> enabling)
Nov 28 11:24:43 vega ModemManager[1135]: <warn>  [modem0] Failure
Nov 28 11:24:53 vega ModemManager[1135]: <warn>  [modem0] Failure
Nov 28 11:24:53 vega ModemManager[1135]: <warn>  [modem0] couldn't enable
interface: 'Invalid transition'
Nov 28 11:24:53 vega ModemManager[1135]: <info>  [modem0] state changed
(enabling -> disabled)
Nov 28 11:24:53 vega ModemManager[1135]: <info>  [modem0] simple connect
started...
Nov 28 11:24:53 vega ModemManager[1135]: <info>  [modem0] simple connect
state (3/8): enable
Nov 28 11:24:53 vega ModemManager[1135]: <info>  [modem0] state changed
(disabled -> enabling)
Nov 28 11:24:58 vega ModemManager[1135]: <info>  [modem0] simple connect
started...
Nov 28 11:24:58 vega ModemManager[1135]: <info>  [modem0] simple connect
state (4/8): wait to get fully enabled
Nov 28 11:25:02 vega ModemManager[1135]: <warn>  [modem0] Failure
Nov 28 11:25:08 vega ModemManager[1135]: <info>  [modem0] simple connect
started...
Nov 28 11:25:08 vega ModemManager[1135]: <info>  [modem0] simple connect
state (4/8): wait to get fully enabled
Nov 28 11:25:12 vega ModemManager[1135]: <warn>  [modem0] Failure
Nov 28 11:25:12 vega ModemManager[1135]: <warn>  [modem0] couldn't enable
interface: 'Invalid transition'
Nov 28 11:25:12 vega ModemManager[1135]: <info>  [modem0] state changed
(enabling -> disabled)
Nov 28 11:25:12 vega ModemManager[1135]: <info>  [modem0] simple connect
started...
Nov 28 11:25:12 vega ModemManager[1135]: <info>  [modem0] simple connect
state (3/8): enable
Nov 28 11:25:12 vega ModemManager[1135]: <info>  [modem0] state changed
(disabled -> enabling)
Nov 28 11:25:21 vega ModemManager[1135]: <warn>  [modem0] Failure
Nov 28 11:25:31 vega ModemManager[1135]: <warn>  [modem0] Failure
Nov 28 11:25:31 vega ModemManager[1135]: <warn>  [modem0] couldn't enable
interface: 'Invalid transition'
Nov 28 11:25:31 vega ModemManager[1135]: <info>  [modem0] state changed
(enabling -> disabled)
Nov 28 11:25:57 vega ModemManager[1135]: <info>  caught signal, shutting
down...
-- 8< --

Do you have any idea whether this is related to the FCC unlock procedure or
has something else changed?

Lenovo has published a snap [1] in the meantime that is supposed to handle
the FCC unlocking and the unlocking logic for firmware versions
> T99W175.F0.1.0.0.9 (== v48?) seems to be subtly different if my analysis
is right, but I'm not sure if this is related to the failure w/ later
firmware versions.

Any ideas?

Thanks,
Thilo

[1] https://snapcraft.io/lenovo-wwan-dpr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20211128/2cc20264/attachment.htm>


More information about the ModemManager-devel mailing list