Re: [patch] USB: serial: option: add WeTelecom WM-D200

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

 



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

--
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