Re: 03f0:521d Hewlett-Packard (HP hs3110)

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

 



On Tue, 2014-07-22 at 14:02 +0000, Stanescu Victor wrote:
> Hello,
> 
> This device works perfectly with usbserial generic, loaded with forced 
> vendor/product parameters. Can you please add it to the proper driver?
> 
> T:  Bus=02 Lev=01 Prnt=01 Port=05 Cnt=02 Dev#=  7 Spd=480 MxCh= 0
> D:  Ver= 2.00 Cls=ff(vend.) Sub=02 Prot=01 MxPS=64 #Cfgs=  2
> P:  Vendor=03f0 ProdID=521d Rev=00.01
> S:  Manufacturer=Hewlett-Packard
> S:  Product=HP hs3110 HSPA+ Mobile Broadband Device

This device appears to be a Huawei "jungo"-type rebrand, given the
drivers:

%HP3110MDMDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_521D&MI_00
%HP3110PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_521D&MI_01
%HP3110DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_521D&MI_02
<interface 3 is standard USB_CLASS_CSCID>
%HP3110ECMDeviceDesc% = ew_juwwanecm.ndi, USBCDCECM\VID_03F0&PID_521D&MI_04
%HP3110GNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_521D&MI_05

03F0:541D (3114) has the same USB layout and same drivers.

So interfaces 0, 1, 2, and 5 should be driven by 'option', and interface
4 by one of the ECM/NCM drivers, but I'm not sure here.

Bjorn, any idea where this one should go?  The Windows drivers make a
distinction between "ew_jucdcncm.ndi" and "ew_jucdcecm.ndi", and this
device falls in the "ecm" part.  So not sure it's appropriate for
huawei_cdc_ncm?

Dan
; Copyright (c) 2010,2011 MBB Incorporated
; Manufacturer: MBB Incorporated
;
; CDC ECM & NCM driver
;

[Version]
Signature="$WINDOWS NT$"
Class=Net
ClassGUID={4d36e972-e325-11ce-bfc1-08002be10318}
Provider= %Mfg%
DriverVer=03/06/2013,2.6.2.3145
CatalogFile=ew_jucdcecm.cat

[Manufacturer]
%Mfg% = DeviceList,NTx86,NTamd64

[SourceDisksNames]
1 = %ew_jucdcecm.DiskName%,,,""

[SourceDisksFiles]
ew_jucdcecm.sys  = 1,,

; For Win2K
[DeviceList]

%PNP21_HW_NetworkDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_16
%PNP21_NetworkDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_76
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\COMPAT
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C06&MI_03
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C07&MI_01
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C1D&MI_01
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C1E&MI_03
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C1F&MI_02
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C21&MI_03
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C22&MI_02
%PNP21_HW_3G_NetworkDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_07
%PNP21_NetworkDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_67
%PNP21_HW_NetworkDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_11
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\COMPAT
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C06&MI_03
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C07&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C09&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0A&MI_02
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0C&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0E&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0F&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C14&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C15&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C16&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1444&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1445&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_144E&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_144F&MI_01
%HP3110ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_03F0&PID_521D&MI_04
%HP3114ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_03F0&PID_541D&MI_04

; Windows XP and later
[DeviceList.NTx86]

%PNP21_HW_NetworkDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_16
%PNP21_NetworkDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_76
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\COMPAT
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C06&MI_03
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C07&MI_01
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C1D&MI_01
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C1E&MI_03
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C1F&MI_02
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C21&MI_03
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C22&MI_02
%PNP21_HW_3G_NetworkDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_07
%PNP21_NetworkDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_67
%PNP21_HW_NetworkDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_11
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\COMPAT
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C06&MI_03
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C07&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C09&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0A&MI_02
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0C&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0E&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0F&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C14&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C15&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C16&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1444&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1445&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_144E&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_144F&MI_01
%HP3110ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_03F0&PID_521D&MI_04
%HP3114ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_03F0&PID_541D&MI_04

; For XP and later x64
[DeviceList.NTamd64]

%PNP21_HW_NetworkDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_16
%PNP21_NetworkDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&Subclass_02&Prot_76
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\COMPAT
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C06&MI_03
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C07&MI_01
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C1D&MI_01
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C1E&MI_03
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C1F&MI_02
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C21&MI_03
%NCMDeviceDesc% = ew_jucdcncm.ndi, USBCDCNCM\VID_12D1&PID_1C22&MI_02
%PNP21_HW_3G_NetworkDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_07
%PNP21_NetworkDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_67
%PNP21_HW_NetworkDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&Subclass_02&Prot_11
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\COMPAT
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C06&MI_03
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C07&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C09&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0A&MI_02
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0C&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0E&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C0F&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C14&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C15&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1C16&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1444&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_1445&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_144E&MI_01
%ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_12D1&PID_144F&MI_01
%HP3110ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_03F0&PID_521D&MI_04
%HP3114ECMDeviceDesc% = ew_jucdcecm.ndi, USBCDCECM\VID_03F0&PID_541D&MI_04
;-------------------------------------------------------------------------------
; Virtual Ethernet Adapter
;

[ew_jucdcncm.ndi]
*IfType         = 6 ; IF_TYPE_USB
*MediaType      = NdisMedium802_3;
*PhysicalMediaType = NdisPhysicalMediumUnspecified; 
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 15 ; if you specify NCF_PHYSICAL, you must specify bustype
AddReg          = ew_jucdcecm.Reg, ParamsPromiscuous, NcmFlag, ParamsPacketsAccumulationTimeout, ParamsMaxNumOfDatagramsInNTB,FlowControlTimeOut
CopyFiles       = ew_jucdcecm.CopyFiles


[ew_jucdcecm.ndi]
*IfType         = 6 ; IF_TYPE_USB
*MediaType      = NdisMedium802_3;
*PhysicalMediaType = NdisPhysicalMediumUnspecified; 
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 15 ; if you specify NCF_PHYSICAL, you must specify bustype
AddReg          = ew_jucdcecm.Reg, ParamsPromiscuous, EcmFlag, FlowControlTimeOut
CopyFiles       = ew_jucdcecm.CopyFiles


[ew_jucdcncm.ndi.HW]
AddReg = ECM_AddReg

[ew_jucdcncm.ndi.Services]
AddService      = %ServiceName%, 2, ew_jucdcecm.Service, ew_jucdcecm.EventLog

[ew_jucdcecm.ndi.HW]
AddReg = ECM_AddReg

[ECM_AddReg]
HKR,,"Platform",0x00010001,0x1 
HKR,,"WWAN",0x00010001,0x0

[ew_jucdcecm.ndi.Services]
AddService      = %ServiceName%, 2, ew_jucdcecm.Service, ew_jucdcecm.EventLog

;-----------------------------------------------------------------------------
;
[ew_jucdcecm.Reg]
HKR,    ,                         BusNumber,           0, "0"
HKR, Ndi,                         Service,             0, "huawei_cdcecm"
HKR, Ndi\Interfaces,              UpperRange,          0, "ndis5"
HKR, Ndi\Interfaces,              LowerRange,          0, "ethernet"
HKR,    ,                         TcpAckFrqEnable,           0x00010001, 0   
;DWORD reg to control TcpAckFreqency 

[ParamsPromiscuous]
;
;    Should the physical NIC be set to Promiscuous mode
;
HKR, Ndi\Params\Promiscuous,     ParamDesc, , %Promiscuous%
HKR, Ndi\Params\Promiscuous,     Default,  ,"0"
HKR, Ndi\Params\Promiscuous,     type, ,      enum
HKR, Ndi\Params\Promiscuous\enum,"1",  ,     %Promiscuous_Enable%
HKR, Ndi\Params\Promiscuous\enum,"0",  ,     %Promiscuous_Disable%

[ParamsIsNtb32]
HKR, Ndi\Params\IsNtb32,      ParamDesc, , %IsNtb32%
HKR, Ndi\Params\IsNtb32,      Default, , "1"
HKR, Ndi\Params\IsNtb32,      type, , enum
HKR, Ndi\Params\IsNtb32\enum, "1", , "Yes"
HKR, Ndi\Params\IsNtb32\enum, "0", , "No"

[ParamsNTBInputSize]
HKR, Ndi\Params\NTBInputSize,     ParamDesc, , %NTBInputSize%
; If the following size is larger than the maximum allowed by the device, the
; maximum value is used. 0 means to use the maximum allowed value of the device.
HKR, Ndi\Params\NTBInputSize,     Default, , "0"
HKR, Ndi\Params\NTBInputSize,     type, , dword

[ParamsPacketsAccumulationTimeout]
HKR, Ndi\Params\PacketsAccumulationTimeout,     ParamDesc, , %PacketsAccumulationTimeout%
; Unit of PacketsAccumulationTimeout is usecs. Default value is 20 us.
HKR, Ndi\Params\PacketsAccumulationTimeout,     Default, , "20"
HKR, Ndi\Params\PacketsAccumulationTimeout,     type, , dword

