Thread (2 messages) 2 messages, 2 authors, 2013-05-16

Re: net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility

flat view

From: Bjørn Mork <bjorn@mork.no>
Date: 2013-05-16 19:08:40
Also in: lkml

Dave Jones [off-list ref] writes:
Hi Bjørn,

 > Gitweb:     http://git.kernel.org/linus/;a=commit;h=1e8bbe6cd02fc300c88bd48244ce61ad9c7d1776
 > Commit:     1e8bbe6cd02fc300c88bd48244ce61ad9c7d1776
 > Parent:     a5b8db91442fce9c9713fcd656c3698f1adde1d6
 > Author:     Bjørn Mork [off-list ref]
 > AuthorDate: Thu Mar 14 01:05:13 2013 +0000
 > Committer:  David S. Miller [off-list ref]
 > CommitDate: Sun Mar 17 11:59:03 2013 -0400
 > 
 >     net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility
 >     
 >     commit bd329e1 ("net: cdc_ncm: do not bind to NCM compatible MBIM devices")
 >     introduced a new policy, preferring MBIM for dual NCM/MBIM functions if
 >     the cdc_mbim driver was enabled.  This caused a regression for users
 >     wanting to use NCM.
 >     
 >     Devices implementing NCM backwards compatibility according to section
 >     3.2 of the MBIM v1.0 specification allow either NCM or MBIM on a single
 >     USB function, using different altsettings.  The cdc_ncm and cdc_mbim
 >     drivers will both probe such functions, and must agree on a common
 >     policy for selecting either MBIM or NCM.  Until now, this policy has
 >     been set at build time based on CONFIG_USB_NET_CDC_MBIM.
 >     
 >     Use a module parameter to set the system policy at runtime, allowing the
 >     user to prefer NCM on systems with the cdc_mbim driver.

Is there any way we can set this automatically based on the type of device connected
and have it just work without users needing to edit modprobe.conf ?

Since this change, we've now getting reports like https://bugzilla.redhat.com/show_bug.cgi?id=963663
Yes, this is a very unfortunate side effect of the userspace/kernel
split of the MBIM driver combined with the NCM/MBIM "backwards
compatibility" setting.  Which in itself is a bad idea, IMHO.

I recommend all distros do the same as Debian: Set NCM as default until
a userspace application with MBIM support is ready and packaged in the
distro:
http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/debian/patches/debian/cdc_ncm-cdc_mbim-use-ncm-by-default.patch

FWIW, I wish we would have thought about this issue before v3.8 was
released.  Then we could have made that patch the mainline default,
without that being a userspace API change.  But we didn't.

The good news is that Aleksander has done some nice work on the MBIM
support in ModemManager, so there is a good chance that the next release
will make this problem go away.



Bjørn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help