[ltp] Verifying Linux compatibiliy for the LTE modems in the 2nd gen X1 Carbon

Bjørn Mork linux-thinkpad@linux-thinkpad.org
Tue, 04 Mar 2014 13:24:44 +0100

Hello Peter,

Peter FP Zhang <zhangfp1@lenovo.com> writes:

> If you meet any Linux compatibility issues on ThinkPads, please try to
> ping me, I will check if there is anything I can help.

Thanks a lot for that.  This is an attempt on proactively solving a
compatibility issue.  That is:  I don't really know whether there is an
issue or not because I don't have the hardware, but I'd really like to
ensure that any issues are resolved *before* the end users face them.

I noticed on
that FRU 04X6014 "Sierra EM7345 LTE/HSPA+ 42Mbps M.2 Card" is (or going
to be?) an option on the 2nd generation X1 Carbon. There isn't much
documentation available yet, but from what I've gathered the EM7345 is
based on the Intel XMM 7160 LTE chipset.  I'm pretty sure that is going
to excite lots of users around here - finally a Thinkpad shipping with a
LTE module for European bands.

What I would like, is to make sure this module Just Works in Linux.

I assume the EM7345 exports a MBIM function.  It might also export some
additional "legacy" functions, like vendor specific serial ports etc.
But we should really use the MBIM function for network connectivity and
management in Linux, like Windows8 will.

Sarah did ask about the Linux MBIM class driver a while ago:
which made me guess that Intel was looking at MBIM.  Anything else would
have been surprising in any case...  So I do expect the XMM 7160 chip to
do the basic MBIM framing etc, while maybe leaving some upper layer
stuff like USB descriptors etc to the OEMs.

This means that even if Intel probably have verified their reference
design with Linux, we should really verify the actual Sierra Wireless
module. They have most likely added a vendor specific application, and
they could be responsible for the descriptors.  We've had to add driver
quirks for that before...

Long story.  If you have access to a Thinkpad with this device, then it
would be nice to know whether it works in Linux.  Given a recent
ModemManager with libmbim, it should work by default.  In theory.
But a confirmation that:
 - there isn't any magic unsupported rfkill BIOS functionality, and
 - the cdc_mbim driver binds to the module, and
 - libmbim is able to talk to it, and
 - ModemManager successfully probes it and selects the MBIM function as

would be good to have.

If there are any problems, then I am pretty confident that they are
minor and that we are able to quickly resolve them.  But early testing
is crucial.  If any quirks are needed then they should go in as early as
possibly to have the distros pick them up before ordinary users face the

Thanks to anyone reading this far ;-)