[ParamsMaxNumOfDatagramsInNTB]
HKR, Ndi\Params\MaxNumOfDatagramsInNTB,     ParamDesc, , %MaxNumOfDatagramsInNTB%
HKR, Ndi\Params\MaxNumOfDatagramsInNTB,     Default, , "64"
HKR, Ndi\Params\MaxNumOfDatagramsInNTB,     type, , dword

[FlowControlTimeOut]
HKR, Ndi\Params\FlowControlTimeOut,     ParamDesc, , %FlowControlTimeout%
HKR, Ndi\Params\FlowControlTimeOut,     Default, , "2800"
HKR, Ndi\Params\FlowControlTimeOut,     type, , dword

[NcmFlag]
HKR, Ndi\Params\NcmFlag,     ParamDesc, , %NcmFlagDesc%
HKR, Ndi\Params\NcmFlag,     Default, , "1"
HKR, Ndi\Params\NcmFlag,     type, , dword

[EcmFlag]
HKR, Ndi\Params\NcmFlag,     ParamDesc, , %NcmFlagDesc%
HKR, Ndi\Params\NcmFlag,     Default, , "0"
HKR, Ndi\Params\NcmFlag,     type, , dword

;-----------------------------------------------------------------------------
; DestinationDirs
;
[DestinationDirs]
ew_jucdcecm.CopyFiles = 12

[ew_jucdcecm.CopyFiles]
ew_jucdcecm.sys,,,0x6  ;COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK
;-----------------------------------------------------------------------------
; Driver and Service Section
;

[ew_jucdcecm.Service]
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_DEMAND_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\ew_jucdcecm.sys
LoadOrderGroup  = NDIS
AddReg          = ew_jucdcecm.Service.Reg

[ew_jucdcecm.Service.Reg]
HKR, , TextModeFlags,    0x00010001, 0x0001
HKR, Parameters, DebugLevel, 0x00010001, 1

[ew_jucdcecm.EventLog]
AddReg = ew_jucdcecm.AddEventLog.Reg

[ew_jucdcecm.AddEventLog.Reg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported,   0x00010001, 7

;
;--- WDF Coinstaller installation ------
;
[DestinationDirs]
cdcecm_CoInstaller_CopyFiles = 11

[ew_jucdcncm.ndi.CoInstallers]
AddReg=cdcecm_CoInstaller_AddReg
CopyFiles=cdcecm_CoInstaller_CopyFiles

[ew_jucdcecm.ndi.CoInstallers]
AddReg=cdcecm_CoInstaller_AddReg
CopyFiles=cdcecm_CoInstaller_CopyFiles

[cdcecm_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "wdfcoinstaller01007.dll,WdfCoInstaller"

[cdcecm_CoInstaller_CopyFiles]
wdfcoinstaller01007.dll

[SourceDisksFiles]
wdfcoinstaller01007.dll=1 ; make sure the number matches with SourceDisksNames

[ew_jucdcncm.ndi.Wdf]
KmdfService = %ServiceName%, cdcecm_wdfsect

[ew_jucdcecm.ndi.Wdf]
KmdfService = %ServiceName%, cdcecm_wdfsect

[cdcecm_wdfsect]
KmdfLibraryVersion = 1.7

;-----------------------------------------------------------------------------
; Localizable Strings
;
[Strings]
Mfg = "MBB Incorporated"
ECMDeviceDesc = "Mobile Connect - Network Adapter"
NewECMDeviceDesc = "Mobile Connect - Network Adapter"
NCMDeviceDesc = "Mobile Connect - Network Adapter"
NewNCMDeviceDesc = "Mobile Connect - Network Adapter"
TDNCMDeviceDesc = "Mobile CMCC Connect - Network Adapter"
;PNP2.1 Device descriptor
PNP21_HW_3G_NetworkDesc = "Mobile Connect - 3G Network Card"
PNP21_HW_NetworkDesc = "Mobile Connect - Network Card"
PNP21_NetworkDesc = "Mobile Connect - Network Card"
HP3110ECMDeviceDesc = "HP hs3110 HSPA+ Mobile Broadband Module Network Device"
HP3114ECMDeviceDesc = "HP hs3114 HSPA+ Mobile Broadband Module Network Device"
ew_jucdcecm.DiskName = "DriverCore Installation Disk"
Promiscuous = "Set the physical NIC to promiscuous mode"
Promiscuous_Disable = "Disable"
ServiceName = "huawei_cdcecm"
Promiscuous_Enable  = "Enable"
PacketsAccumulationTimeout = "Packets Accumulation Timeout [usec]"
MaxNumOfDatagramsInNTB = "Maximum number of datagrams in NTB"
FlowControlTimeout = "Flow Control timeout interval in ms"
NcmFlagDesc = "Flag use to distinguish NCM or ECM"

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux