From: "Bjørn Mork" <bjorn@mork.no>
To: Greg Suarez <gsuarez@smithmicro.com>
Cc: Alexey Orishko <alexey.orishko@stericsson.com>,
linux-usb@vger.kernel.org, netdev@vger.kernel.org
Subject: MBIM backwards compatibility and user vs kernel policy
Date: Sun, 10 Mar 2013 12:21:14 +0100 [thread overview]
Message-ID: <87sj43cxg5.fsf@nemi.mork.no> (raw)
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
next reply other threads:[~2013-03-10 11:37 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-10 11:21 Bjørn Mork [this message]
2013-03-10 18:13 ` [RFC] net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility Bjørn Mork
2013-03-13 16:55 ` Bjørn Mork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sj43cxg5.fsf@nemi.mork.no \
--to=bjorn@mork.no \
--cc=alexey.orishko@stericsson.com \
--cc=gsuarez@smithmicro.com \
--cc=linux-usb@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox