打印

S3C44B0X的网卡不能通信

[复制链接]
1299|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xparmenides|  楼主 | 2013-1-30 19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用是S3C44B0X(ARM7 TDMI)的板子,网卡的型号是RTL 8019AS,想搭建一个开发环境,将uclinux烧写到板子上之后可以正常运行,但网络却无**常工作,具体现象如下:
1. uclinux中执行ifconfig -a命令能够看到eth0网络接口。
2. 目标机和开发机之间相互都ping不通对方(注:开发机中已经关闭了防火墙)。目标机在执行ping时屏幕提示为:
        NETDEV WATCHDOG: eth0: transmit timed out...
3. 目标机能够ping通自己。
4. 用bootloader能够通过网络下载文件,因此网卡和网线连接应该不会有问题。
5. 用cat /proc/interrupts命令发现网卡中断号在驱动程序中被配置为24号,并且不论怎样ping,24号中断次数始终是1次。
6. 查阅用户手册,网卡中断号应为EXTINT1,而驱动程序源码中配置的中断号是24。不知道这两者之间是否存在映射关系。为保险起见修改了网卡驱动程序源码中的中断号(没有依据,随便试了几个),现象依旧。(注:uclinux中用修改后的ne2000网卡驱动程序来驱动RTL 8019AS)
7. RTL 8019AS网卡可以工作在8位或16位模式。查阅用户手册,网卡用16位数据总线传输数据,因此猜测应以16位模式工作。结合网上查阅的资料,在16位模式下网卡的基地址应为0x60000300。查看驱动程序源码,发现寄存器基地址配置为0x60000000,将其改为0x60000300后现象依旧。
8. 从网上下载了另一个驱动程序的源码,编译后再烧写到板子上,现象和原先的驱动程序类似。

在网上进一步查阅一些资料,对问题原因有三点猜测:
1. 网卡中断的触发方式好像有高、低电平或上升沿、下降沿的区别,但不知道应该怎样修改源代码。
2. 中断向量表的配置是否存在问题,但网卡既然触发了一次中断,似乎这也不构成问题。不知道在源码中如何检查中断向量表的配置。
3. bootloader能够正常使用网络下载文件,bootloader与uclinux内核对网卡中断的处理是否存在冲突。

不知道这种情况该怎样解决?下面附上板子附带的bootloader和网上下载的网卡驱动程序源代码(没有发布超链接的权限,因此去掉了HTTP协议头),请大家帮忙看一下,谢谢!

rtl8019.rar : pan.baidu.com/share/link?shareid=256930&uk=2133253253
uClinux-bios.rar : pan.baidu.com/share/link?shareid=257081&uk=2133253253

相关帖子

沙发
阿南| | 2013-1-31 09:15 | 只看该作者
确认一下bootloader是否真的是通过网络下载的,下载的过程中,RJ45接口的灯是否有在闪。查看Linux内核启动过程中的打印信息,是否有找到网卡。

使用特权

评论回复
板凳
jlass| | 2013-1-31 09:49 | 只看该作者
感觉楼主把问题搞复杂了

使用特权

评论回复
地板
xparmenides|  楼主 | 2013-1-31 12:58 | 只看该作者
bootloader代码中包含了一个简单的网卡驱动,利用bootloader能够从开发机中下载uclinux镜像文件,然后烧写到板子上。uclinux的启动信息中显示已经找到网卡。我也不想问题太复杂,但尝试了多次也没有解决。

使用特权

评论回复
5
xparmenides|  楼主 | 2013-1-31 13:08 | 只看该作者
加载uclinux的过程如下:
1. 板子上已经烧写了bootloader。
2. 启动板子后进入bootloader命令行。
3. 在bootloader命令行上输入load命令,此时可以从开发机中ping通板子(没有执行load命令ping不通)
4. 在开发机中通过tftp命令将uclinux镜像文件下载到板子的内存中。
5. 用bootloader的prog命令将uclinux镜像文件烧写到flash中。
6. 将uclinux镜像文件通过bootloader的move命令移到内存中。
7. 用bootloader的run命令启动uclinux内核。
8. uclinux启动后能够看到eth0网络接口,但不能与开发机通信。
我最奇怪的就是bootloader可以通过tftp与开发机通信,但uclinux内核一启动就无法通信了。

使用特权

评论回复
6
xparmenides|  楼主 | 2013-1-31 19:41 | 只看该作者
抱歉,bootloader的地址有误,更正一下:
uClinux-bios.rar : pan.baidu.com/share/link?shareid=259305&uk=2133253253

使用特权

评论回复
7
jlass| | 2013-2-1 12:03 | 只看该作者
看你的描述,可能是要改内核中网卡部分的驱动了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

粉丝