День раз - суббота.
В субботу я решил обновить прошивку на роутере (320'ом). Все шло как обычно до тех пор, пока не прошло минут 10, а конца обновлению видно не было. Еще минут через несколько веб-интерфейс выдал мессагу о том, что "Update failed". Тут-то и началось интересное...
Подождал я несколько минут, да перезагрузил роутер хердресетом(выдергиванием шнура питания). После перезагрузки попасть в веб-интерфейс не удалось, в прочем как и зайти на него по telnet'у(вис после ввода логина и пароля). Благо он умер не окончательно, а стал работать в качестве свича. После нескольких неудачных попыток привести его в чувство путем выключения-включения и гугления, я решил его заново перепрошить по tftp.
Тут пришлось сыграть в мини-игру. Правила этой мини-игры такие: после включения роутера, у него на несколько секунд запускается tftp-сервер и нужно успеть установить соединение и начать передачу прошивки. Для этих целей на тот момент существовал bat'ник. Мною, по его подобию, был написан bash-скрипт. Точнее написан он был еще в первый раз, когда я ставил прошивку на роутер, но он не работал. Как следствие, я пытался все сделать вручную. Не получилось.
Следующим предпринятым шагом было сбрасывание настроек в дефолтные. Пробовал много всего, но решением стал такой вариант:
- выключаем питание
- нажимаем кнопку Reset
- не отпуская её, включаем питание
- ждём 15 секунд
- теперь кнопку можно отпустить
- ???
- PROFIT!!!
День два - воскресенье.
Покопавшись в субботу на оф. фтп сайте d-link'а, я нашел там прошивку за версией 3 для первого роутера (524). А так как у меня стояла вторая версия, решил я его перепрошить... В результате пропал интернет. Но не до конца:
- изнутри сети я мог пинговать свой роутер
- nslookup google.ru 192.168.1.1 (где 192.168.1.1 - ип роутера) - возвращал корректный результат
- зайдя на веб-морду роутера и оттуда, используя специальное меню, попинговав google.ru, я получал нормальный ответ
- попытка пинговать google.ru со своего компа ни к чему не приводила
Вторым шагом была смена прошивки у 320'ого роутера. Немного покумекав, я поправил свой скрипт и решил его проверить. Принцип его работы прост: пингует адрес 192.168.0.1, при появлении пинга пытается передать прошивку про tftp. Далее я втыкаю шнур от 524 роутера (с инетом) к себе в комп, второй шнур из своего компа в первый порт 320'ого. Делаю соответствующие настройки на сетевых интерфейсах. Пробую. Вроде не получилось. Пробую второй раз, жду несколько минут, захожу на http://192.168.1.1/ и вуа-ля, я вижу веб-морду кастомной прошивки. Далее шёл обычный процесс настройки роутера, но это не столь интересно.
Очень порадовал тот факт, что весь софт и почти все настройки хранились на вшенем винте, поэтому после включения поддержки usb и перезагрузки роутера я сразу смог зайти на веб-морду transmission'а.
Вот так я провел свои выходные... Игра вкатила, но я не уверен, что хотел бы пройти ее снова...
Вечером решил поделиться результатом моих трудов и выложил скрипт в wiki dd-wrt. Смотреть Приложение 2. ;)
з.ы. второй раз перечитывать свой бред пока не хочу, поэтому может встречаться большое количество синтаксических, орфографических и еще других ошибок - поправлю позже.