MBIM backwards compatibility and user vs kernel policy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I just realized that our current strategy for MBIM backwards
compatibility results in bad user experience by *forcing* the user to
cdc_mbim if it is enabled at build time. There are legitimate reasons for
a user to select cdc_ncm instead of cdc_mbim at runtime, and at the
moment we prevent that.  The most obvious and important reason is that
the required MBIM userspace applications are not ready yet.  But even in
a future where these are available, I believe we should leave the choice
up to the user.

So our current build time based decision will not do.  But what will?
Is a cdc_ncm module param setting MBIM vs NCM priority OK?  We could
still make the default depend on whether cdc_mbim is built.  I don't
think there are any reasons to complicate this with a per-device
selection.  It is really a system wide setting depending on whether MBIM
is supported by the system.

What do you think?

This problem just came up as a result of a user failing to make Linux
v3.8 work on a Lenovo Thinkpad X230 with an Ericsson H5321gw Mobile
Broadband Device, while v3.7 appeared to work fine.  The H5321gw
firmware support NCM backwards compatibility, making it work fine with
cdc_ncm in v3.7. But in v3.8 we select the cdc_mbim alternate setting
instead, and ModemManager does not yet know how to handle that, making
it fail.

The user noticed the new cdc_mbim module and tried blacklisting it, as
one would find natural. But to no effect, as the problem is in the MBIM
compatibility check in cdc_ncm.  There appears to be no way to force the
cdc_ncm driver in v3.8 to be used for this device if cdc_mbim is
selected at build time. Which of course is a distro choice and not
something most users will touch.

I believe we need to resolve this quickly, and I'll probably just cook up
a proposed module param patch unless someone comes up with something
better.

BTW, I am starting to hate the NCM backward compatibility. There were so
many other ways this could have been solved. Changing class depending on
the selected interface altsetting is ugly, IMHO.


Bjørn
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux