yeaiping
驱动牛犊
驱动牛犊
  • 注册日期2007-07-29
  • 最后登录2014-07-06
  • 粉丝3
  • 关注6
  • 积分86分
  • 威望629点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:2959回复:4

DM9000(AE) 网卡问题

楼主#
更多 发布于:2009-02-22 15:31
我在使用DriverMoniter检测PCI驱动程序读网卡的数据,发现读出的数据包除了广播包(以太网首部前六个字节为0xFF 0xFF 0xFF 0xFF 0xFF 0xFF)和自己的MAC地址相同的数据包(假设为0x00 0x01 0x20 0x5c 0xdf 0xff)。但还收到一个MAC地址为(0x01 0x80 0xc2 0x00 0x00 0x00),而我做的另外一块卡收到的是另一个MAC地址为(0x01 0x80 0xc2 0x00 0x00 0x0a),不知道是为什么?
首先我说明一下我的程序,我编写的不是网卡驱动程序,而是就是编写了一个PCI驱动程序。然后自己编写的协议栈。这些都不是主要的。问题是我在初始化dm9000网卡芯片时,已经把RCR(接收控制寄存器)的混杂模式屏蔽了,也不接收多播包(MAR),就是设置了网卡的PAR(MAC地址存放的地方)。而且对网卡不启动自环模式。
然后我再说明一下我对的理解。对于网卡芯片(硬件),我在配置其寄存器时,我只要不让网卡工作在混杂模式,硬件应该会过滤掉不是本机MAC地址的以太网包(但还是会接收广播包的)。可是我这块卡就是不听使唤。
我不知道是不是dm9000(AE)网卡芯片还有别的寄存器需要配置,会影响接收的以太网包。还是说对于网卡芯片必须要编写标准的网卡驱动程序。希望做过这方面的和研究过这方面的,还有想法的人都给我提点意见,让我试试,我自己实在是没招了。该试的都试过了。谢谢各位了
授人以鱼不如授人以渔,反之,求鱼不如求渔
yeaiping
驱动牛犊
驱动牛犊
  • 注册日期2007-07-29
  • 最后登录2014-07-06
  • 粉丝3
  • 关注6
  • 积分86分
  • 威望629点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-02-24 08:49
我发现我设置dm9000的RCR控制器为非混杂模式和混杂模式效果一个样,请问谁遇到过这样的问题
授人以鱼不如授人以渔,反之,求鱼不如求渔
cross_sky
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2012-09-07
  • 粉丝0
  • 关注0
  • 积分858分
  • 威望727点
  • 贡献值0点
  • 好评度77点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-02-25 20:48
你的问题我不太清楚怎么回事,但我也在做类似的工作,自己想写一个网卡的驱动,但是当成PCI卡来写,不过效率一直不高,有兴趣大家可以交流一下,我的邮箱cross_sky@sohu.com
sky
yeaiping
驱动牛犊
驱动牛犊
  • 注册日期2007-07-29
  • 最后登录2014-07-06
  • 粉丝3
  • 关注6
  • 积分86分
  • 威望629点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-03-10 15:32
引用第2楼cross_sky于2009-02-25 20:48发表的  :
你的问题我不太清楚怎么回事,但我也在做类似的工作,自己想写一个网卡的驱动,但是当成PCI卡来写,不过效率一直不高,有兴趣大家可以交流一下,我的邮箱cross_sky@sohu.com

楼上的,行,我的QQ:332390405,咱们QQ上聊,我的功能基本上实现了,但速度也只有1.2Mbps而我用的是100M网卡,所以也在想着提高效率问题
授人以鱼不如授人以渔,反之,求鱼不如求渔
wangzheng200550
驱动牛犊
驱动牛犊
  • 注册日期2009-03-10
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-03-10 21:04
我想我能帮你,一起学习下吧.QQ: 286013981
游客

返回顶部