RTL8139 programming guide
各位,谁有 RTL8139 programming guide,请共享一下,谢谢。 用下面的命令试试. 别用HOST 来指定IP了. 万一你发送的IP不对呢. 用下面的把TAP0上的全抓下来看看sudo tcpdump -s 0 -i tap0
PS: 哪个低级错误确实令人沮丧. 不过为啥不从LINUX 8139TOO.C 上COPY呢, 这个肯定是好的. 网上的代码的质量就难以保证了.
回复 #1 sherf 的帖子
先顶一下 网上一搜就出来了:http://profile.iiita.ac.in/aagarwal2_01/pguide.pdf 这篇文章也不错:
http://linuxgazette.net/156/jangir.html
回复 #4 Godbach 的帖子
Godbach,谢谢你的回复,2篇文章都不错。其中第1篇,之前我也看过,也下载过它的DEMO,但是有些地方还是不太明白(比如,MAC地址是怎么得到的,网卡的名字是怎么得到的(Realtek 8139什么的))。因此,希望能找到较详细的RTL8139 programming guide,最好是官方的(曾去过realtek官网,但不让下)。 3楼的连接就是官方的PROGRAMMING GUIDE。只不过老了点而已。
MAC地址是从卡的ROM里读出来的。ROM里的内容应该是生产硬件时烧进去的。
网卡名字是自己定义的。根据PCI规范,知道了VENDER ID, DEV ID之后,就知道是哪个型号的设备了。
可以看看下面这个帖子:
http://linux.chinaunix.net/bbs/viewthread.php?tid=1095257&extra=&page=5
还可以直接看看KERNEL里的 8139TOO.C
还想看基础点的话,可以看LDD3 (如果没看过的话) 原帖由 sherf 于 2009-10-23 14:05 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
Godbach,
谢谢你的回复,2篇文章都不错。其中第1篇,之前我也看过,也下载过它的DEMO,但是有些地方还是不太明白(比如,MAC地址是怎么得到的,网卡的名字是怎么得到的(Realtek 8139什么的))。因此,希望 ...
哦,那你就看一下我之前转过的一篇文章吧:
http://linux.chinaunix.net/bbs/viewthread.php?tid=1095257
主要是分析了RTL8139的驱动程序,以及后面的多个朋友的回帖,都深入讨论了驱动程序。尤其是accessory兄的讲解,释疑了我个人的很多问题。至于你说的得到MAC,网卡的名字的实现,都可以找到。
有不明白的地方,你也可以跟帖讨论。
回复 #7 Godbach 的帖子
谢谢各位的回复,目前对网卡驱动已有了更多的了解。但有一些问题还没有弄明白。比如,Godbach所推荐的第一篇文章里面有一个demo,demo里面有一个寻找IRQ的函数(findirq),在里面我发现iobase和irq是从别的地方获取的(应该都跟0x80000000有关)。在查找了一些资料后,发现如果要使得网卡驱动能工作,之前应该先要做一个PCI的驱动,在里面配置好PCI设备(如网卡)的IRQ、输入输出端口(寄存器)等。目前碰到的问题是:这些输入输出端口的信息是从哪里来的(BIOS吗?还是规范里统一规定的,就像键盘的60H、61H端口)?0x80000000这个地址又是从何而来的?具体的操作应该怎样(最好有些简单的demo)?谢谢。
(曾寻找过有关PCI的资料,但发现这些资料几乎都与实际的系统(如:linux,windows等)相关,都直接去分析它的函数,很难形成一个清晰的认识。)
[ 本帖最后由 sherf 于 2009-10-29 19:21 编辑 ]