Re: qmi-wwan & cdc-wdm & cdc-ether interaction for Novatel devices

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

 



Dan Williams <dcbw@xxxxxxxxxx> writes:
> (sorry, forgot to send to linux-usb@..., adding now)
>
> On Wed, 2012-10-24 at 13:25 -0500, Dan Williams wrote:
>> Hi Bjorn,
>> 
>> The Novatel USB 551L and E362 actually have cdc-ether interfaces which
>> speak QMI.  That's not really handled by our architecture at the moment.
>> I can get the cdc-wdm0 port by adding the ID for the master cdc-ether
>> interface (0x2, 0x6, 0x0) directly to the cdc-wdm driver, or by adding
>> them to qmi_wwan and blacklisting cdc-ether so it doesn't load first and
>> claim the interface.  Both of those options suck.  So what do we do
>> here?
>> 
>> But given they are cdc-ether, *and* you can use AT commands to start a
>> data session on the cdc-ether port without using QMI in any way, it
>> seems like cdc-ether is probably the right driver to use for the net
>> port.  However, they speak QMI on the net port interface with cdc-wdm
>> too.
>> 
>> So, should we:
>> 
>> 1) test if they work with qmi_wwan and then blacklist them from
>> cdc-ether?  Seems somewhat icky since now something that's actually
>> cdc-ether is no longer driven by cdc-ether.

I believe this option is best.  The vendors choice of descriptors does
not matter that much.  The fact that they choose to present these modems
as cdc_ether devices is most likely ignored by the Windows driver
anyway.  If we know that vid:pid is cdc_ether plus QMI, then lets just
point to the driver that handles that particular combo, i.e. qmi_wwan.

And I must point out that you already got the device specific entries in
cdc_ether to get the wwanX device names, so there is no clean class
match here in any case...

>> 2) figure out how to weld cdc-wdm into cdc-ether like we've done with
>> qmi_wwan

That would complicate cdc_ether and end up very similar to qmi_wwan.
The drivers are identical wrt handling network frames.  The only
differences are the probing and the cdc-wdm interface.  I do not think
we want to replicate the cdc-wdm stuff in cdc_ether just to have it
reuse the class probing.

So I vote for blacklisting these devices in cdc_ether and adding them to
qmi_wwan.  That is the absolutely simplest solution, requiring no driver
changes except for the two device ID tables.  Which makes it acceptable
for 3.7.  And it also makes a backport to 3.4 and 3.6 possible if that
is of interest to anyone.


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