搜索
bottom↓
回复: 12

【请教】AM1808 RMII驱动LAN8720A时有时能连上nfs,有时不能

[复制链接]

出0入0汤圆

发表于 2012-4-19 14:59:58 | 显示全部楼层 |阅读模式
我做了AM1808+LAN8720A的系统。
在用nfs调试系统是时候发现:
1,u-boot启动后,有时tftp连不上,这是用ping测,结果ping不同,往往复位一下,重新启动就好了。
2,启动u-boot后,下载内核,启动内核,连接server上nfs系统,结果同样出现有时连不上nfs,这是复位系统重新启动启动就好了,有时要重新启动几次。
成功和不成功的概率为50%对50%。
我认为nfs应该没问题,否则就不可能启动 成功。有人说问题出在对8720的复位上。
可我用万用表测了8720的复位脚,也没发现成功时和不成功,该脚的信号有什么不同。
我想会不会是硬件的其他问题,例如不稳定,结果连上nfs后,我在板子上ping 192.168.xx.xx -s 65000,结果ping 500次左右都没有丢包,而且用时也差别不大。

请高手帮忙看看。
谢谢。

*************************************
下面是不能启动的报错节选:
.....
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:53 UTC (946684853)
usb 2-1: new full speed USB device using ohci and address 2
usb 2-1: not running at top speed; connect to a high speed hub
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 4 ports detected
davinci_mdio davinci_mdio.0: resetting idled controller
net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=0:00, id=7c0f1)
usb 2-1.1: new full speed USB device using ohci and address 3
IP-Config: Complete:
     device=eth0, addr=192.168.20.213, mask=255.255.255.0, gw=192.168.20.254,
     host=192.168.20.213, domain=, nis-domain=(none),
     bootserver=192.168.20.222, rootserver=192.168.20.222, rootpath=
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
Backtrace:
[<c00349b4>] (dump_backtrace+0x0/0x110) from [<c0395c34>] (dump_stack+0x18/0x1c)
r6:00008000 r5:00000000 r4:c04dfab8 r3:c7828010
[<c0395c1c>] (dump_stack+0x0/0x1c) from [<c0395d10>] (panic+0x74/0x198)
[<c0395c9c>] (panic+0x0/0x198) from [<c0008ea0>] (mount_block_root+0x1c4/0x204)
r3:00000030 r2:00000000 r1:c7829f58 r0:c04492d5
r7:c0027e34
[<c0008cdc>] (mount_block_root+0x0/0x204) from [<c0009084>] (mount_root+0xac/0xd0)
r8:00000000 r7:00000013 r6:c00496c4 r5:c0027e49 r4:00200000
[<c0008fd8>] (mount_root+0x0/0xd0) from [<c0009218>] (prepare_namespace+0x170/0x1c4)
r4:c04df544
[<c00090a8>] (prepare_namespace+0x0/0x1c4) from [<c0008a94>] (kernel_init+0x114/0x14c)
r5:c0008980 r4:c04df4e0
[<c0008980>] (kernel_init+0x0/0x14c) from [<c00496c4>] (do_exit+0x0/0x6c4)
r4:00000000 r3:00000000

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

 楼主| 发表于 2012-4-20 15:10:15 | 显示全部楼层
没人碰到这个问题吗?
今天做了如下实验,帮忙看看能不能看出端由。谢谢。
实验1:用单独的路由器,只连我的电脑和板子,ip地址在bootargs中固定,结果如下:
uboot失败3次,连nfs成功11次,连nfs失败10次。
实验2:我用公司的局域网,bootargs设定ip=dhcp,结果每次都连接nfs成功。
实验3:用公司局域网,静态设置ip地址,结果:1次u-boot连接网络失败,14次连接nfs成功,10次失败。
实验4:u-boot下ping自己,不能成功,ping ubuntu可以,但也不是100%
实验5:用网线直连电脑和板子,tftp下载uimage正常,在连接nfs的时候,网络连接显示断了,同时提示连接nfs失败。不知道这样是不是正常的。

