Wake-on-LAN работал 3 раза, не более
Обновление: мои основные теории на данный момент (подробности см. Ниже):
- Система Ubuntu отключает питание NIC в режиме ожидания?
- Драйвер Realtek RTL8111 для 64-битных машин не работает?
Кто-нибудь может подтвердить или опровергнуть?
Я установил Ubuntu 12.04 несколько дней назад и заставил работать Wake-on-lan, отправив пакеты Magic Packets с другого компьютера после перевода машины Ubuntu в режим ожидания через меню рабочего стола. Я сделал это 3 раза, и это работало прекрасно. Тогда внезапно это больше не работало! Как же это возможно?!
Я знаю, что потенциально 1000 вещей могут быть не правы, когда WOL не работает, но тот факт, что он работал 3 раза подряд, исключает большинство из них. Он работал 3 раза (с интервалом в несколько минут) и после этого никогда не работал. В течение 3-х раз, когда он работал, и в следующих 10 неудачных попытках единственной вещью, с которой я играл, был брандмауэр на ПК, который отправляет волшебные пакеты, и я вскоре выключил брандмауэр, чтобы устранить эту потенциальную проблему, а также проверил, что пакеты приходят через с wireshark (с машиной Ubuntu на тогда конечно). Я сделал полное обновление Ubuntu за несколько часов до начала тестов.
Большую часть времени я чувствую, что просто проверяю разные вещи вслепую. Например, есть ли способ проверить, что питание сетевого адаптера не отключено? И разве "отключение" "cat / proc / acpi / wakeup" не означает, что что-то не так?
Я знаю, что в WOL много потоков, но ни один из них не работает идеально в течение 10 минут, а затем перестает работать без причины. В нескольких потоках упоминаются проблемы с WOL после установки 12.04. Моя единственная оставшаяся идея сейчас - установить Ubuntu 10. Но это был бы просто тест, а не постоянное решение и очень трудоемкий тест. И я уверен, что RTL8111/RTL8168 не поддерживается должным образом на более старых Ubuntu s (с теми сетевыми картами с более старыми Ubuntu s были серьезные проблемы), что еще больше усложняет такой тест.
Вам нужно только прочитать текст выше, чтобы понять мою проблему. Но для более подробной информации, вот некоторые факты и тесты, которые я сделал:
- Я попытался добавить "pci=noacpi", "pci=noapic", "acpi=force" и "apm=on apm=power-off" в /etc/default/grub (и я проверил изменения в grab.cfg). По одному, конечно (перезагрузка после каждого).
- Я видел, что NIC был отключен в cat / proc / acpi / wakeup, включил его с помощью команды "echo -n LAN | sudo tee /proc/acpi/wakeup", и теперь LAN была включена в список
- Брандмауэры отключены
- ethtool показывает, что wol находится в состоянии "g" (я попытался установить его в "pumbag", а также в "d", затем "g").
- Это плата ASUS с Realtek RTL1111/R8168B (драйвер R8169 поставлялся с ядром, и он работал с этим драйвером 3 раза; в последнее время я перешел на драйвер R8168, который был непростым, но я не вижу никакой разницы, и люди кажутся отчет R8169 должен быть использован для всех в наше время).
- Я также попытался использовать wireshark на машине с Ubuntu, чтобы проверить, какие магические пакеты поступили на ПК.
- Пробовал сбрасывать CMOS RAM (как перемычкой, так и вынимая батарею на 5 минут).
- Индикатор NIC не горит, когда он находится в спящем режиме, но он также не горит на моем другом ПК, когда он находится в спящем режиме, и WOL работает для этого компьютера.
- Я попытался включить "Пробуждение при попадании пробела PS/2" в BIOS, запустил Ubuntu, выбрал "Standby" из меню, чтобы он перешел в режим ожидания, нажал пробел, и он запустился. Также работает после команды терминала pm-suspend и halt -p (хотя он выключается и полностью перезагружается), но не активируется после остановки команды. При останове ОС выключается, а HW остается включенным. По-прежнему игнорируя WOL во всех случаях.
- Когда в режиме ожидания мигает индикатор питания, вентиляторы и жесткий диск молчат, и это остается тем же после попыток WOL
- Программа, используемая для отправки магических пакетов: magicpacket(dot)free(dot)fr на другом (Windows) ПК
- Настройки для отправителя Magic Packet - маска подсети UDP-порта 80 255.255.255.255, и это те настройки, с которыми он работал, но я также пробовал порты 9, 7 и 0, TCp и маску 0.0.0.0. Дважды проверил MAC-адрес, но я ввел его с помощью функции копирования и вставки, и он работал с этими настройками 3 раза, как я уже упоминал.
- Я использовал Ubuntu только неделю (у меня был небольшой опыт работы с системами Linux и Unix с давних времен)
- Я не добавил "ethtool -s eth0 wol g" (или "echo -n LAN | sudo tee /proc/acpi/wakeup") в сценарии запуска, так как я считаю, что WOL должен работать ОДИН РАЗ, если эти настройки установлены правильно (сценарий необходимо, чтобы он работал после каждой перезагрузки) Материнская плата Asus AT5NM10T-I не имеет обновлений BIOS (это v0306). Попробовал большинство вещей на этих страницах: wiki.ubuntuusers.de/Wake_on_LAN - en.gentoo-wiki.com/wiki/ACPI/Fix_common_problems#Nothing_Works - wiki.xbmc.org/index.php?title=HOW-TO:Enable_Wake-On-Device_for_Ubuntu
Обновления:
- Да, я включил "Power on by PME" (События управления питанием PCI) в BIOS. Я также включил "Power on by Ring", так как кто-то предложил это на форуме, но я не могу поверить, что это влияет на WOL, но также не может повредить. Так как он работал 3 раза, это не проблема настроек BIOS.
- Я на самом деле пытался переустановить Ubuntu 12.04, и снова это работало 3 раза, после чего после того, как это не работает. (На самом деле на этот раз это сработало 1 раз, затем не сработало, затем сработало 2 раза подряд, потом больше никогда.) --- Некоторые подробности этого нового теста, которые, вероятно, не имеют значения: он не работал, пока я правильно включил Samba для обмена файлами между ПК в рабочей группе. 3 раза, когда он работал, мне не нужно было отправлять sudo ethtool -s eth0 wol g (sudo ethtool eth0 всегда сообщает, что он находится в режиме wol "g", так что, очевидно, мой сетевой адаптер запускается в этом режиме). И sudo cat /proc/acpi/wakeup теперь всегда показывает LAN как "включенный". На этот раз я использовал загруженный 12.04 без обновлений (рабочий стол Ubuntu сказал, что обновлений не было), позже (долгое время после того, как он перестал работать) он сказал, что было 136 обновлений, я установил их и перезагрузил, все еще не работал.
- Очевидно, этот сетевой адаптер был проблематичным для пользователей Linux в течение многих лет, но я думал, что с недавнего времени он работал правильно, с драйвером, который поставляется с ядром. Я думаю, это одна из самых распространенных сетевых карт.
Обновить:
- Я тестировал с Ubuntu 11.10. У него те же проблемы или версия: WOL работает примерно 1 из 4 раз. Не перестает работать внезапно, просто не работает каждый раз (далеко не все).
- Протестировано с Windows 7. Установлен драйвер Realtek. В настройках NIC (HW manager) установлен флажок "разрешать только волшебный пакет", и он работает безупречно, тестируется 5 раз подряд. Примечание: сначала я не удосужился установить драйверы для видео и аудио, а затем сработала только гибернация, но она отвечала на вызовы WOL безупречно. Установленный видео и аудио драйвер плюс "PC Probe II", который, похоже, как-то связан с драйвером ACPI. Сделал это после того, как я прочитал в Википедии по ACPI, что Windows может не разрешить режим ожидания (S3), если одно устройство в системе не поддерживает acpi.
- В спящем режиме (или в режиме гибернации) в Windows я все еще вижу это устройство в списке подключенных устройств маршрутизатора (но индикатор на сетевой карте не горит). (Как я уже говорил ранее, для другого ПК его нет в этом списке, хотя WOL работает, поэтому, очевидно, это не всегда так). Однако для этого ПК это может указывать на то, что сетевой адаптер не имеет питания, то есть проблема в том, что Ubuntu отключает питание сетевых адаптеров.
- Я забыл упомянуть, что мои машины все 64-битные. Нередко 32-битные драйверы работают, а 64-битные - нет. Таким образом, одно подозрение заключается в том, что 64-разрядный драйвер Realtek по-прежнему не работает должным образом в Linux с RTL8111 и т. Д. - я знаю, что были проблемы с этими сетевыми картами в течение многих лет, которые, как я читал, были решены сравнительно недавно, но может кто-нибудь подтвердить, что у них есть RTL8111/RTL8168&RTL8168B и т. Д. работа с WOL на 64-битной машине?
Итак, мои основные теории на данный момент:
- Система Ubuntu отключает питание NIC в режиме ожидания?
- Драйвер Realtek для 64-битных машин не работает?
1 ответ
У меня такая же проблема. Но на моей машине был установлен старый Suse и установлены окна. Когда я отключаюсь от этой ОС, WakeOnLan работает нормально. Но я хочу использовать Ubuntu 1204LTS 64bit. После выключения из Ubuntu компьютер не просыпается на WOL. Я проверил настройку с помощью ethtool. Но все было налажено.
Решение: Загрузите новейший драйвер с realtek и установите его. Это подходит для меня.
http://www.realtek.com/downloads/ Загрузить этот драйвер:
LINUX driver for kernel 2.6.x and 2.4.x (Support x86 and x64) 8.030.00 2012/5/14
Затем введите их в терминал:
cd ~/Downloads
tar -xvjf r8168-8.030.00.tar.bz2
cd r8168-8.030.00/
sudo ./autorun.sh
Это все.
Рольф