Huawei NCM devices and NDISDUP

Aleksander Morgado aleksander at aleksander.es
Mon Aug 4 01:30:27 PDT 2014


On Tue, Jul 29, 2014 at 7:48 PM, Dan Williams <dcbw at redhat.com> wrote:
> So I've come across a couple Huawei devices recently that use the NCM or
> ECM drivers, but aren't handled by the MM NDISDUP code.  They are
> typically the "jungo" type.  One of them is the E303, the other is the
> HP HS3110/HS3114.  The drivers have:
>
> ew_jucdcecm.inf
> %NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_16
> %VDFNCMDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_46
>
> %ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_07
> %ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_11
> %VDFECMDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_37
>
> (also included are some VID/PID of Icera and Balong devices locked via
> interface numbers.  These same IDs are included in ew_juwwanecm.inf too)
>
> ew_juwwanecm.inf
> %NCMDeviceDesc% = ew_juwwanncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_07
> %NCMDeviceDesc% = ew_juwwanncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_16
> %VDFNCMDesc% = ew_juwwanncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_46
>
> %ECMDeviceDesc% = ew_juwwanecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_07
> %ECMDeviceDesc% = ew_juwwanecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_11
> %VDFECMDesc% = ew_juwwanecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_37
>
> ECMDeviceDesc = "HUAWEI Mobile Connect - Network Adapter"
> VDFECMDesc    = "Vodafone Mobile Broadband Network Adapter (Huawei)"
> TDECMDeviceDesc = "HUAWEI Mobile CMCC Connect - Network Adapter"
> NCMDeviceDesc = "HUAWEI Mobile Connect - Network Adapter"
> VDFNCMDesc    = "Vodafone Mobile Broadband Network Adapter (Huawei)"
> TDNCMDeviceDesc = "HUAWEI Mobile CMCC Connect - Network Adapter"
>
> (also included are various Icera and Balong VID/PIDs locked via interface
> numbers using ew_juwwanecm.ndi, these same IDs are included in ew_jucdcecm.inf
> too)
>
> ewusbwwan.inf
> %qcwwan.DeviceDesc00%    = qcwwan.ndi, USB\VID_12d1&Subclass_01&Prot_07
> %qcwwan.DeviceDesc01%    = qcwwan.ndi, USB\VID_12d1&Subclass_01&Prot_11
> %qcwwan.VDF%    = qcwwan.ndi, USB\VID_12d1&Subclass_01&Prot_37
>
> In the E303C case, we have a USB layout of:
>
> VID/PID 12d1:150f
> 0/0: 255/2/22 (interrupt IN)
> 0/1: 255/2/22 (interrupt IN, bulk IN/OUT)  NCM?
> 1/0: 255/2/3  (bulk IN/OUT)
> 2/0: 255/2/2  (bulk IN/OUT)                AT PORT
> 3/0: 255/2/1  (interrupt IN, bulk IN/OUT)  MODEM
> 4: Mass Storage
> 5: Mass Storage
>
> In Windows interface 0 would get assigned to the NCM driver, but this
> gives us no indication of whether NDISDUP works on the interface or not.
> Currently, ModemManager requires a whitelist of devices that work with
> NDISDUP, or that the modem expose a network port *and* an AT-capable WDM
> port.  Maybe that's not really true?
>
> There's also the question of ^NDISCONN...  that seems to be supported on
> a number of modems, and uses the same format as NDISDUP.  Anyone know if
> that's an older command or a newer command or just different?  My E3276
> supports both NDISCONN and NDISDUP, apparently.

No idea here... Do you actually have some of these modems to play
with? Or just the Windows drivers?

-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list