出0入0汤圆

 楼主| 发表于 2012-4-27 14:45:33 | 显示全部楼层
今天发现,8720 auto negotiate不能完成。
我在gen_auto_negotiate函数里面加了注释,结果发现:每次restart auto negotiate后,检测status register,发现auto negotitate complete这个位一直都是0,我把等待时间加长了也不行。
有人能帮忙指点吗?

出0入20汤圆

发表于 2012-4-27 17:31:58 | 显示全部楼层
不知道你买的是哪家的板子,最大的可能是信号不稳定。
你用示波器看看波形怎么样,有没有过冲的厉害,或者波形不对。
那个AM1808 TI本身的BUG也有,我们一直测试了半年,做了三个版本呢,但还没有对外公开发售。

出0入0汤圆

 楼主| 发表于 2012-4-28 08:27:05 | 显示全部楼层
wenming 发表于 2012-4-27 17:31
不知道你买的是哪家的板子,最大的可能是信号不稳定。
你用示波器看看波形怎么样,有没有过冲的厉害,或者 ...

老王,你好。
用的是mcuzone的。
你也碰到过一样的问题吗?
你说的是哪个信号?
与SMSC的工程师联系过,读register 1的值为0x7809是不对,应该是0x782d。所以应该是auto negotiate失败了,显示link down。
说要查差分线和49.9的电阻。但我觉得没问题啊,走线也还可以,没有过孔。

你们的什么时候上市啊?

出0入0汤圆

发表于 2012-4-28 08:32:11 | 显示全部楼层
手上有mcuzone的板子,PHY貌似是8710的。

出0入0汤圆

 楼主| 发表于 2012-4-28 08:48:09 | 显示全部楼层
aozima 发表于 2012-4-28 08:32
手上有mcuzone的板子,PHY貌似是8710的。

他的板子是8710的。我这个是自己做的板子,用的是rmii 8720,用的是他的核心板。
因为要释放一个串口和其他的接口。

出0入0汤圆

发表于 2012-4-28 09:13:23 | 显示全部楼层
仔细检查8720的电路图,可以参考官方的 AM1808_OMAP-L138_UI_Board 上面的RMII 8720

出0入0汤圆

 楼主| 发表于 2012-4-28 09:25:38 | 显示全部楼层
aozima 发表于 2012-4-28 09:13
仔细检查8720的电路图,可以参考官方的 AM1808_OMAP-L138_UI_Board 上面的RMII 8720

看了啊,没有问题啊。
和SMSC的工程师也联系过。

出0入0汤圆

 楼主| 发表于 2012-4-28 12:45:52 | 显示全部楼层
我又做了实验,感觉是auto negotiate没能成功,我自己在emac的初始化函数中加了auto_negotiate函数,结果可以了。每次读到的register1的值为0x782d。
但是为什么会auto negotiate不成功呢?无法解释。我的硬件上已经把mode设置为111:all capable, include auto negotiate啊。
很奇怪。

出0入0汤圆

发表于 2013-5-19 20:15:18 | 显示全部楼层
你好,我现在也在弄am1808的东西,方便的话加个qq601609307 大家一块弄

出0入0汤圆

发表于 2013-5-19 20:17:11 | 显示全部楼层
demoxiedemoxie 发表于 2012-4-28 12:45
我又做了实验,感觉是auto negotiate没能成功,我自己在emac的初始化函数中加了auto_negotiate函数,结果可 ...

你好,我现在也在弄am1808的东西,方便的话加个qq601609307 大家一块弄

出0入0汤圆

发表于 2013-5-20 06:07:59 来自手机 | 显示全部楼层
程序中有没有正确处理rst信号?我在用lan8700时,遇到类似问题。也是用核心板+自己做的底板的形式。结果nrst连线与官方不同,直接用官方代码总是连不上。

看手册支持软复位,也可以在初始化时试下。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 04:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表