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

2 messages, 2 authors, 2013-05-16 · open the first message on its own page

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

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

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

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

From: Dave Jones <hidden>
Date: 2013-05-16 19:17:18

On Thu, May 16, 2013 at 09:08:23PM +0200, Bjørn Mork wrote:
 > 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

Thanks for the pointer. We'll pick that up for the Fedora 3.9 kernels.

Ben, does debian have a commits mailing list for kernel changes ?

 > 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.

good news indeed!

thanks.

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