使用ethtool ioctls读取PHY MII寄存器

时间:2014-03-12 06:40:14

标签: linux-device-driver ioctl

我熟悉mii-tool IOCTL调用,可用于访问PHY设备的MII寄存器,如下所示:

static int mdio_read(int skfd, int location){
 struct mii_data *mii = (struct mii_data *)&ifr.ifr_data;
  mii->reg_num = location;
  if (ioctl(skfd, SIOCGMIIREG, &ifr) < 0) {
      fprintf(stderr, "SIOCGMIIREG on %s failed: %s\n", ifr.ifr_name,
              strerror(errno));
      return -1;
  }
  return mii->out_value;
}

但我使用的linux kenel是2.6.32,它似乎不支持mii-tool IOCTL,而是支持更新的ethtool,但我似乎没有找到任何ethtool子命令,它可以服务于与上面相同的目的。

我如何使用ETHTOOL IOCTL做与mii-tool ioctls相同的操作,即读取phy的MII寄存器?或者我完全不能这样做?

0 个答案:

没有答案