阅读:3551回复:12
WinCE 网卡驱动求助
我正在做CEPC下的网卡驱动,附带的光盘已经有了现成的dll文件,也放到cepc的Windows目录下了。
但还是没效果,ping不通,不能得到调试信息,所以一点头绪都没有。注册表也加了一些内容。 怀疑可能是没有加载吧,不知道如何让ce加载我的dll文件。 加入project.reg的内容如下 ; ; Registry configuration for GD82559ER adapter. These Registry entries must ; be included in the master PLATFORM.REG (or one of the other Registry source ; files) in the WinCE image. ; ; GD82559ER Registry configuration, if enabled ;IF CEPC_GD82559ER_PCI ; Generic adapter configuration/description [HKEY_LOCAL_MACHINECommE100CE] "DisplayName"="GD82559ER-based Ethernet Driver" "Group"="NDIS" "ImagePath"="e100ce.dll" [HKEY_LOCAL_MACHINECommE100CELinkage] "Route"=multi_sz:"E100CE1" ; Specific configuration for an adapter instance [HKEY_LOCAL_MACHINECommE100CE1] "DisplayName"="GD82559ER-based Ethernet Driver" "Group"="NDIS" "ImagePath"="e100ce.dll" [HKEY_LOCAL_MACHINECommE100CE1Parms] ; Assume PCI bus 0 "BusNumber"=dword:0 "BusType"=dword:5 "BusTypeLocal"=dword:5 ; Shared packet buffer storage, must match reserved memory range "CE_PhysAddr"=dword:801DC000 ; Other adapter-specific Registry parameters may be inserted here ; Settings for static IP configuration, if enabled [HKEY_LOCAL_MACHINECommE100CE1ParmsTcpIp] "EnableDHCP"=dword:0 ; This should be MULTI_SZ "DefaultGateway"="192.168.192.1" ; Use zero for broadcast address? (or 255.255.255.255) "UseZeroBroadcast"=dword:0 ; This should be MULTI_SZ, the IP address list "IpAddress"="192.168.192.69" ; This should be MULTI_SZ, the subnet masks for the above IP addresses "Subnetmask"="255.255.255.0" ; Link between adapter and protocol stack [HKEY_LOCAL_MACHINECommTcpipLinkage] ; This should be MULTI_SZ ; This is the list of llip drivers to load "Bind"=multi_sz:"e100ce1" ;ENDIF ; Disable the standard network stacks, if NDISTEST is enabled IF NDISTEST [HKEY_LOCAL_MACHINECommAFD] "Stacks"="" ENDIF ; GD82559ER Registry configuration ends |
|
沙发#
发布于:2004-12-22 16:19
你的网卡是PCI接口的吗?
首先要确定你的驱动是否已经被系统加载。最简单的是到控制面板--网络设置下看有没有新的网络链接出现。或者用PB自带的remote process viewer工具连到cepc上看device.exe进程下有没有你要加载的dll模块。当然如果你的平台支持full kernel mode debugger那就更方便了 如果dll已经被加载,那么很可能是一些网络参数设置不正确,应该好办了。 如果确定dll尚未加载 我看到过的驱动加载方式有两种: 一是根据pnp Identifier,注册表里的driver下有相应pnp Identifier的子键存在,设备管理器从网卡上读到它的pnp Identifier后如果与注册表里某个记录的匹配就会根据键值加载相应的dll。 二是驱动提供了相应的detect函数,设备管理器找不到匹配的pnp Identifier 就会到detect子键下依次调用里面的键值所描述的dll的detect接口来对网卡进行侦测,如果成功就加载相应的dll 以上是我在pcmcia接口的驱动情况下看到的,不知道其他总线下如何 |
|
板凳#
发布于:2004-12-22 17:28
看了一下,网络设置下没有新的网络链接,那应该是没加载吧。
远程连接网卡没调通,用不了。看不了注册表。 我想问的是有没有让ce启动时就加载的方法。 |
|
地板#
发布于:2004-12-23 08:51
是pci接口的
看了别的帖子,好像要写template instance之类的。 不知道要怎么写,请指教 |
|
地下室#
发布于:2004-12-23 12:13
我觉得你的网卡的注册表配置有问题:
缺少[HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\PCI\\Template\\E100CE] 项,这是一个模板。至于Instance项,是系统检测到你的网卡后,自动添加上去的。 [编辑 - 12/23/04 by wwei_wang] |
|
|
5楼#
发布于:2004-12-23 15:23
买了一块8139的网卡,终于能用上Remote xxx的了。谢谢1楼提醒。
to楼上 我也感觉是缺少[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\E100CE] 但是驱动盘里面没有这方面的介绍。所有能找到的东东都写进去了。 剩下的不知道如何写。 看了一下注册表,有很多项要填,我应该如何配置注册表 或者哪里有这方面的介绍。谢谢 |
|
6楼#
发布于:2004-12-30 12:19
再顶一次,没人会的话就结贴了
|
|
7楼#
发布于:2004-12-30 13:43
不知兄弟何意?PB里面不是已经有8139的网卡的驱动程序及其配置吗?
|
|
|
8楼#
发布于:2004-12-30 13:45
你是想自己开发网卡驱动程序还是只是想配置现成的网卡驱动程序?
|
|
|
9楼#
发布于:2004-12-30 17:43
最终产品要用到两块网卡,一张是集成的82559(就是开头提到的)。还有一块自己做的,驱动要自己写。所以需要搞清楚具体如何配置,但是手边没什么资料,只有自己摸索。
本来的想法是,82559有现成的驱动和配置说明。就先配置成功82559,了解具体过程后写自己开发网卡的驱动,搞定两块网卡。 但是,82559搞不定。就想先配置8139,有一个成功的样本,参照着去调82559应该会方便些。 现在的情况就是,想通过ce自带的8139来配置一个成功的例子,仿造成功的例子开展下一步的工作。但是连一个最基本的例子都没有。 |
|
10楼#
发布于:2004-12-31 09:54
beffic兄弟,我这有段Intel(R) 8255x 注册表配置,你可以试试。
;*********************BEGIN INTEL PLATFORM.REG ADDITIONS************************ ;***MERGE this into your platform.reg file*** ; Intel(R) 8255x Registry configuration, if enabled ;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" "DeviceID"=multi_sz:"1209","1229","2449" "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 [HKEY_LOCAL_MACHINE\COMM\PCI\E100CE1] "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" ;*********************END INTEL PLATFORM.REG ADDITIONS************************ |
|
|
11楼#
发布于:2005-01-04 14:38
wwei_wang,太谢谢了。
网卡终于认出来了。 有了成功的例子下面的工作就轻松多了。 不过用KITL的时候,在驱动加载giisr.dll就停住了。 不用KITL的时候,就是正常的。原因不知。 不管怎么说,大问题解决了。多谢多谢。 结贴了。 |
|
12楼#
发布于:2005-01-06 18:34
恭喜恭喜,革命工作已经成功一小半了,共同努力:)))
|
|
|