Re: [RFC] USB: cdc-wdm: Extend and improve subdriver interface

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

 



Alexey Orishko <alexey.orishko@xxxxxxxxx> writes:
> On Tue, Sep 4, 2012 at 3:45 PM, Bjørn Mork <bjorn@xxxxxxx> wrote:
>
>> Yes.  But this time with some hope of multi-vendor support, given that
>> Microsoft points to it for Windows 8 Mobile Broadband device support:
>> http://msdn.microsoft.com/en-us/library/windows/hardware/mbim-based-mobile-broadband-requirements-for-windows.aspx
> It looks like mandatory feature for W8 logo tests, so vendors must adapt to it

That was my interpretation as well, but I never understand these
commercial issues so I wouldn't be surprised if some vendor found some
other solution.

Anyway, as things are looking right now we need to support this protocol
in Linux for the next (or next-next?) generation of mobile broadband
devices.

>> Yes, I expect that major changes to cdc_ncm will be necessary, and
>> pointing to it could be wrong from my side? It just seemed natural to
>> try to reuse any existing code.
>
> MBIM CID handling should not be done in the driver, but in the user space daemon
> or connection manager application.

Exactly!  That is the main target of this excercise.

> So the need is to add only support
> for encapsulated
> commands and either use a static amount of network interfaces or create them
> dynamically based on CID parser commands to the driver.
> It also requires updates for constructing headers, etc, but it's simple change.

Yes, something like that is required.  Greg S will probably come up with
some good ideas here :-)

>>>> CDC MBIM features we are going to support, there is also a possibility
>>>> that the main driver will have to intercept messages between the
>>>> userspace and the cdc-wdm subdriver.
>>>
>>> Ouch.
> Why do we need cdc-wdm driver? It would be too complex to handle all
> required data.
> We already handling several control requests, so adding one more won't
> be a problem.
> And we have to expose some control interface towards user space from
> mbim driver.

That's what we use the cdc-wdm driver for.  It takes the CDC
encapsulated MBIM control protocol and export it as a character device
to the userspace application.  The ideal case is the one we have in
qmi_wwan, where cdc-wdm exports the QMI protocol without either qmi_wwan
or cdc-wdm knowing anything about the protocol at all.  I hope we can
get as close to that for MBIM too, only looking at one (or a limited
set of) specific messages from the device to know when to add or remove
a network device.

>> yes.  Reading the spec terrified me.  Among other issues, it allows
>> multiplexing several IP connections over a single set of bulk in/out
>> endpoints, where an "IP connection" probably will have to map logically
>> to a network device.
> Yes, it means we get more than one virtual network interface.

Right.  So the driver will not necessarily create network devices on
probe, but instead when it sees a MBIM message from the device
indicating a successful IP session start.


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