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