[学习资料] 如何在 Linux 上调试 LAN8670 的 MDIO 通信?

[复制链接]
 楼主| 根特皇宫w 发表于 2025-3-24 20:20 | 显示全部楼层 |阅读模式
在 Linux 上调试 LAN8670 的 MDIO(Management Data Input/Output) 通信时,可以结合 dmesg、lsusb、mdio-tool 以及 Wireshark 来排查问题。以下是具体的调试步骤:

1. 检查设备是否正确连接
首先,确保 EVB-LAN8670-USB 设备已正确连接到 Linux 系统,并且被识别。

1.1 使用 dmesg 查看设备日志
dmesg 可以查看内核检测到的 USB 设备:

bash
复制
编辑
dmesg | grep -i lan8670
示例输出:

yaml
复制
编辑
[ 1234.567890] usb 3-2: New USB device found, idVendor=0424, idProduct=2740, bcdDevice=1.00
[ 1234.567900] usb 3-2: LAN8670 MDIO bridge initialized
如果没有看到相关日志,可能是:

设备未正确连接

USB 端口或线缆问题

需要加载驱动

1.2 使用 lsusb 检查 USB 设备
bash
复制
编辑
lsusb | grep 0424
示例输出:

yaml
复制
编辑
Bus 003 Device 005: ID 0424:2740 Microchip Technology, Inc. LAN8670 MDIO Bridge
0424:2740 是 Microchip LAN8670 设备的 USB Vendor ID & Product ID。

如果没有列出设备,尝试重新插拔 USB 连接,或者检查 dmesg 是否有错误日志。

xuanhuanzi 发表于 2025-3-25 10:48 | 显示全部楼层
这个调试经验蛮好,了解一下。
kzlzqi 发表于 2025-4-25 18:00 | 显示全部楼层
dmesg 命令显示内核检测到的所有硬件设备及其日志信息。如果设备没有正确连接或没有被识别,这里会有相关的错误信息。
作业天敌在此 发表于 2025-4-26 22:11 | 显示全部楼层
确保设备正确连接是调试的第一步,如果 `dmesg` 和 `lsusb` 都没有显示设备信息,可能需要检查硬件连接或驱动加载情况。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

147

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部