Я запускаю встроенный linux на OMAP ARM (OMAP-L138). Контроллер ethernet подключается к внешнему чипу PHY. Все работает нормально, за исключением некоторых обстоятельств, я хотел бы сэкономить энергию и мощность PHY (но не приостановить всю систему).Выключение ethernet PHY
Я знаю, что Linux может легко приостановить работу PHY, так как когда я поставил всю систему в состояние приостановки в состояние разгона, PHY действительно отключается.
Тем не менее, я хочу, чтобы это можно было сделать, чтобы включить и выключить PHY через приложение для пользовательского пространства, включив и выключив его по своему желанию.
Как это достичь? Я довольно новичок в Linux, и я могу писать приложения для пользователей в C, чтобы открывать драйверы устройств и получать к ним доступ.
PHY подключен через интерфейс MII, но я не вижу mii под/dev /? (то есть для доступа к драйверу i2c, я делал fd = open («/ dev/i2c-0», O_RDWR);) Где хранится mii драйвер? Как я могу получить к нему доступ? Если бы только я мог читать и записывать несколько регистров на чип PHY через драйвер mii, то я думаю, что это было бы легко достижимо.
Спасибо.
У меня нет конкретного ответа для вас, но ethtool может делать то, что вы хотите (хотя я не могу найти подходящий вариант.) Насколько я знаю, это зависит от драйвера устройства, отключается ли он в режиме ожидания -в-ОЗУ. Вам может повезти и найти, что есть ioctl, чтобы делать то, что вы хотите, но опять же, это зависит от драйвера устройства. –