【发布时间】:2011-02-04 05:19:45
【问题描述】:
我在 OMAP ARM (OMAP-L138) 上运行嵌入式 linux。其上的以太网控制器连接到外部 PHY 芯片。一切正常,除了在某些情况下,我想节省电源并关闭 PHY(但不暂停整个系统)。
我知道 Linux 可以轻松挂起 PHY,因为当我将整个系统置于挂起状态时,PHY 确实会掉电。
但是,我想做的是通过用户空间应用程序打开和关闭 PHY,按照我的意愿打开和关闭它。
我如何实现这一目标?我是 linux 的新手,我可以用 C 编写用户空间应用程序来打开设备驱动程序并访问它们。
PHY 通过 MII 接口连接,但我在 /dev/ 下没有看到 mii? (即为了访问 i2c 驱动程序,我一直在做 fd = open("/dev/i2c-0", O_RDWR);) mii 驱动程序保存在哪里?我怎样才能访问它?如果我能通过mii驱动读写几个寄存器到PHY芯片,我想应该很容易实现。
谢谢。
【问题讨论】:
-
我没有具体的答案,但 ethtool 可能会做你想做的事(虽然我找不到合适的选项。)据我所知,这取决于设备驱动程序是否它在暂停到 RAM 中断电。你可能会很幸运,发现有一个 ioctl 可以做你想做的事,但同样,这取决于设备驱动程序。
标签: embedded-linux