u-boot 1.3.4上移植dm9000cep问题

alexwang81 2010-10-16 10:44:40
现用的2416核,在u-boot 1.3.4上移植dm9000cep驱动,网卡接片选1,现有问题是,能找到网卡ID,但始终ping不通,两个led均不亮。
将dm9000c的控制寄存器的LBK设为MAC Internal Loopback进行调试,eth_send发送数据正常,eth_rx接收数据时报错,提示“rx fifo error”,查看FIFO数据,收到一大堆,明显与发送的数据包不一致。
可能是什么原因导致?有碰到类似问题的吗?谢谢
...全文
318 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
F599GTB 2012-05-02
现用的s3c2440,在u-boot 1.3.4上移植dm9000cep驱动,遇到了同样的问题:能找到网卡ID,正确读取MAC地址,但始终ping不通,两个led均不亮。
有没有遇到类似问题的?谢谢!
回复
Hens007 2012-02-08
在2416上我也基本是这样
#ifdef CONFIG_DRIVER_DM9000
#define CONFIG_DM9000_BASE 0x08000000
#define DM9000_IO CONFIG_DM9000_BASE
#define DM9000_DATA (CONFIG_DM9000_BASE+4)
#define CONFIG_DM9000_USE_16BIT 1

其中把#define DM9000_DATA (CONFIG_DM9000_BASE+4)把它改为#define DM9000_DATA (CONFIG_DM9000_BASE+8)才能找到网卡,其他什么都没改,就是在发送数据时总是出现T T T T T的现象,不能用TFTP下载,抓包看也没有看到的正常的数据发送,请问是什么问题?

回复
alexwang81 2010-10-18
现在改接BANK4,其它均没动,网卡ID也找不到,提示dm9000 not found at 0x20000000 id: 0x2b2a2928
回复
alexwang81 2010-10-18
[Quote=引用 2 楼 sundesheng125 的回复:]

引用楼主 alexwang81 的回复:
现用的2416核,在u-boot 1.3.4上移植dm9000cep驱动,网卡接片选1,现有问题是,能找到网卡ID,但始终ping不通,两个led均不亮。
将dm9000c的控制寄存器的LBK设为MAC Internal Loopback进行调试,eth_send发送数据正常,eth_rx接收数据时报错,提示“rx fifo error”,查看FIF……
[/Quote]

IP设置好的,MAC地址能读到
回复
alexwang81 2010-10-18
[Quote=引用 1 楼 houyu123 的回复:]

1. ping之前要设置ip地址
setenv ipaddr xxx.xxx.xxx.xxx
2. led不亮,你查下你的dm9000cep配置电路是否有问题,我以前遇到过,硬件电路上多焊了一个电阻,取 掉就亮了。
3. u-boot 1.3.4应该有dm9000cep的驱动,基本上不需要改动,就可以用的。

希望对你有帮助
[/Quote]

u-boot 1.3.4里dm9000与dm9000cep看数据手册有点小区别,片选1,CMD引脚接ADD2,宏定义如下
#ifdef CONFIG_DRIVER_DM9000
#define CONFIG_DM9000_BASE 0x08000000
#define DM9000_IO CONFIG_DM9000_BASE
#define DM9000_DATA (CONFIG_DM9000_BASE+4)
#define CONFIG_DM9000_USE_16BIT 1


另,DM9000X.C文件里查了,也没发现需要改动的地方。现在先不管LED,只要网卡能Ping通
回复
太阳德生 2010-10-16
[Quote=引用楼主 alexwang81 的回复:]
现用的2416核,在u-boot 1.3.4上移植dm9000cep驱动,网卡接片选1,现有问题是,能找到网卡ID,但始终ping不通,两个led均不亮。
将dm9000c的控制寄存器的LBK设为MAC Internal Loopback进行调试,eth_send发送数据正常,eth_rx接收数据时报错,提示“rx fifo error”,查看FIFO数据,收到一大堆,明显与发送的数据包不一致。……
[/Quote]得看一下你有没有把这些网络功能编译选项选中,先看看你的网卡能不能把MAC地址读出来,其次需要设置一下IP地址。
回复
houyu123 2010-10-16
1. ping之前要设置ip地址
setenv ipaddr xxx.xxx.xxx.xxx
2. led不亮,你查下你的dm9000cep配置电路是否有问题,我以前遇到过,硬件电路上多焊了一个电阻,取 掉就亮了。
3. u-boot 1.3.4应该有dm9000cep的驱动,基本上不需要改动,就可以用的。

希望对你有帮助

回复
相关推荐
发帖
驱动开发/核心开发
创建于2007-09-28

2.1w+

社区成员

硬件/嵌入开发 驱动开发/核心开发
申请成为版主
帖子事件
创建了帖子
2010-10-16 10:44
社区公告
暂无公告