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 majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html