Заменить сетевую карту Realtek R8168, чтобы включить Wake-On-Lan?
Я боролся с возможностью пробуждения по локальной сети (WoL) моего встроенного контроллера Ethernet Realtek RTL8111/8168B (MB: Gigabyte Z68AP-D3) уже почти неделю. Основная проблема, по-видимому, заключается в том, что сетевая карта полностью отключается во время выключения (т. Е. Светодиоды и канала, и (действующего) не светятся).
Я сделал обширный обзор подобных проблем и попробовал следующее (среди прочего):
- Ввод
ethtool -s eth0 wol g
вrc.local
файл. - Установка последних драйверов r8168 от Realtek.
- Ввод
echo -n "my_lan_id" >> /proc/acpi/wakeup
вrc.local
файл. - Включение и выключение опции WOL в BIOS.
Я не могу найти способ подготовить мой сетевой адаптер к работе должным образом, поэтому я решил попробовать с внешней сетевой картой PCI. Подскажите пожалуйста, какую сетевую карту мне следует попробовать включить WoL? (Может быть, Intel® PRO/1000 GT для настольных ПК?)
3 ответа
Светодиод не обязательно должен светиться, чтобы сетевая карта слушала WOL, это распространенное заблуждение. Это зависит от NIC. У меня есть ПК с Windows, на котором не горит индикатор LAN, хотя WOL работает на него. Кроме того, поиск подключенных устройств в i / f маршрутизатора может не показывать правдиво, если NIC прослушивает WOL или нет. У меня есть компьютер, который не виден в i / f маршрутизатора, когда он спит, но WOL работает. Так что, в общем, я не думаю, что есть какой-то хороший способ проверить, слушает ли NIC или полностью отключен.
Я разместил здесь свою проблему и исследование, это может быть та же проблема: Wake-on-LAN работал 3 раза, не более
Сейчас я подозреваю, что эта проблема возникает для пользователей RTL8111 с Ubuntu 12.04.
Существуют также разные версии RTL8111, которые знают, применимо ли это ко всем, и я не знаю, в чем различия между 8111C, 8168B, 8169 и т. Д., Они используют один и тот же драйвер в Linux. На сайте Realtek один и тот же драйвер используется для следующих сетевых карт:
RTL8111B / RTL8168B / RTL8111 / RTL8168 - RTL8111C/RTL8111CP/RTL8111D(L) - RTL8168C/RTL8111DP/RTL8111E - RTL8168E/RTL8111F/RTL8411
и другой драйвер для следующих сетевых карт:
RTL8110SC (L) (RTL8110S / RTL8110SB (L) / RTL8169SB (L) / RTL8169S (L) / RTL8169)
Не разрешается размещать больше ссылок..:-/
Если вы хотите купить другой сетевой адаптер, я предлагаю не Realtek, то есть любой чип Intel.
Обновление: я проверил еще несколько, чтобы понять, в чем проблема. Мои основные теории на данный момент таковы: система Ubuntu отключает питание сетевой карты в режиме ожидания и / или драйвер Realtek RTL8111 для 64-битных машин не работает. Смотрите ссылку на мою тему для деталей.
Кстати, я не получаю этот форум.. Я отправляю ответ, и другие обсуждают, хотя не разрешено?! И я могу изменить исходное сообщение, но не могу добавить комментарий!
Я нашел решение, оно работает на моей системе (RTL8111/8168B PCI Express Gigabit Ethernet + Ubuntu 12.04 AMD64). Этот отчет об ошибке раскрывает проблему, и кто-то предположил, что использование модуля r8168 вместо модуля r8169 поможет. Также где-то еще я видел, что это можно сделать с помощью dkms, но сегодня утром я спешу, поэтому у меня не было возможности посмотреть, это может помочь
wget http://r8168.googlecode.com/files/r8168-8.030.00.tar.bz2
tar xjf r8168-8.030.00.tar.bz2
cd r8168-8.030.00
./autorun.sh
Хотя я делал это через ssh, он на самом деле работал, соединение на некоторое время просто блокировалось, но снова установилось после установки нового модуля.
В дополнение к включению поддержки wake-on-lan в BIOS, мне пришлось внести еще одно изменение в BIOS.
В BIOS в разделе "Управление питанием" я отключил "Deep Sleep Control".
Это позволило NIC оставаться включенным и показывать индикатор связи даже при выключенном компьютере.