之前发过一个帖子 https://v2ex.com/t/689773
本来怀疑 flash 存储器有问题,后来由于它自动恢复了,我就怀疑现场干扰。
可是昨天问题有出现了,并且断电放了一夜也没有恢复。
现象就是 ifconfig 没有 eth0 接口,dmsg | grep eth0 显示gmac0 gmac0: eth0: no PHY found
我查了下,这个错误表示物理层坏了,要么是物理硬件真的坏了,要么是驱动没加载。
硬件坏的可能性基本排除,一是之前就能恢复过,二是开机时网口灯会亮一下。
所以只有可能是驱动没加载,所以我又怀疑 flash 存储器了
1
reus 2020-07-21 09:41:39 +08:00 via Android 1
我觉得你的逻辑有问题,之前“恢复”,现在就不能坏?
驱动没加载,那 dmesg 那行就不会出现。 flash 有没有问题,全盘扫一下就知道。 网口工作不正常的一个可能原因是供电不足。 不存在什么放了一夜自动恢复这种事,你上次的帖子,显然是刚好没有用到坏块,让你误以为恢复了。 |
2
koebehshian OP @reus 供电不足可以排除,用的官方的适配器,而且现在把其他外设全拔了。所以只有可能是存储器有坏块,我原先以为文件系统会自动检测跳过不使用坏块
|
3
reus 2020-07-21 10:00:59 +08:00 via Android
@koebehshian 文件系统没有这个功能,是 flash 驱动提供的,但也不是每个驱动都有。按照你设备的型号搜一下坏块怎样检测和处理吧。
|
4
koebehshian OP 设备型号是核心板的型号,还是 flash 的型号?
|
5
jworg 2020-07-21 10:39:44 +08:00
说实话,你这 ubuntu mate 从哪来的,镜像里是单独的文件系统,还是包含设备树和内核。核心板是哪块,先用原厂的包含内核设备树与文件系统的镜像试下硬件是不是好的,然后看看启动打印是不是中途检测到坏块。这个现象很像 kernel 或者 设备树 里面一些东西时钟或者什么别的没配好。
|
6
jworg 2020-07-21 10:49:34 +08:00 1
另外如果是 kernel 或者 dtb 或者 uboot 配置问题的话,和文件系统是无关的,因为这三者在现在的大多数 arm 开发板上面都是直接烧写到固定地址的,你可以试试 uboot 下是否能正常配通网络,网上这个搜搜就有了
|
7
koebehshian OP @jworg 用的是全志开发板,默认里面是安卓系统,用客服给的 phoenixsuit 的软件,刷了 sun8iw6p1_ubuntu16_mate_uart0_bv2_hdmi20p.img 镜像
|
8
jworg 2020-07-21 11:56:10 +08:00 via iPhone
@koebehshian 哈哈,没猜错,果然是全志的,天坑。给你指个路,whycan.cn 里去问吧,说不定里面有人用过。我自己一年多没调过板子了,忘的差不多了,帮不了你。当时用的 w7p1,官方 bsp 里还出现过 dts 里网口配置的地址和 datesheet 里不一样。还有一点可以给你透露,用这个软件刷入的话,说明用的是全志自己的闭源 flash 的驱动,用的自己的地址映射,坏块管理也是有的。
|
9
villivateur 2020-07-21 12:03:10 +08:00 via Android
我猜是 phy 芯片坏了
|
10
nealwx 2020-07-21 12:26:45 +08:00 via iPhone
楼上多的对,你在 uboot 里面看一下网口能否通。uboot 如果是在开头的话,那部分是保证读写的。你现在的信息给我的感觉是 phy 挂了
|
12
koebehshian OP @villivateur 启动时网口灯亮了一下,所以我觉得硬件应该没坏
|
13
villivateur 2020-07-21 13:52:44 +08:00 via Android
@koebehshian 网口灯亮不代表芯片没坏啊
|
14
qhw2012 2020-10-15 09:35:47 +08:00
小白吧,拿个固件就刷?驱动配置没?设备树里的配置 PHY 的信号管脚啊,嵌入式都跟硬件联线有关
|