t113-s3 + sr8201,网口部分抄的jlc上开源的的板子。总共做了5块,4块网络正常,就1块网络总是连不同。
一开始是网口灯都不亮,后来发现25M晶振有个管脚和外壳GND连了。重新焊接晶振后,有25M晶振波形了,网口link灯能闪烁。
但是如果执行udhcpc,则报错:
sunxi-gmac 4500000.eth eth0: Initialize hardware error
然后linkled灯就停止闪烁了。
以为是sr8201坏了,然后手头也没多余的8201了,就和另一块位网络正常的板子,对掉了sr8201。
结果对掉后,原来网络正常的板子,网络还是正常。
而这块有问题的板子,执行udhcpc后,不再报哪个错误了,linkled灯也始终保持闪烁。但是就是获取不了ip。
root@TinaLinux:/# udhcpc
udhcpc: started, v1.27.2
[ 502.500278] libphy: 4500000.eth: probed
[ 502.504630] sunxi-gmac 4500000.eth eth0: eth0: Type(7) PHY ID 001cc816 at 0 IRQ poll (4500000.eth-0:00)
udhcpc: sending discover
udhcpc: sending discover
[ 506.766651] sunxi-gmac 4500000.eth eth0: Link is Up - 100Mbps/Full - flow control off
[ 506.775419] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
udhcpc: sending discover
依照群友的建议,用ifconfig直接设置ip,然后和pc互ping,pc找不到arm板,arm板也ping连接不上。
8201的1脚RSET管脚应该接2.49K电阻,手头没有,之前是并联了4.7K和5.1K,算了下大约2.45K。怀疑是这个电阻阻值的问题,直接并联了4个10K电阻,应该是2.5K左右了。但问题依旧。
测量了1.0V输出,有1.1V左右电压。也是正常的。
可能的原因:
1, sr8201焊接问题,但是吹下来过三次了... 不过还是这个问题最大,因为对掉过一次8201后,不再出现“Initialize hardware error”这个错误了。
2, sr8201坏了?对掉过一次8201,以为有问题的8201焊接换到其他板子上能正常工作联网。
3, t113-s3 坏了?
4, 晶振坏了?目前测试有25M波形。
5, 网络端口坏了?用的是HR913129AE,看到的例子是911105A,不过库房里有这个就用了,其他还有两块也是用的这个型号,网络正常。 而且查拔网线有link is down或link is up提示。
6, 周边阻容虚焊?在不通电的情况下测试了周围的电阻组织,主要是4.7K和1.5K,都正常,2.5K也近似。而且,也手动重新焊了一边阻容两端。
最近编辑记录 Gentlepig (2023-08-22 15:47:43)
离线
中间打了过孔吗?
离线
中间打了过孔吗?
我去,回复真快啊。以前发个帖子上午发帖下午才审核通过...
打孔指的是t113和sr8201的gnd焊盘吗?
t113-s3在底部打了个很大直径的过孔,焊接时灌锡。8201这里是在底部gnd焊盘上打了9个0.3mm直径的过孔。吹下来8201时测量过,这个焊盘和底部gnd是通的。
离线
@Gentlepig
board.dts 里面可以改一下 phy 的 tx 和 rx 参数,改大或者改小试一试。
离线
查查MDIO和MDC, init error是这两没通信正常
离线
@Gentlepig
board.dts 里面可以改一下 phy 的 tx 和 rx 参数,改大或者改小试一试。
是修改phy收发管脚的驱动能力吗?问题是其他四块板正常。
离线
查查MDIO和MDC, init error是这两没通信正常
对换sr8201后,没有这个init hardware error了,但是仍无法获取ip。
离线
汇报下今天的进展。
感谢坑网群里的吴师、周师两位群友,给了我很多指导。
在次把吴师在群里的部分回复汇总下。
1. 可以看到灯亮! tx, rx , 25M 不用看;
2. 可以抓到芯片 mdc, mdio 不用看;
3. 所以只要看 rmii 的 txd, rxd, txen , rxdv , clk;
工作正常! mdc, mdio 可以读寄存器, rst 不用看;
1. pc 和 版子 都设置固定 ip;
2. 使用 版子来 ping pc 的 ip , 此时在 pc 端,打 arp;
3. 再反向,pc 去 ping 版子,板子打 arp ,看看有没有 pc 的 mac 地址
若是有一边有! 一边没有,那就只要解决 tx 或 rx 即可;
例如! pc 看不到版子的 mac , 但是板子可以看到 pc 的!
这样就是 rx 是正常的! 只要解决 tx 的就行!
经测试,pc ping arm板,arm板可看到pc地址,反之不行。结论,arm板rmii发送有问题,集中在了txd0、txd1、txen三条线上。
用示波器测量,发现txd0、txd1上有波形,txen一直低电平。所以是txen有问题,可能和想临的焊盘短路了。暂时还未确定是哪个位置。
离线
@Gentlepig
条理清楚,分析有理有据!
离线