beffic
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3551回复:12

WinCE 网卡驱动求助

楼主#
更多 发布于:2004-12-22 15:54
我正在做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
happy_life
驱动牛犊
驱动牛犊
  • 注册日期2004-12-22
  • 最后登录2005-05-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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接口的驱动情况下看到的,不知道其他总线下如何


beffic
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-22 17:28
看了一下,网络设置下没有新的网络链接,那应该是没加载吧。
远程连接网卡没调通,用不了。看不了注册表。

我想问的是有没有让ce启动时就加载的方法。
beffic
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-23 08:51
是pci接口的
看了别的帖子,好像要写template instance之类的。
不知道要怎么写,请指教
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-12-23 12:13
我觉得你的网卡的注册表配置有问题:
缺少[HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\PCI\\Template\\E100CE]
项,这是一个模板。至于Instance项,是系统检测到你的网卡后,自动添加上去的。


[编辑 -  12/23/04 by  wwei_wang]
Come on, let us drive the world.
beffic
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-12-23 15:23
买了一块8139的网卡,终于能用上Remote xxx的了。谢谢1楼提醒。

to楼上
我也感觉是缺少[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\E100CE]

但是驱动盘里面没有这方面的介绍。所有能找到的东东都写进去了。
剩下的不知道如何写。
看了一下注册表,有很多项要填,我应该如何配置注册表
或者哪里有这方面的介绍。谢谢
beffic
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-12-30 12:19
再顶一次,没人会的话就结贴了
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-12-30 13:43
不知兄弟何意?PB里面不是已经有8139的网卡的驱动程序及其配置吗?
Come on, let us drive the world.
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-12-30 13:45
你是想自己开发网卡驱动程序还是只是想配置现成的网卡驱动程序?
Come on, let us drive the world.
beffic
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-12-30 17:43
    最终产品要用到两块网卡,一张是集成的82559(就是开头提到的)。还有一块自己做的,驱动要自己写。所以需要搞清楚具体如何配置,但是手边没什么资料,只有自己摸索。

    本来的想法是,82559有现成的驱动和配置说明。就先配置成功82559,了解具体过程后写自己开发网卡的驱动,搞定两块网卡。
    但是,82559搞不定。就想先配置8139,有一个成功的样本,参照着去调82559应该会方便些。
    现在的情况就是,想通过ce自带的8139来配置一个成功的例子,仿造成功的例子开展下一步的工作。但是连一个最基本的例子都没有。
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
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************************
Come on, let us drive the world.
beffic
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-01-04 14:38
wwei_wang,太谢谢了。
网卡终于认出来了。

有了成功的例子下面的工作就轻松多了。
不过用KITL的时候,在驱动加载giisr.dll就停住了。
不用KITL的时候,就是正常的。原因不知。

不管怎么说,大问题解决了。多谢多谢。
结贴了。
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-01-06 18:34
恭喜恭喜,革命工作已经成功一小半了,共同努力:)))
Come on, let us drive the world.
游客

返回顶部