Re: [PATCHv2] USB: serial: option: blacklist intf1 for Huawei E173s-6

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

 



Gustavo Zacarias <gustavo@xxxxxxxxxxxxxxx> writes:

> On 11/08/2013 04:44 AM, Bjørn Mork wrote:
>
>> I believe it's nice to document the layout of complex composite devices
>> if known, but if not then I don't see any need to delay a patch like
>> this.
>
> From looking at the .inf files from the windows drivers i can't get much
> info other than:
>
> %QcomDevice00% = QportInstall00, USB\VID_12d1&PID_1C0B
> (which is the PID before usb_modeswitch/modem mode kicks in).
>
> If there's another to lookup way feel free to prod me :)

One way, if you have access to a Windows system, is observing what
happens there.  You can look up vid/pid/intfnumber in the Windows device
manager.

Looking around at various driver files I had here, I found this:

bjorn@nemi:/tmp/foo/Huawei$ egrep '1C(05|07|08|10)' *.inf|sort |uniq
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstallNet, USB\VID_12D1&PID_1C07&MI_01
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C05&MI_00
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C05&MI_01
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C05&MI_02
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C07&MI_00
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C07&MI_02
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C07&MI_03
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C07&MI_06
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C08&MI_00
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C08&MI_01
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C10&MI_00
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C10&MI_01
ew_jubusenum.inf:%EnumDeviceDesc% = DevInstall, USB\VID_12D1&PID_1C10&MI_02
ew_jucdcacm.inf:%BTDeviceDesc%   = DevInstall, USBCDCACM\VID_12D1&PID_1C07&MI_06
ew_jucdcacm.inf:%DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C05&MI_01
ew_jucdcacm.inf:%DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C07&MI_02
ew_jucdcacm.inf:%DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C10&MI_01
ew_jucdcacm.inf:%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C05&MI_02
ew_jucdcacm.inf:%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C07&MI_03
ew_jucdcacm.inf:%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C08&MI_01
ew_jucdcacm.inf:%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C10&MI_02
ew_jucdcecm.inf:%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C07&MI_01
ew_jucdcecm.inf:%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C07&MI_01
ew_jucdcmdm.inf:%MDMDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C05&MI_00
ew_jucdcmdm.inf:%MDMDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C07&MI_00
ew_jucdcmdm.inf:%MDMDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C08&MI_00
ew_jucdcmdm.inf:%MDMDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_1C10&MI_00
ew_juextctrl.inf:%dc_ecm_dev.DevDesc% = DevInstall, USBCDCECM\VID_12D1&PID_1C07&MI_01&ext_ctrl


So according to thos, interface #1 on 12d1:1c07 should be either an ECM
or(?) NCM function, so blacklisting it in option is definitely correct
if the generic Huawei vendor rule picks it up.

Now I do not understand how the same function can be both ECM and NCM,
but we should try to find out which one it is...  The Huawei Windows
driver use a single flag to select one of these, which may explain how
they can mix configs like this.  It just seems completely pointless.

You have already tried qmi_wwan, right?  But only with libqmi?  This is
most likely not a QMI device in any case.  There is a fair chance that
it supports Huawei's AT^NDISDUP and related vendor specific AT
commands though.  You should try that, using either qmi_wwan (if ECM) or
the new huawei_cdc_ncm driver (if NCM) for the network function.

This device use ff/ff/ff for class/subclass/protocol on all interfaces,
is that right?


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