2013-05-16 18:25:26

by Dave Jones

[permalink] [raw]
Subject: Re: net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility

Hi Bj?rn,

> Gitweb: http://git.kernel.org/linus/;a=commit;h=1e8bbe6cd02fc300c88bd48244ce61ad9c7d1776
> Commit: 1e8bbe6cd02fc300c88bd48244ce61ad9c7d1776
> Parent: a5b8db91442fce9c9713fcd656c3698f1adde1d6
> Author: Bj?rn Mork <[email protected]>
> AuthorDate: Thu Mar 14 01:05:13 2013 +0000
> Committer: David S. Miller <[email protected]>
> 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

Dave


2013-05-16 19:08:40

by Bjørn Mork

[permalink] [raw]
Subject: Re: net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility

Dave Jones <[email protected]> writes:

> Hi Bjørn,
>
> > Gitweb: http://git.kernel.org/linus/;a=commit;h=1e8bbe6cd02fc300c88bd48244ce61ad9c7d1776
> > Commit: 1e8bbe6cd02fc300c88bd48244ce61ad9c7d1776
> > Parent: a5b8db91442fce9c9713fcd656c3698f1adde1d6
> > Author: Bjørn Mork <[email protected]>
> > AuthorDate: Thu Mar 14 01:05:13 2013 +0000
> > Committer: David S. Miller <[email protected]>
> > 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

2013-05-16 19:17:18

by Dave Jones

[permalink] [raw]
Subject: Re: net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility

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

2013-05-16 19:23:23

by Bjørn Mork

[permalink] [raw]
Subject: Re: net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility

Dave Jones <[email protected]> writes:

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

I'm not Ben, but I believe this is what you're looking for:
http://lists.alioth.debian.org/mailman/listinfo/kernel-svn-changes


Bjørn

2013-05-16 19:35:24

by Dave Jones

[permalink] [raw]
Subject: Re: net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility

On Thu, May 16, 2013 at 09:23:08PM +0200, Bj?rn Mork wrote:
> Dave Jones <[email protected]> writes:
>
> > Ben, does debian have a commits mailing list for kernel changes ?
>
> I'm not Ben, but I believe this is what you're looking for:
> http://lists.alioth.debian.org/mailman/listinfo/kernel-svn-changes

perfect. thanks!

Dave