使用 mdio-tool 访问 MDIO 寄存器
mdio-tool 是一个用于操作 MDIO 总线 的工具,可以直接读取和写入 LAN8670 的 MDIO 寄存器。2.1 列出 MDIO 设备
bash
复制
编辑
mdio-tool list
示例输出:
yaml
复制
编辑
MDIO bus 0:
Device 0: LAN8670
Device 1: LAN8670
如果没有列出设备:
确保 USB 转 MDIO 桥接驱动已正确安装
检查 dmesg 是否有错误信息
2.2 读取寄存器
读取 LAN8670 的 基本状态寄存器:
bash
复制
编辑
mdio-tool read 0 0x01
示例输出:
复制
编辑
0x786D
如果返回 0xFFFF,说明可能 MDIO 设备未响应,需要检查硬件连接或驱动。
2.3 写入寄存器
写入 基本控制寄存器 以 复位 PHY:
bash
复制
编辑
mdio-tool write 0 0x00 0x8000
写入成功后,可以再次读取 0x00 确保复位生效:
bash
复制
编辑
mdio-tool read 0 0x00
如果值仍然是 0x8000,可能复位没有完成,稍等几秒再读取。
这个是在Linux系统下使用的小工具 说明设备未响应,常见原因包括:
设备地址错误(尝试换 Device 1 等)
接线错误或未供电
CLK 信号质量不佳,或 IO 时序不符
使用 mdio-tool 访问 MDIO 寄存器,需先确认 PHY 地址与 MDIO 总线控制器。命令格式通常为:mdio-tool -r <phy_addr> <reg_addr>(读)或 -w <phy_addr> <reg_addr> <value>(写)。需确保内核支持 MDIO 驱动,权限足够。可查询 PHY 标识、配置网络参数,常用于调试以太网物理层芯片。
页:
[1]