免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 21034 | 回复: 88

RTL8139 programming guide [复制链接]

论坛徽章:
0
发表于 2009-10-23 07:45 |显示全部楼层
10可用积分
各位,谁有 RTL8139 programming guide,请共享一下,谢谢。

最佳答案

查看完整内容

用下面的命令试试. 别用HOST 来指定IP了. 万一你发送的IP不对呢. 用下面的把TAP0上的全抓下来看看sudo tcpdump -s 0 -i tap0PS: 哪个低级错误确实令人沮丧. 不过为啥不从LINUX 8139TOO.C 上COPY呢, 这个肯定是好的. 网上的代码的质量就难以保证了.

论坛徽章:
0
发表于 2009-10-23 07:45 |显示全部楼层
用下面的命令试试. 别用HOST 来指定IP了. 万一你发送的IP不对呢. 用下面的把TAP0上的全抓下来看看
sudo tcpdump -s 0 -i tap0

PS: 哪个低级错误确实令人沮丧. 不过为啥不从LINUX 8139TOO.C 上COPY呢, 这个肯定是好的. 网上的代码的质量就难以保证了.

论坛徽章:
0
发表于 2009-10-23 07:48 |显示全部楼层

回复 #1 sherf 的帖子

先顶一下

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2009-10-23 10:06 |显示全部楼层

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2009-10-23 10:11 |显示全部楼层
这篇文章也不错:
http://linuxgazette.net/156/jangir.html

论坛徽章:
0
发表于 2009-10-23 14:05 |显示全部楼层

回复 #4 Godbach 的帖子

Godbach,

谢谢你的回复,2篇文章都不错。其中第1篇,之前我也看过,也下载过它的DEMO,但是有些地方还是不太明白(比如,MAC地址是怎么得到的,网卡的名字是怎么得到的(Realtek 8139什么的))。因此,希望能找到较详细的RTL8139 programming guide,最好是官方的(曾去过realtek官网,但不让下)。

论坛徽章:
0
发表于 2009-10-23 23:51 |显示全部楼层
3楼的连接就是官方的PROGRAMMING GUIDE。只不过老了点而已。

MAC地址是从卡的ROM里读出来的。ROM里的内容应该是生产硬件时烧进去的。

网卡名字是自己定义的。根据PCI规范,知道了VENDER ID, DEV ID之后,就知道是哪个型号的设备了。

可以看看下面这个帖子:
http://linux.chinaunix.net/bbs/v ... p;extra=&page=5

还可以直接看看KERNEL里的 8139TOO.C

还想看基础点的话,可以看LDD3 (如果没看过的话)

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2009-10-24 23:34 |显示全部楼层
原帖由 sherf 于 2009-10-23 14:05 发表
Godbach,

谢谢你的回复,2篇文章都不错。其中第1篇,之前我也看过,也下载过它的DEMO,但是有些地方还是不太明白(比如,MAC地址是怎么得到的,网卡的名字是怎么得到的(Realtek 8139什么的))。因此,希望 ...

哦,那你就看一下我之前转过的一篇文章吧:
http://linux.chinaunix.net/bbs/viewthread.php?tid=1095257

主要是分析了RTL8139的驱动程序,以及后面的多个朋友的回帖,都深入讨论了驱动程序。尤其是accessory兄的讲解,释疑了我个人的很多问题。至于你说的得到MAC,网卡的名字的实现,都可以找到。

有不明白的地方,你也可以跟帖讨论。

论坛徽章:
0
发表于 2009-10-29 19:19 |显示全部楼层

回复 #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 编辑 ]

论坛徽章:
0
发表于 2009-10-30 06:41 |显示全部楼层

回复 #8 sherf 的帖子

顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP