免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: sherf
打印 上一主题 下一主题

RTL8139 programming guide [复制链接]

论坛徽章:
0
41 [报告]
发表于 2009-11-07 12:25 |只看该作者
如果是真实的卡,那么复位时好像要延时一段时间。不过qemu虚拟的卡应该不用这么麻烦。
建议装个linux, compile qemu. 然后调试下qemu算啦。

论坛徽章:
0
42 [报告]
发表于 2009-11-08 21:51 |只看该作者
原帖由 accessory 于 2009-11-7 12:25 发表
如果是真实的卡,那么复位时好像要延时一段时间。不过qemu虚拟的卡应该不用这么麻烦。
建议装个linux, compile qemu. 然后调试下qemu算啦。


对编译的过程能否详细一点......

注:

已下载qemu0.11.0的source包,在ubuntu的环境下进行编译安装,但感觉编译的太大(编译花了1个多小时),并且发现编译的过程是各种版本都进行编译(MIP,solaris等)。就我目前的调试,是不是只需要编译其中一种版本就行,如果是,那该编译哪个版本,怎么编译?(我已到网上找了一下,但发现大多是使用qemu进行系统安装、很少有涉及系统调试的,即使有但由于情况不太相似也没弄清怎么个编译/调试过程.....)

论坛徽章:
0
43 [报告]
发表于 2009-11-09 01:12 |只看该作者
To compile QEMU with just i386 and x86_64 support:

./configure --target-list=x86_64-linux-user,i386-linux-user,i386-softmmu,x86_64-softmmu
make -j2
make install

论坛徽章:
0
44 [报告]
发表于 2009-11-09 15:41 |只看该作者
原帖由 accessory 于 2009-11-9 01:12 发表
To compile QEMU with just i386 and x86_64 support:

./configure --target-list=x86_64-linux-user,i386-linux-user,i386-softmmu,x86_64-softmmu
make -j2
make install



谢谢,已能较好的进行编译调试了。但是,以前的图形化界面没了(全部是字符终端输出),如果发现了问题要改动我自己的原程序,那怎样才能通过原来的图形化界面对我自己的程序(已改动)进行调试?

此外,accessory,你那有常用的调试介绍吗?(我进行了一下调试,打开了i8259.c中的调试模式,但是感觉输出的信息很多,如果要单独看11号引脚的设置该怎么看?是不是有些qemu自带的指令可以实现?)

论坛徽章:
0
45 [报告]
发表于 2009-11-09 22:30 |只看该作者
原帖由 sherf 于 2009-11-9 15:41 发表



谢谢,已能较好的进行编译调试了。但是,以前的图形化界面没了(全部是字符终端输出),如果发现了问题要改动我自己的原程序,那怎样才能通过原来的图形化界面对我自己的程序(已改动)进行调试?

此外 ...


发送中断已能正确驱动了......但仍有一些问题:

1、之前提到的现在在ubuntu下出不来图形界面,只有终端输出

2、如何进行发包/收包调试(我已安装tap,配置好了br0,eth0,tap0,但不知道如何监测发了多少包,收了多少包,包的内容是什么等等。另,在可以成功发/收包的基础上,是否可以继续配置端口、IP之类的?)

论坛徽章:
0
46 [报告]
发表于 2009-11-10 01:07 |只看该作者
发送中断已能正确驱动了......但仍有一些问题:
怎么解决的?是哪里的问题?

1、之前提到的现在在ubuntu下出不来图形界面,只有终端输出
不明白你的意思。虚拟机的输出看不到?贴个图片来看看?

2、如何进行发包/收包调试(我已安装tap,配置好了br0,eth0,tap0,但不知道如何监测发了多少包,收了多少包,包的内容是什么等等。另,在可以成功发/收包的基础上,是否可以继续配置端口、IP之类的?)
如果只看收发包的个数,可以用TAP虚拟网卡的方式。然后在HOST 上。 ifconfig tap0. (假设你的虚拟网卡是连到TAP0上的)。如果想看包的内容,可以用TCPDUMP看TAP0的包。配置端口,IP之类的就要看你的上层协议(TCP/IP)有没有实现,怎么实现的了。

论坛徽章:
0
47 [报告]
发表于 2009-11-10 01:42 |只看该作者
原帖由 accessory 于 2009-11-10 01:07 发表
发送中断已能正确驱动了......但仍有一些问题:
怎么解决的?是哪里的问题?

1、之前提到的现在在ubuntu下出不来图形界面,只有终端输出
不明白你的意思。虚拟机的输出看不到?贴个图片来看看?

2、如何 ...



对于1、
以下是ubuntu的终端输出,正常的情况应该会弹出一个图形化的界面(通常是黑底白字),但我这里并没有弹出这样的界面,以下的都是原来终端的输出

file:///F:/DOCUME%7E1/ADMINI%7E1.WWW/LOCALS%7E1/Temp/moz-screenshot.jpg

对于2、

其实我是想这样:

对于收包测试:我已通过PCI配置空间获得网卡的MAC地址,我想在ubuntu中另外开一个终端,针对这个MAC地址发包,然后在我的程序中启动收包,实时观察它收到多少包,包的内容是什么

对于发包测试:我想在我想在ubuntu中另外开一个终端,将我程序里发出来的包(根据ubuntu中的网卡MAC)进行接收并观察包的内容和数量。

不知道我目前的系统环境能否实现?

[ 本帖最后由 sherf 于 2009-11-10 01:52 编辑 ]

论坛徽章:
0
48 [报告]
发表于 2009-11-10 05:13 |只看该作者
图形界面应该出来的。你以前在这个UBUNTU机器上显示出来过图形界面没有?如果有,你是改了什么东西之后才变成显示不出来的么?
可以用SUDO命令启动QEMU. 我一般是在CENTOS上,用ROOT运行的。


对于2、

对于收包测试:我已通过PCI配置空间获得网卡的MAC地址,我想在ubuntu中另外开一个终端,针对这个MAC地址发包,然后在我的程序中启动收包,实时观察它收到多少包,包的内容是什么

可以。但是你想发什么包?PING? IP? TCP? HTTP? FTP? 如果是上层协议的包,但是你没有实现协议的话,应该发了1,2个包之后就失败。另外,你对TCP/IP或者上层的协议了解么?



对于发包测试:我想在我想在ubuntu中另外开一个终端,将我程序里发出来的包(根据ubuntu中的网卡MAC)进行接收并观察包的内容和数量。


前面已经说了,用TCPDUMP 看TAP0. 假设你TAP0设置好的话。你知道怎么用TAP0么?不知道可以自己GOOGLE下。


[ 本帖最后由 accessory 于 2009-11-10 05:15 编辑 ]

论坛徽章:
0
49 [报告]
发表于 2009-11-10 12:04 |只看该作者
原帖由 accessory 于 2009-11-10 01:07 发表
发送中断已能正确驱动了......但仍有一些问题:
怎么解决的?是哪里的问题?

1、之前提到的现在在ubuntu下出不来图形界面,只有终端输出
不明白你的意思。虚拟机的输出看不到?贴个图片来看看?

2、如何 ...


accessory,

怎么解决的?是哪里的问题?

问题主要出在打开中断的时机不对,应该在 findirq 之前就打开中断(8259的第3个引脚,IRQ2,连接主、从片的那个引脚),而不是在 findirq 之后再打开。这个问题真的搞死人,你当初的判断是对的......

[ 本帖最后由 sherf 于 2009-11-10 12:07 编辑 ]

论坛徽章:
0
50 [报告]
发表于 2009-11-10 13:16 |只看该作者
sherf 老兄,你这是搞得公司的项目,还是学校的项目阿?真是辛苦阿。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP