hyl 发表于 2022-4-12 11:17:09

docker版本双网口问题

本帖最后由 hyl 于 2022-4-12 11:22 编辑

按照飞凌提供的千M百M网口软硬件修改方案 修改,百Mphy使用yt8512 千Mphy使用yt8521s 按照软件方案修改后进入系统 ifconfig -a 查看识别到eth0但是ifconfig up eth0失败
dmesg日志
sunxi-gmac 1c50000.eth eth0: Power on is failed
[ 2114.115221] libphy: 1c50000.eth: probed
[ 2114.115589] sunxi-gmac 1c50000.eth eth0: PHYIC: eth0: Type(6) PHY ID 0000011a at 2 IRQ poll (1c50000.eth-0:02)
[ 2114.126164] sunxi-gmac 1c50000.eth eth0: Initialize hardware error

使用的sdk是docker版本
识别到的eth0应该是千M网口 百M无法识别 是否需要自己移植yt提供的驱动?
或者是docker版本的sdk问题?

Forlinx-Niuzc 发表于 2022-4-12 13:40:18

正常应该是eth0为百兆网口,eth1为千兆网口,目前我们最新发布的linux资料中有双网口应用笔记,您可以参考一下。yt8521s 的千兆网卡芯片我们是有提供驱动的,yt8512百兆网卡芯片您看看通用phy驱动能不能直接用
您这个eth0识别成百兆应该是设计的有问题,您在检查一下原理吧

hyl 发表于 2022-4-12 15:19:18

通用phy驱动是指哪些,需要打开哪些内核编译选项呢

hyl 发表于 2022-4-12 16:00:49

zhichao 发表于 2022-4-12 13:40
正常应该是eth0为百兆网口,eth1为千兆网口,目前我们最新发布的linux资料中有双网口应用笔记,您可以参考 ...

[    0.782831] sun4i-mdio 1c0b080.mdio: no regulator found
[    0.783099] libphy: sun4i_mii_bus: probed
[    0.787513] sun8iw11p1-pinctrl 1c20800.pinctrl: pin PH16 already requested by 1c2c400.smartcard; cannot claim for 1c0b000.eth
[    0.787532] sun8iw11p1-pinctrl 1c20800.pinctrl: pin-240 (1c0b000.eth) status -22
[    0.787544] sun8iw11p1-pinctrl 1c20800.pinctrl: could not request pin 240 on device 1c20800.pinctrl
[    0.787554] sun4i-emac 1c0b000.eth: Error applying setting, reverse things back
[    0.787770] sun4i-emac 1c0b000.eth: not found (-16).
[    0.787803] sun4i-emac: probe of 1c0b000.eth failed with error -16

dmesg显示PH16被占用,是被其他驱动占用了吗

Alright 发表于 2022-4-12 16:18:18

hyl 发表于 2022-4-12 15:19
通用phy驱动是指哪些,需要打开哪些内核编译选项呢

通用phy驱动指的是Linux开源社区的phy驱动,通用phy驱动默认是编译进内核的

Forlinx-Niuzc 发表于 2022-4-12 16:19:15

您先看看我们的双网口修改方案,您这个引脚复用是有问题的,PH16应该在别的地方使用了,所以会冲突
目前我们的网卡驱动都是通用phy驱动,只做了微调,比如网口灯做了修改

Alright 发表于 2022-4-12 16:21:37

hyl 发表于 2022-4-12 16:00
[    0.782831] sun4i-mdio 1c0b080.mdio: no regulator found
[    0.783099] libphy: sun4i_mii_bus:...

您可以看一下fex文件,PH16脚已经被sim卡使用,所以您需要把sim卡的PH16使用其他引脚代替
然后把PH16再用到phy芯片上

hyl 发表于 2022-4-12 17:40:06

zhichao 发表于 2022-4-12 16:19
您先看看我们的双网口修改方案,您这个引脚复用是有问题的,PH16应该在别的地方使用了,所以会冲突
目前我 ...

已经按照新的双网卡方案去修改软件了 千M网口可以正常工作了 但是百M网口使用yt8512还是不行,那个PH16问题已经修改了 dmesg报错
[    0.783500] sun4i-mdio 1c0b080.mdio: no regulator found
[    0.783794] libphy: sun4i_mii_bus: probed
[    0.789931] sun4i-emac 1c0b000.eth: not found (-16).
[    0.790065] sun4i-emac: probe of 1c0b000.eth failed with error -16
[    0.790846] WARNING: Get ephy clock is failed

Forlinx-Niuzc 发表于 2022-4-12 17:55:41

您检查引脚了吗,改之前在触摸和显示用到的3个引脚是怎么处理的,量一下引脚波形,看看时钟有波形吗

hyl 发表于 2022-4-12 18:11:40

zhichao 发表于 2022-4-12 17:55
您检查引脚了吗,改之前在触摸和显示用到的3个引脚是怎么处理的,量一下引脚波形,看看时钟有波形吗

好的,修改被占用的引脚后识别出来了,非常感谢,还有一个问题
yt8521的千M口ifconfig up的时候会打印一个错误,不知何原因
root@FORLINX:~# ifconfig eth1 down
root@FORLINX:~# ifconfig eth1 up
sunxi-gmac 1c50000.eth eth1: Power on is failed
root@FORLINX:~# dmesg |grep gmac
[    9.345533] sunxi-gmac 1c50000.eth eth1: Power on is failed
[    9.363474] sunxi-gmac 1c50000.eth eth1: yt8521_config_init done, phy addr: 2, strap mode = 0, polling mode = 2
[    9.363493] sunxi-gmac 1c50000.eth eth1: eth1: Type(6) PHY ID 0000011a at 2 IRQ poll (1c50000.eth-0:02)
[   11.360394] sunxi-gmac 1c50000.eth eth1: yt8521_read_status, phy addr: 2, link down
[   13.360362] sunxi-gmac 1c50000.eth eth1: yt8521_read_status, phy addr: 2, link up, media: UTP, mii reg 0x11 = 0xbc40
页: [1] 2 3
查看完整版本: docker版本双网口问题