wince系统如何添加Intel82559er的网卡驱动

时间:2021-02-26 17:53:20
我用的板子是*研华的PCM-3350,Intel82559er的网卡.由于wince不支持,板子从CF卡启动IMAGE后无法设置网络.

通过以下步骤添加Intel82559er的驱动(我用的BSP是CEPC,选用internet 模板定制的OS):

1.从INTEL下载了intel8255xer for wince5.0的驱动,把里头的e100ce5er.cec导入到目录中,在Third Party中出现了intel的驱动

2.参照所下载驱动的config.bib,在OS 的配置文件中加入为网卡保留的memory段,EPKTBUF 801DC000 00020000 RESERVED

3.在platform.reg中添加驱动的相关项如下:

; Intel(R) 8255x Registry configuration, if enabled
IF CEPC_INTELFE_PCI

;Create registry information for Intel(R) Miniport Driver


[HKEY_LOCAL_MACHINE/Comm/E100CE]
  "DisplayName"="Intel(R) Fast Ethernet Controller"
  "Group"="NDIS"
  "ImagePath"="e100ce.dll"


;Create registry information for template (will be copied to ALL instances of
;adapters using the Intel Miniport Driver

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/PCI/Template/E100CE]
;PCI Bus Enumeration Information
  "Class"=dword:02
  "SubClass"=dword:00
  "ProgIF"=dword:0
  "VendorID"=multi_sz:"8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086"
  "DeviceID"=multi_sz:"1209","1229","2449","1031","1032","1033","1034","1035","1036","1037","1038","1039","103A","103B"
  "Dll"="NDIS.dll"
  "Entry"="NdisPCIBusDeviceInit"
  "Transceiver"=dword:3
;Installable ISR Handler Information
  "IsrDll"="giisr.dll"
  "IsrHandler"="ISRHandler"
  "PortIsIO"=dword:0
  "PortOffset"=dword:0
  "PortSize"=dword:4
  "PortMask"=dword:20F0

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE/COMM/PCI/E100CE1/Parms/TcpIp]
  "EnableDHCP"=dword:1
  ; This should be MULTI_SZ
  "DefaultGateway"=""
  ; Use zero for broadcast address? (or 255.255.255.255)
  "UseZeroBroadcast"=dword:0
  ; This should be MULTI_SZ, the IP address list
  "IpAddress"="0.0.0.0"
  ; This should be MULTI_SZ, the subnet masks for the above IP addresses
  "Subnetmask"="0.0.0.0"
ENDIF ;//DHCP

;Settings for static IP configuration, if enabled
IF STATIC_IP
[HKEY_LOCAL_MACHINE/COMM/PCI/E100CE1/Parms/TcpIp]
  "EnableDHCP"=dword:0
  ; This should be MULTI_SZ
  "DefaultGateway"="1.2.3.0"
  ; Use zero for broadcast address? (or 255.255.255.255)
  "UseZeroBroadcast"=dword:0
  ; This should be MULTI_SZ, the IP address list
  "IpAddress"="1.2.3.4"
  ; This should be MULTI_SZ, the subnet masks for the above IP addresses
  "Subnetmask"="255.0.0.0"
ENDIF ;//Static IP

[HKEY_LOCAL_MACHINE/Comm/E100CEB]
  "DisplayName"="Intel(R) Fast Ethernet Controller"
  "Group"="NDIS"
  "ImagePath"="e100ce.dll"


;Create registry information for template (will be copied to ALL instances of
;adapters using the Intel Miniport Driver

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/PCI/Template/E100CEB]
;PCI Bus Enumeration Information
  "Class"=dword:02
  "SubClass"=dword:00
  "ProgIF"=dword:0
  "VendorID"=multi_sz:"8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086"
  "DeviceID"=multi_sz:"103C","103D","103E","1050","1051","1052","1053","1054","1055","1056","1057","2459","245D"
  "Dll"="NDIS.dll"
  "Entry"="NdisPCIBusDeviceInit"
  "Transceiver"=dword:3
;Installable ISR Handler Information
  "IsrDll"="giisr.dll"
  "IsrHandler"="ISRHandler"
  "PortIsIO"=dword:0
  "PortOffset"=dword:0
  "PortSize"=dword:4
  "PortMask"=dword:20F0

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE/COMM/PCI/E100CEB1/Parms/TcpIp]
  "EnableDHCP"=dword:1
  ; This should be MULTI_SZ
  "DefaultGateway"=""
  ; Use zero for broadcast address? (or 255.255.255.255)
  "UseZeroBroadcast"=dword:0
  ; This should be MULTI_SZ, the IP address list
  "IpAddress"="0.0.0.0"
  ; This should be MULTI_SZ, the subnet masks for the above IP addresses
  "Subnetmask"="0.0.0.0"
ENDIF ;//DHCP

;Settings for static IP configuration, if enabled
IF STATIC_IP
[HKEY_LOCAL_MACHINE/COMM/PCI/E100CEB1/Parms/TcpIp]
  "EnableDHCP"=dword:0
  ; This should be MULTI_SZ
  "DefaultGateway"="1.2.3.0"
  ; Use zero for broadcast address? (or 255.255.255.255)
  "UseZeroBroadcast"=dword:0
  ; This should be MULTI_SZ, the IP address list
  "IpAddress"="1.2.3.4"
  ; This should be MULTI_SZ, the subnet masks for the above IP addresses
  "Subnetmask"="255.0.0.0"
ENDIF ;//Static IP

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/PCI/Template/E100CEC]
;PCI Bus Enumeration Information
  "Class"=dword:02
  "SubClass"=dword:00
  "ProgIF"=dword:0
  "VendorID"=multi_sz:"8086","8086","8086","8086","8086","8086","8086","8086"
  "DeviceID"=multi_sz:"1064","1065","1066","1067","1068","1069","106A","106B"
  "Dll"="NDIS.dll"
  "Entry"="NdisPCIBusDeviceInit"
  "Transceiver"=dword:3
;Installable ISR Handler Information
  "IsrDll"="giisr.dll"
  "IsrHandler"="ISRHandler"
  "PortIsIO"=dword:0
  "PortOffset"=dword:0
  "PortSize"=dword:4
  "PortMask"=dword:20F0

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE/COMM/PCI/E100CEC1/Parms/TcpIp]
  "EnableDHCP"=dword:1
  ; This should be MULTI_SZ
  "DefaultGateway"=""
  ; Use zero for broadcast address? (or 255.255.255.255)
  "UseZeroBroadcast"=dword:0
  ; This should be MULTI_SZ, the IP address list
  "IpAddress"="0.0.0.0"
  ; This should be MULTI_SZ, the subnet masks for the above IP addresses
  "Subnetmask"="0.0.0.0"
ENDIF ;//DHCP

;Settings for static IP configuration, if enabled
IF STATIC_IP
[HKEY_LOCAL_MACHINE/COMM/PCI/E100CEC1/Parms/TcpIp]
  "EnableDHCP"=dword:0
  ; This should be MULTI_SZ
  "DefaultGateway"="1.2.3.0"
  ; Use zero for broadcast address? (or 255.255.255.255)
  "UseZeroBroadcast"=dword:0
  ; This should be MULTI_SZ, the IP address list
  "IpAddress"="1.2.3.4"
  ; This should be MULTI_SZ, the subnet masks for the above IP addresses
  "Subnetmask"="255.0.0.0"
ENDIF ;//Static IP

ENDIF ;//Intel(R) miniport registry additions

4.在platform.bib的module段,添加E100CE.dll $(_FLATRELEASEDIR)/E100CE.dll NK SH

5.拷贝e100ce.dll以及e100ce5er,e100ce5.rel三个文件到%winceroot/platform/yourplatform/files目录下(其中的yourplatform是指你所选的BSP对应的)

重新sysgen,注意选中clean before building

镜像起来后,即可设置网络项了

posted on 2006-12-08 10:55 相思酸中有甜 阅读(1336) 评论(5)  编辑 收藏 引用 所属分类: Wince学习小结
评论
# re: [11月份已解决的问题]如何添加Intel82559er的网卡驱动 2006-12-08 11:20 相思酸中有甜

还有几个问题待解决
1.虽然镜象起来后可以设置网络,可是我不明白为何要把e100ce5er.cec和e100ce5.rel拷贝到%winceroot/platform/yourplatform/files目录下,如果没有拷贝,网络还是不能设置.这两个文件的作用待考

2.我用的CEPC的BSP ,在DOS里选loadcepc (local nk),镜象起来后的分辨率低,导致窗口字体很大,溢出了.应该怎样设置才能正常?

我试过loadcepc /l:命令,可是它总是停在jumping to...上,无法启动OS

3.文件拷贝目录需要研究.拷贝到%winceroot/platform/yourplatform/files下,所有相同平台下的OS都可以用,而拷贝到pbworkspaces/{youros}/reldir下就只能当前OS有效了.
我的理解是和"在platform.bib的module段,添加E100CE.dll $(_FLATRELEASEDIR)/E100CE.dll NK SH"这句有关,所谓的$(_FLATRELEASEDIR)也就是NK将要生成的目录.如果拷贝到reldir,是在sysgen阶段处理的;而如果拷贝到平台FILES下是在RELEASECOPY阶段拷贝到release目录下的.