我用的板子是*研华的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目录下的.