суббота, 6 августа 2011 г.

Как я "убил" 6 августа 2011

После того как я настроил WOL на домашнем компе (см. предыдущий пост) возникла идея посылать magick packet не из локальной сети, а откуда-то извне, из-за роутера D-Link Dir-300. Но на родной прошивке этого замечательного роутера отсутствует возможность сделать port forwarding на широковещательный адрес. Видимо это зашито где-то в самой прошивке, т.к. через web-интерфейс и маленький javascript-хак можно сохранить правило для перенаправления порта на 192.168.0.255, но оно не срабатывает (http://www.linux.org.ru/forum/admin/5091563).

Перепрошил роутер прошавкой dd-wrt (http://www.dd-wrt.com/site/support/router-database). Появилась возможность зайти на роутер по ssh и послать magick packet на широковещательный адрес для пробуждения компьютера. И все бы хорошо, только отвалился iptv по wi-fi.

На прошивке dir300b_v2.05_abnj.bin (ftp://dlink.ru/pub/Router/DIR-300_NRU/Firmware) есть настройки: "Включение WAN Ping Respond", "Включение многоадресных потоков", "Wireless Enhance Mode" - включение которых без всяких проблем заводит iptv по wi-fi. В dd-wrt такой возможности нет, приходится ставить udpxy (http://udpxy.sourceforge.net) для проксирования upd пакетов по http.  Кому интересно, то вот мой скрип для поднятия udpxy на роутере dir-300 под управлением dd-wrt:

[Administration -> Commands -> Startup]
cd /tmp
sleep 30
wget "http://masha-sasha.zakadum.ru/udpxy"
sleep 30
chmod +x /tmp/udpxy
sleep 30
/tmp/udpxy -a $(nvram get lan_ipaddr) -p 4022 -m $(nvram get wan_ipaddr) -B 2Mb -M 30


Чей домен masha-sasha.zakadum.ru на знаю, но спавибо им большое за раздачу собранного под dir-300 файла udpхy (build 11).

Udpxy поднял, но даже с макссимальным буфером в 2Mb он не вытягивает iptv, и как следствие - смотрящего iptv по wi-fi ждут неприятные моменты, делающие невозможным комфортный просмотр.

Решил вернуться на родную прошивку и поискать другой способ решения своей проблемы с WOL. Выяснилось, что способ возврата на родрую прошивку, описанный в документации http://www.dd-wrt.com/wiki/index.php/Прошивка_DIR-300NRU не работает. Сработал "Метод №2. Восстановление прошивки через Emergency Room.", который я нашел на http://forum.rialcom.ru/index.php?topic=1922.0

Метод №2. Восстановление прошивки через Emergency Room.

   1. Сбрасывем до factory reset наш роутер, можно через web-интерфейс DD-WRT.
   2. Выдергиваем кабель провайдера (Internet), оставляем только соединение с компьютером - "прямой" (синий из комплекта), соединяющий ПК и порт LAN1 роутера.
   3. Прописываем на сетевой компьютера статический адрес 192.168.0.10, маску подсети 255.255.255.0
   4. Выдергиваем блок питания, зажимаем кнопку reset и, не отпуская кнопки, вставляем питание, ждем загрузки роутера (хватает 15 секунд, считайте до 25). Затем отпускаем кнопку.
   5. Открываем Firefox (IE, Opera не получилось запустить, так и не понял, почему), заходим на http://192.168.0.1 - открывается Emergency room. Выбираем файл прошивки, скачанный с официального FTP D-Link (не знаю влияет или нет, но путь к файлу был на английском языке, типа С:\temp\DIR300B1_v201_97rg.bin) и жмем "Upload Now". Появится сообщение, что файл залит и прошивается, и идет обратный отсчет. После перезагрузки роутера вы получаете его в первозданном виде.


При таких обстоятельствах мой день 6 августа 2011 года пошел под знаком dd-wrt.

Комментариев нет:

Отправить комментарий