主题中讨论的其他器件: DP83869、 AM5728
您好!
我是 Michal、我对相关问题的工作感到满意("+询问相关问题"不起作用、显示了高阻力页面)、因此我在那里提出了这个问题。
我继续处理原始问题。 目标是使 LAN7801+DP83869HM 网卡在 GNU/Linux 下工作。 我们将光纤电缆与 SFP 模块配合使用。
软件环境:
Linux:
Linux CON-RPI 5.6.19-v7+#10 SMP Thu Jul 23 079:40:03 CEST 2020 armv7l GNU/Linux、commit 8b69e4465cafcafcc9fee715ed4f877e12b696fdd9c、repository github.com/.../linux.git
设备树:
兼容="raspberrypi、3-compute 模块\0brcm、BCM2837";
序列号="000000002ace7356";
型号="Raspberry Pi 计算模块3 Plus 版本1.0";
DP83869HM 驱动器:
/drivers/net/phy/dp83869.c
LAN7801驱动程序:
/drivers/net/usb/lan78xx.c
我修改了驱动程序以添加:
*登录内核环形缓冲区
* LAN7801寄存器转储
* DP83869HM 寄存器转储
* MDIO 通信转储
我附加所有转储和驱动程序修改:
/cfs-file/__key/communityserver-discussions-components-files/138/2248.dp83869.c.diff
/cfs-file/__key/communityserver-discussions-components-files/138/4774.lan78xx.c.diff
/cfs-file/__key/communityserver-discussions-components-files/138/mac_5F00_regs_5F00_mdio.txt
/cfs-file/__key/communityserver-discussions-components-files/138/phy_5F00_regs.txt
请注意、MDIO 流量会更改多个 PHY 寄存器。
症状:
在 Linux 下、没有 IP 分配给使用 LAN7801+DP83869HM 网卡的网络接口。 MAC 和 PHY 驱动程序已加载、两个 IC 的寄存器均可见。
$ dmesg
[1371.983533] libphy:lan78xx-mdiobus:探测
[1371.983548] lan78xx 1-1.4:1.0 (未命名的 net_device)(未初始化):话术期间64
[1371.983554] lan78xx_phy_init
[1371.983559] lan7801_phy_init
[1371.983567]检测到 lan7801_phy_init 外部 PHY
[1371.98352] lan78xx_phy_init dt 节点00000000
[1371.983582] dp83869_phy_reset
[1371.984074] dp83869_config_init
[1371.984079] dp83869_configure_mode
[1371.986966] dp83869_config_port_mirroring
[1372.115212] dp83869_config_init
[1372.115217] dp83869_configure_mode
[1372.118055] dp83869_config_port_mirroring
[1372.245358] dp83869_ack_interrupt
[1372.245774] lan78xx_mdiobus_read: *(0x0013、interrupt_status )= 0x0000
[1372.245781] dp83869_ack_interrupt:interrupt_status (0x0013)= 0x0000
[1372.249429] lan78xx_print_regs
[1372.286096] lan78xx_probe:DT 节点43826fd4
[1372.286104] lan78xx_probe:DT 节点名称:USB-port@10.
[1372.286286] usbcore:注册的新接口驱动程序 lan78xx
[1372.380716] 8021q:在设备 eth1上添加 VLAN 0至 HW 滤波器
$ IP A
(笑声)
8:ETH1: MTU 1500 qdisc pfifo_fast 状态下行组默认为 qlen 1000
链接/以太网00:80:0f:78:03:CD 返修:ff:ff:ff:ff:ff:ff
(笑声)
工作进度:
1) 1)修改的驱动程序
2)分析了 Linux 下的寄存器和 PHY 设置(MAC 和 PHY 之间连接的 MDIO 总线)
3) 3)分析了具有工作网卡的 Windows MAC 寄存器(MDIO 总线断开连接)
4) 4)从 Windows 复制到 Linux 的 MAC 寄存器设置
结论:
1) 1) MAC 似乎没有从 PHY 接收 IRQ。
2) 2) PHY 似乎没有满足生成 IRQ 的条件。
问题:
1) 1)您建议接下来做什么来实现目标?
此致、
Michal Risa
