Прошивка роутера DIR-320 альтернативной прошивкой от проекта DD-WRT
Содержание
В DIR-320 установлено 4 мегабайта флэш-памяти, поэтому прошивка должна быть не более указанного размера. Можно использовать версию standard, однако в этом случае в файловой системе jffs не остается места для пользовательских файлов. Предпочтительнее пользоваться прошивками от Eko — их можно найти в папке others/eko/V24_TNG/svnNNNNN (выбираем папку с самым большим номером). Для поддержки USB можно выбрать версию NEWD_mini_usb_ftp или NEWD_mini_usb.
Подготовка к прошивке
Если на вашем маршрутизаторе уже прошита DD-WRT, то новую версию данной прошивки можно загрузить в него с помощью веб-интерфейса. Если же в маршрутизаторе фирменная прошивка D-Link, то из-за различия форматов файлов с прошивками DD-WRT можно загрузить только с помощью протокола TFTP. Процедура загрузки подробно описывается далее.
Создайте на вашем диске C: папку (например, C:\dd-wrt). Скачайте в эту папку файл прошивки и переименуйте его в firmware.bin.
Установите IP-адрес сетевого интерфейса вашего компьютера 192.168.0.10 и маску 255.255.255.0. Соедините сетевой разъем вашего компьютера с портом LAN1 DIR-320. Питание маршрутизатора пока не включайте.
Прошивка вручную
Прошивка DIR-320 выполняется по протоколу TFTP. После включения питания маршрутизатора на короткое время (около 2 секунд) запускается встроенный сервер TFTP, с помощью которого можно загрузить в устройство новую прошивку. Самое трудное — это поймать нужный момент времени, в течение которого нужно выдавать команду для закачки прошивки. С первого раза это получается редко, так что будьте готовы к тому, что придется совершить несколько попыток, и наберитесь терпения.
Важно: Вероятно DIR-320 со свежими прошивками D-Link не запускают TFTP сервер совсем и поймать нужный момент времени невозможно. В этом случае, чтобы загрузить свою прошивку с первого раза придется сделать полный сброс DIR-320: выключаем питание, нажимаем и держим кнопку Reset, включаем питание, ждем 15 сек., отпускаем кнопку Reset. После этой процедуры роутер должен откликаться на ping c TTL=100:
Reply from 192.168.0.1: bytes=32 time<1ms TTL=100
В таком состоянии роутер нефункционален, он ожидает загрузки прошивки через веб-интерфейс (только D-Link) или по TFTP. Причем TFTP работает не все время, а только несколько секунд (около 4 сек.) после включения питания. Это немного, но достаточно чтобы залить прошивку с первого раза. Выключаем DIR-320.
Запустите на вашем компьютере командную строку, перейдите в папку dd-wrt на диске C: и наберите приведенную ниже команду, но не нажимайте пока клавишу <Enter>. На экране должно быть примерно следующее:
Microsoft Windows XP [Version 5.1.2600]
Copyright 1985-2001 Microsoft Corp.
C:Documents and Settingssomeuser> cd c:dd-wrt
C:dd-wrt> tftp -i 192.168.0.1 put firmware.bin
(Набранные вами команды выделены жирным шрифтом.)
Непосредственно перед началом прошивки желательно осуществить сброс на заводские настройки (Кнопка Reset, рядом с гнездом питания).
Вы должны нажать клавишу <Enter> для запуска показанной выше команды «tftp -i 192.168.0.1 put firmware.bin» примерно через две секунды после включения питания DIR-320 (т.е. когда загорится индикатор соединения по Ethernet). Если прошивка будет принята маршрутизатором, индикатор LED1 на нем будет быстро моргать и команда успешно завершится менее чем через полминуты. На экране появится сообщение об успешном завершении команды:
Успешная передача: 3092480 байт за 11 сs, 281134 байт/с
Если же вы поспешите или опоздаете нажать клавишу <Enter>, команда через некоторое время выдаст сообщение о неуспешном завершении. В этом случае просто повторите описанный выше процесс: выключите питание маршрутизатора и буквально через секунду снова включите его, перед этим снова подготовив команду tftp для передачи в него прошивки.
Имейте в виду, что процесс прошивки продолжается несколько минут после завершения команды пересылки файла, поэтому не выключайте питание маршрутизатора и не нажимайте Reset немедленно после завершения этой команды. Дайте маршрутизатору 10 минут времени для завершения процесса прошивки. За это время выпейте чашечку кофе и получите удовольствие – и только после этого переходите к следующему пункту. Если в списке беспроводных сетей появился новый SSID «dd-wrt» — значит, процесс прошивки успешно завершился.
Чтобы не ловить момент, в который нужно выдать команду загрузки, вручную, воспользуйтесь способом, описанным в следующем разделе.
Внимание: В последних версиях роутера, если tftp выдается сообщение <Error 3>: Operation cancelled, то попробуйте прошить прошивку меньшего объема. Опытным путем установлено, что dd-wrt VPN прошивка не шьется напрямую из-за своего объема, надо использовать меньшую по объему (mini/micro), а затем из mini или micro прошивки прошить нужную через веб-интерфейс dd-wrt.
Прошивка с использованием пакетного файла
Записываем файл flashing.cmd в папку C:dd-wrt, куда мы ранее записали файл с прошивкой. Содержимое этого файла следующее:
@Echo Off
:BEGIN
ping -n 1 -w 10 192.168.0.1
If errorlevel 1 Goto BEGIN
If errorlevel 0 Goto FLASH
Goto END
:FLASH
Echo *** Start Flashing ****
tftp -i 192.168.0.1 put firmware.bin
:END
Более продвинутая версия пакетного файла с выдачей комментариев на консоль приведена в приложении (см. ниже).
Запускаем командную строку, переходим в папку c:dd-wrt и запускаем командный файл flashing.cmd.
Включаем питание маршрутизатора.
Наблюдаем процесс прошивки:
C:dd-wrt>flashing.cmd
Обмен пакетами с 192.168.0.1 по 32 байт:
Превышен интервал ожидания для запроса.
Статистика Ping для 192.168.0.1:
Пакетов: отправлено = 1, получено = 0, потеряно = 1 (100% потерь),
<<< SKIP >>> <<< SKIP >>> <<< SKIP >>> <<< SKIP >>>
Обмен пакетами с 192.168.0.1 по 32 байт:
Ответ от 192.168.0.1: число байт=32 время=4мс TTL=100
Статистика Ping для 192.168.0.1:
Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 4мсек, Максимальное = 4 мсек, Среднее = 4 мсек
*** Start Flashing ****
Успешная передача: 3092480 байт за 11 сs, 281134 байт/с
C:dd-wrt>
После того, как загорится индикатор статуса (~1-2 мин.), можно подключаться к маршрутизатору по адресу 192.168.1.1.
Другой вариант командного файла (первый в моем случае не помог) вызвать с момента включения маршрутизатора с интервалом например в 500мс подряд несколько процессов tftp. Соответственно какой-то из них попадет в момент, когда маршрутизатор «согласен» принять прошивку. Как организовать паузу http://wiki.oszone.net/index.php/Пауза_в_пакетном_файле, я использовал nircmdc.exe (http://www.nirsoft.net/utils/nircmd.zip)
for /l %%a in (1, 1, 10) do (nircmdc.exe wait 500
start cmd.exe /ktftp -i 192.168.0.1 put firmware.bin)
Запустить данный командный файл одновременно с включением маршрутизатора. Откроется 10 консольных окон, и в одном из них пройдет загрузка файла, все остальные отвалятся по таймауту. Если все равно не получается попасть в нужный интервал, то можно дополнительно отключить в windows сброс IP-адреса при отсутствии кабельного подключения (ускорит инициализацию интерфейса). Создать reg-файл следующего содержания:
REGEDIT4
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]
«DisableDHCPMediaSense»=dword:00000001
Добавить информацию в реестр, перегрузить компьютер и попробовать снова прошить маршрутизатор.
Подключение к веб-интерфейсу DD-WRT
После успешной прошивки настройте сетевой интерфейс вашего компьютера на получение IP-адреса от сервера DHCP и введите в адресной строке вашего браузера http://192.168.1.1. По умолчанию имя пользователя и пароль для доступа к веб-интерфейсу – соответственно «root» и «admin» (без кавычек).
Если вы по-прежнему видите веб-интерфейс D-Link, повторите процедуру прошивки.