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

Bjørn Mork linux-thinkpad@linux-thinkpad.org
Wed, 05 Mar 2014 15:31:27 +0100

James Knott <james.knott@rogers.com> writes:
> Bjørn Mork wrote:
>> Perfectly understandable. I'm not going to claim that there are many
>> Linux users who care about 3G & LTE, so I'm not surprised that no big
>> customers require it. Just judging by looking at my co-workers, who
>> mostly use Thinkpads with 3G modules and have free mobile broadband, I
>> do not see many real users. But there are some, including some Linux
>> users.
> One thing to bear in mind is that Android tablets & phones support 3G &
> LTE and Android is built on Linux, so the drivers are out there, somewher=

Well, although both chips and the kernel is mostly the same, the
interfaces between them are actually quite different.  Laptop modems
interface to the host via USB (even if the physical slot is m.2 or
mini-PCIe), while the Android devices usually have a shared memory
interface between modem and host.  This makes the drivers pretty
different.  So you can't just take an Android driver and use it on a
laptop, even if the LTE chip is e.g. a Qualcomm MDM9200 or Intel XMM7160
in both systems.

But mobile broadband USB modems designed for Windows8 systems have to
support the CDC MBIM class.  And we do have a class driver for that in
Linux.  So in theory, the modems should all just work out of the box.

In practice we may have to change a few minor things though.  For
example, to support the MDM9200 based Sierra Wireless MC7710 we had to
allow a CDC MBIM function with no CDC Union descriptor (required by the
spec, but obviously not by Microsoft and therefore "forgotten" by
Sierra).  And we also had to make the driver terminate all transfers
with a short packet, even though the spec allows dropping the Zero
Length Packet on maximum length transfers.