可以用一下两种方法来获取 Linux 中的以太网 PHY 寄存器数据
方法 1: 使用ETHTOOL
如果 ethtool 在内核中不可用,则通过配置用户空间package,增加ethtool工具并重新编译;
安装该工具后,使用以下命令配置和显示以太网接口参数的
ethtool [option] devname
ethtool -s eth0 speed 100 duplex full autoneg off
方法 2: 使用MDIOTOOL
如果 Ethtool 不起作用,也则可以使用构建的 mdio-tool 单独读取数据表中的寄存器。 mdio-tool的安装、编译和使用说明如下:
1. 访问 https://github.com/PieVo/mdio-tool
2. 创建一个目录来放置这些文件
3. 检查ubuntu平台是否有arm-linux-gnueabihf-gcc:
sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
4. 运行命令
arm-linux-gnueabihf-gcc mdio-tool.c -o mdio-tool
安装该工具后,使用以下命令读取/写入内部 PHY 寄存器
mdio-tool [r/w] [devname] [addr]
./mdio-tool w eth0 0x10 0x0
./mdio-tool r eth0 0x0
|