23.08.2016 17:42, Dan Williams пишет: > On Tue, 2016-08-23 at 14:25 +0300, Aleksandr Makarov wrote: >> 22.08.2016 22:20, Dan Williams пишет: >>> >>> On Mon, 2016-08-22 at 20:07 +0300, Aleksandr Makarov wrote: >>>> >>>> 22.08.2016 18:03, Dan Williams пишет: >>>>> >>>>> >>>>> On Sat, 2016-08-20 at 14:50 +0300, Aleksandr Makarov wrote: >>>>>> >>>>>> >>>>>> USB: serial: option: add WeTelecom WM-D200 >>>>>> >>>>>> Add support for WeTelecom WM-D200. >>>>>> >>>>>> T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 >>>>>> Spd=12 MxCh= 0 >>>>>> D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 >>>>>> P: Vendor=22de ProdID=6801 Rev=00.00 >>>>>> S: Manufacturer=WeTelecom Incorporated >>>>>> S: Product=WeTelecom Mobile Products >>>>>> C: #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=500mA >>>>>> I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff >>>>>> Driver=(none) >>>>>> I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff >>>>>> Driver=(none) >>>>>> I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff >>>>>> Driver=(none) >>>>>> I: If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 >>>>>> Driver=usb- >>>>>> storage >>>>> While you're at it, why not add PID 0x6802 and 0x6803? These >>>>> are >>>>> also >>>>> listed here: >>>>> >>>>> http://www.mts.ua/upload/files/we/te/wetelecom_windows_drivers. >>>>> zip >>>>> >>>>> with the same USB layout as the WM-D200. >>>>> >>>>> Dan >>>>> >>>> Does it mean that if 0x6803 (WeTelecom WM-D300) has the same >>>> USB layout, it does not need testing? >>> Yes, since the Windows drivers use the exact same layout for all >>> three >>> devices, we should do the same for Linux. >>> >>>> >>>> If it does not, why don't I copy the whole usb_modeswitch data >>>> into the option driver? >>> What specifically would you copy over? All I see there are two >>> data >>> files, one for 6801 and one for 6803, but they don't have any >>> interesting data in them... >>> >>> Dan >>> >> I am talking about using usb_modeswitch as a database for >> "composite" devices. Like if I knew WM-D200 is a 3g modem and >> its layout is deduced from a Windows driver, then I copy-paste >> its pid:vid to the Linux driver. >> This would add support for all the devices that were reported >> to usb_modeswitch. > > If I understand your question correctly, the problem is that > usb_modeswitch has no idea what driver each device should actually use. > A given VID/PID can use any number of kernel drivers, and often > different USB interfaces of that VID/PID are driven by different > drivers, and this information is not captured in usb_modeswitch at all. > > For example, a Sierra USB305 has some USB interfaces driven by the > 'sierra' driver and some by the 'sierra_net' driver. Qualcomm Gobi > devices are driven by 'qcserial', 'cdc-wdm', and 'qmi_wwan'. These > days a minority of devices are actually driven by 'option'. But > usb_modeswitch doesn't tell us anything about that, so we can't really > use the information in the kernel. > > The Windows drivers give us some of this information, like what USB > interfaces of a given device should be driven by what kernel driver. > They also tell us what other VID/PID are supported by that driver, > which is useful information that we can rely on to add support to the > kernel. > > Dan > This explanation makes sense to me, thank you. -- 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