DD WRT - это прошивка для маршрутизаторов, созданная на основе Unix. Она используется для моделей, работающих на процессорах BroadCom, Atheros, Xscale и PowerPC, и расширяет их стандартный функционал. Опытному пользователю, которому нужно создать и настроить локальную сеть , почти всегда не хватает обычных настроек роутера для реализации всех задач, потому эта прошивка отлично подойдёт тем, кому нужная тонкая настройка функций и параметров домашней сети.
Установка прошивки позволяет расширить возможности маршрутизатора
Помимо обычных настроек, предлагаемых официальным программным обеспечением роутера, DD WRT обеспечивает следующий функционал:
Для открытия страницы настроек маршрутизатора, прошитого DD WRT, нужно настроить автоматическое назначение IP и других значений на сетевом адаптере ПК, с которого будете настраивать. Затем нужно зайти в настройку роутера по IP, изначально указанному в инструкции. Здесь система предложит вам поменять админские логин и пароль на более надёжные. Придумайте новые данные для входа, введите и запомните их - они ещё не раз пригодятся при работе с другими функциями роутера.
При желании можно поменять язык пользовательского интерфейса. Дальнейшие инструкции мы приводим на примере русского. На странице «Administration» - «Management» нужно найти пункт «Enable Info Site» и поставить метку Disabled . Здесь же в пункте Language Selection выбрать русский язык. Нажать Save.
После этого начинается непосредственно настройка.
В DD WRT есть некоторые сложности с реализацией протокола PPPoE, поэтому понадобится прописать некоторые параметры вручную:
Чтобы внешняя и локальная сети роутера под DD WRT корректно работали одновременно, необходимо настроить PPPoE Dual Access. Это делается в виде текстовых команд :
ifconfig vlan2 netmask [маска подсети] up
route add -net 172.17.0.0 netmask 255.255.0.0 gw [адрес шлюза]
Повторить для 172.18.0.0 и 172.24.0.0
iptables -t nat -A POSTROUTING -o vlan2 -j MASQUERADE
iptables -t nat -A POSTROUTING -o vlan2 -j SNAT —t WAN_IP
Последний штрих - настройка вай-фай-сети:
Режим беспроводной сети - Смешанный.
Ширина канала - 20 Мгц.
SSID передаётся в эфир - Включить.
Конфигурация сети - В мосте.
Опытному пользователю, которого не удовлетворяют стандартные функции роутера для удобной работы домашней сети, мы предлагаем попробовать поработать с роутерами, прошитыми DD WRT. Широкий функционал и правильная настройка этой прошивки позволит вам использовать функции маршрутизатора гораздо шире, чем со стандартным ПО. Попробуйте наше пошаговое руководство по настройке DD WRT и поделитесь своим результатом в комментариях. Там же можно задать нам вопросы по теме статьи.
Как же надоели постоянные обрывы связи! А настройки-то, настройки… ну почему они сбиваются?! То одно не работает, то другое… Нет, этому роутеру точно пора на свалку!
Стоп. Не спешите. Основная масса неполадок в работе маршрутизаторов связана с прошивкой. И если производитель не торопится исправлять свои недоработки, откажитесь от его услуг. Альтернативная прошивка для роутера DD-WRT превратит даже скромный и недорогой девайс в полноценный сервер с операционной системой на ядре Linux. Она раз и навсегда устранит проблемы со связью и подарит вам то, что обычно покупают за немалые деньги.
Кто-то наверняка подумал: «зачем мне какой-то сервер, это сложно, хочу чего-нибудь попроще, да чтобы настроить побыстрее». Смею вас заверить, что беспокойства напрасны. поддерживает русский язык и не более трудна, чем основная масса прошивок современных роутеров, хотя поначалу может показаться запутанной. Что, впрочем, неудивительно, ведь она очень, очень богата функциями.
Вот краткий список ее возможностей и преимуществ (полный приведен на ):
Перед закачкой и установкой DD-WRT убедитесь, что ваш маршрутизатор находится в . Обратите внимание на рекомендации по выбору дистрибутива в зависимости от объема флеш-памяти аппарата (приведены под списком) и других параметров.
Помимо дистрибутива DD-WRT и роутера, вам понадобится компьютер на базе Windows или Linux, патч-корд (отрез обжатой витой пары) и договор с поставщиком услуг Интернета.
Порядок инсталляции альтернативной прошивки мало чем отличается от обычного, но для некоторых марок и моделей роутеров он имеет ряд особенностей. Описание этапов установки для отдельных представителей ASUS, D-Link, TP-LINK и LinkSys приведено . Для других – в таблицах из списка поддерживаемых девайсов, как на примере ниже:
Общий порядок инсталляции DD-WRT:
После повторного сброса по методу 30/30/30 можно переходить к настройкам новой операционной системы вашего роутера.
Обратите внимание, интерфейсы разных сборок DD-WRT имеют некоторые различия, но они не столь значительны, чтобы вы могли что-то перепутать.
Для доступа к админ-панели DD-WRT вбейте в адресную строку браузера ИП-адрес 192.168.1.1 и нажмите кнопку перехода. Если всё сделано верно, откроется страница «Router Management ». Используйте для входа в систему логин встроенной учетной записи администратора – «root » и пароль – «admin ». Позже крайне желательно заменить их на более сложные.
Вторым пунктом вы попадете на страницу «System Information », где отображены главные характеристики устройства и некоторые настройки – использование памяти, параметры точки доступа Wi-Fi, основные службы и прочее.
Чтобы изменить язык интерфейса с английского на русский, перейдите в раздел «Administration » на вкладку «Management » и из списка языков «Language Selection » выберите «Russian ». Для сохранения нажмите «Save ».
Кстати, на этой же вкладке – в разделе «Router Password », находятся настройки изменения логина и пароля для входа в админ-панель. Имейте в виду, если вы не поменяли их сразу.
Теперь перейдем к главному – настройке Интернета. Часто для этого достаточно подключить к маршрутизатору кабель провайдера, но бывает, что это не работает. Тогда приходится вбивать настройки вручную. Не пугайтесь, это просто и занимает не больше 3 минут.
Параметры подключения к сети вашего провайдера необходимо узнать заранее и распечатать либо сохранить в файл. До того как вы вобьете их в роутер, доступа к глобальной сети у вас не будет.
Откройте в DD-WRT раздел «Setup » – «Basic setup » – «WAN setup » (Основные настройки – настройки WAN) и заполните его данными, полученными от провайдера. Если сделаете всё по правилам, у вас появится доступ в Интернет.
Если ваш провайдер использует подключение типа VPN PPTP, L2TP или PPPoE, придется сделать еще несколько дополнительных настроек. При подключении через PPTP и L2TP зайдите в раздел «Services » на вкладку «VPN » и установите следующие значения (показано на примере PPTP):
Остальное оставьте по умолчанию.
При подключении типа PPPoE на той же самой вкладке необходимо отключить PPTP Client Options, то есть присвоить ему значение disable. А на вкладке «Setup » – «Basic setup » – «Network setup » снять флажки возле пунктов «Use DNSMasq for DHCP » и «Use DNSMasq for DNS ». Остальное – по инструкции провайдера и умолчанию.
После того как на роутере заработал Интернет, можно переходить к настройке точки доступа Wi-Fi. DD WRT дает возможность создавать изолированные беспроводные подключения для разных клиентов, например, для хозяев и гостей, взрослых и детей, компьютеров и устройств умного дома и т. д.
Настройки беспроводных сетей находятся в разделе «Wireless ». Кстати, на момент установки прошивки точка доступа, названная, «dd-wrt» уже создана и запущена. Однако она открыта всем ветрам и непрошеным гостям, поскольку не использует парольную защиту и шифрование.
Основные параметры беспроводной сети задаются на вкладке «Basic setup ». Здесь необходимо выставить следующее:
Остальное оставьте по умолчанию. Сохраните изменения и переходите на вкладку «Wireless security ».
Ну вот, с основным покончено. Рассмотреть все прочие возможности чудо-прошивки, к сожалению, не выйдет, ведь их огромное количество. При желании эту информацию можно найти на официальном сайте и форумах DD WRT. А мы ограничимся несколькими функциями, которые могут пригодиться в домашней сети. Итак…
Настройка вступает в действие сразу после сохранения.
Чтобы включить поддержку USB, откройте вкладку «Services » – «USB Support ». Установите значение enable следующим параметрам:
Остальное можете оставить по умолчанию.
Для доступа к USB-накопителям, подключенным к маршрутизатору, с компьютеров, TV, мобильных гаджетов и т. п. откройте в этом же разделе вкладку «NAS » и активируйте параметр «Samba ». В поле «Server String » впишите «NAS » или другое имя роутера, которое будет отображаться в сетевом окружении, а в «Workgroup », соответственно, наименование рабочей группы.
После этого USB-накопитель будет отображаться на ваших устройствах как сетевой диск.
Ещё на сайте:
Прошивка DD-WRT для роутера: установка, настройка, возможности обновлено: Июль 6, 2018 автором: Johnny Mnemonic
Соответствующую вашей модели роутера и его аппаратной версии.
Загрузите прошивку DD-WRT в маршрутизатор. О том, как это сделать для роутеров TP-Link, написано . Инструкцию по замене прошивки для иных производителей маршрутизаторов можно найти на сайте разработчика DD-WRT или на их форуме .
После обновления прошивки введите в браузер адрес 192.168.1.1 . Вы увидите страницу с просьбой ввести новое имя пользователя и пароль. Введите их и обязательно запишите .
Перейдем к настройке роутера. В меню выберите Setup — Basic Setup . В разделе Network Setup в поле Local IP Address пропишите 192.168.99.1 , это будет новый адрес вашего маршрутизатора. Меняем его для того, чтобы в будущем исключить возможные сетевые конфликты с другими роутерами в вашей сети. Которые с большой вероятностью у вас есть.
В Local DNS прописываем ip адрес DNS сервера — 8.8.8.8
На той же странице в разделе Network Address Server Settings (DHCP) выключите 3 опции Use DNSMasq for DHCP, Use DNSMasq for DNS, DHCP-Authoritative
Внимание, после применения параметров адрес роутера сменится на 192.168.99.1
Чтобы не потерять контроль над роутером, настроим удаленный доступ из внешней сети через WAN порт. Перейдите на страницу Administration — Management . В разделе RemoteAccess включите в опции Web GUI Management отметку HTTP . После этого роутер будет доступен по его внешнему ip адресу и порту 8080.
Перейдем к настройке WiFi точки доступа. Откройте страницу Wireless — Basic settings . В поле Wireless Network Name (SSID) введите название своего WiFi хотспота, например, название вашего заведения.
В названии хотспота возможно использовать только английские буквы, цифры и символы. Буквы кириллицы использовать нельзя.
Перейдите на страницу Wireless — Wireless Security , убедитесь, что опция Security Mode находится в состоянии Disabled .
Теперь непосредственно перейдем к настройке самого хотспота.
95.167.165.64/27,195.14.118.0/23,91.229.116.0/22,213.59.200.64/28,91.200.28.0/24,91.227.52.0/24,198.241.128.0/17,66.211.128.0/17,216.113.128.0/17,paypal.com,paypalobjects.com,paymaster..paymaster.ru,www.paypal.com,www.paypalobjects.com,www..сайт,support.сайт,lk.сайт,account.сайт,s1.сайт,s2.сайт,s3.сайт,s4.сайт,s5.сайт,s6.сайт,s7.сайт,s8.сайт,s9.сайт,s10.сайт,s11.сайт,s12.сайт,s13.сайт,s14.сайт,s15.сайт,s16.сайт,s17.сайт,s18.сайт,s19.сайт,s20.сайт
Для соцсетей дополнительно нужно указать адреса:
103.4.96.0/22,104.108.32.0/20,104.244.40.0/21,107.20.0.0/14,157.240.0.0/16,173.194.0.0/16,173.252.64.0/18,184.84.0.0/14,185.16.244.0/22,185.29.130.0/24,185.32.248.0/22,185.45.4.0/22,188.166.114.0/24,192.133.76.0/22,199.16.156.0/22,199.201.64.0/22,199.59.148.0/22,199.96.56.0/21,2.20.254.0/24,2.21.7.0/24,204.15.20.0/22,212.30.134.0/24,213.180.193.119,217.20.144.0/20,217.69.128.0/20,23.64.227.0/24,31.13.0.0/16,34.192.156.0/24,34.194.135.0/24,34.194.67.0/24,34.198.69.0/24,34.200.158.0/24,34.200.33.0/24,45.64.40.0/22,46.101.169.0/24,5.61.16.0/21,52.0.0.0/11,54.144.0.0/9,54.88.138.0/24,54.88.208.0/24,64.233.160.0/19,66.220.144.0/20,69.171.224.0/19,69.63.176.0/20,74.119.76.0/22,74.125.0.0/16,8.25.195.0/21,87.240.128.0/18,87.250.250.0/23,93.158.134.0/24,93.186.224.0/20,95.142.192.0/20,95.167.165.90/24,95.213.0.0/18
Убедитесь, что вы нечаянно не ввели лишние пробелы в поле UAM Allowed, иначе что-то может не заработать. В случае, если вы используете beta прошивку DD-WRT, нужно будет в поля Primary Radius Server IP/DNS и Backup Radius Server IP/DNS вписать вместо имен radius1.сайт и radius2.сайт их IP адреса 195.14.118.42 и 95.167.165.93
Первая и наиболее важная задача - выбрать правильную модель роутера, так как это - «билет в один конец». Оценивая свои финансы и свои амбиции, важно выбрать золотую середину. Возможным фактором риска могла бы быть боязнь «запороть» дорогой роутер своими неправильными действиями. Я сам, покупая дорогую вещь, опасаюсь что-то с ней делать, особенно если нет опыта. Однако могу вас заверить: шансы убить роутер новыми прошивками практически равны нулю. Современные модели имеют режим восстановления, и надо очень сильно захотеть, чтобы угробить роутер (и то не навсегда - просто потребуется специальное оборудование для реанимации).Назову 2 «правильных» модели, которые я выбрирал для себя.
Некоторые модели роутеров (в частности Asus) перед прошивкой на DD-WRT требуют специальных действий (очистка памяти или что-то в этом роде). Внимательно следуйте инструкциям на конкретную модель роутера! Особенно внимательно нужно отнестить к требованиям «выждать 5 минут после окончания прошивки». Я был немного самоуверен и, перепрошивая своему коллеге роутер, слегка поторопился выключить питание после окончания прошивки. Результат - процедура восстановления и всё по-новой.
Если сказано «подождите 5 минут» - возьмите песочные часы на 5 минут и ждите! Это серьёзно.
Я не буду рассматривать сам процесс перепрошивки (tftp, смена адреса на 192.168.0.1, интерфейс и т.д.) - это всё изложено на форумах DD-WRT.
Но, наконец, вы закончили с прошивкой, и перед вами - чудесный новый WEB-интерфейс вашего роутера. Что дальше?
Все дополнительные программы объединены общим понятием Optware . (они ставятся в каталог /opt , который автоматически создаётся роутером и всегда доступен для записи). Однако сам каталог /opt пуст и фактически расположен в RAM - то есть, там очень мало места и всё, что туда попадает, будет потеряно при перезагрузке. Что же делать?
Выход следующий: нам нужно постоянное место на каком-нибудь «диске». И хотя описываемые хранилища не имеют формы диска в геометрическом смысле (скорее это кристаллы кремния в пластиковых корпусах с металлическими выводами), будем всё же называть их дисками.
Главной неприятностью при работе с flash-дисками является их быстрая деградация при записи. Если количество перезаписей сектора «диска» превысит некий порог (от 10 до 100 тысяч циклов), то диску придёт конец. Всё плохо… :(
Если с внутренним диском произойдёт такое, действительно будет плохо. Но если это внешний USB диск, то лёгким движением руки заменяем USB-флешку на новую - и снова в бой. Ведь USB-флешки давно уже расходный материал, не так ли? Тем более что достаточна флешка объемом 1 или 2Gb. Главное, как обычно, вовремя делать бекапы.
Более «правильной» является следующая схема:
Чтобы всё заработало, достаточно в настройках роутера в разделе CIFS указать сетевой адрес и логин/пароль для доступа к расшаренной папке, и при следующей перезагрузке роутер автоматически примонтирует сетевой диск в папку /tmp/smbshare .
Как обычно, «у нас с собой было» (это мой любимый девиз). Если совсем ничего нет, то придётся немного поработать напильником.
Для некоторых моделей (среди которых WRT-54GL) доступен так называемый SD/MMC mod . Достаточно приклеить куда-либо SD или MMC карту и припаять 6 проводков, и можно получить место для установки Optware и хранения пользовательских данных.
Именно такой мод я в конце концов и сделал, чтобы из старого роутера получить автономную точку доступа под WiFi Hotspot Chilli . Это - тема отдельного поста, возможно скоро соберусь и даже сделаю мини-сайт. Если кого-то ещё эта тема интересует, напишите в приват.
Если выбран вариант USB, то следует запретить автоматическое монтирование - мы сами будем это делать «правильным» образом.
Как я уже сказал, Optware устанавливается в строго определённое место - каталог /opt
. Этот каталог уже есть, нужно только примонтировать к нему реальный «диск».
Монтирование можно (нужно) делать в процессе начальной загрузки роутера. Для автоматизации в роутере предназначены несколько предопределённых скриптов, которые выполняются при старте и завершении работы.
Нам понадобятся как минимум 2 скрипта:
Для начала надо разрешить доступ к роутеру по telnet
или по SSH
протоколу.
Рекомендую настроить доступ по SSH, так как это безопаснее и просто удобнее (можно настроить авторизацию по ключевому файлу и даже не вводить каждый раз пароль при доступе). А доступ нам понадобится неоднократно, чтобы устанавливать программы и смотреть, WTF, почему они не хотят правильно работать.
Сервер SSH уже присутствует и работает во всех версиях прошивок роутера. Нужно только создать пару ключей, один из которых (публичный) загрузить в роутер, а другой (приватный) положить на ноутбуке рядом с программой Putty и WinSCP. Про ключи тоже писать не буду, везде это достаточно подробно расписывается.
Создадим скрипт .rc_startup
, который пока будет делать только одно: монтировать внешний «диск» в папку /opt
.
Варианты:
USB | mount /dev/scsi/host0/bus0/target0/lun0/part1 /opt |
JFFS | mkdir -p /jffs/opt |
CIFS | mount.cifs $(nvram get samba_share) /jffs -o user=$(nvram get samba_user),pass=$(nvram get samba_password) mount -o bind /jffs/opt /opt |
Telnet router
cd /opt
echo "OK" >opt.ok
cat opt.ok
Если получилось «OK» - значит всё ОК, если нет - значит что-то не так… Гуглим , ищем где ошибка, повторяем…
Т.к. у меня на ноутбуках Windows, я использую Putty (telnet или SSH) для доступа к консоли роутера и WinSCP для копирования и редактирования файлов.
Подключаемся через WinSCP к роутеру и создаём в папке /tmp следующий скрипт:
opt-inst.sh
Подключаемся через Putty к роутеру и выполняем скрипт:
Cd /tmp
chmod 740 ./optw-inst.sh
./optw-inst.sh
В результате работы скрипта будет создана начальная конфигурация Optware и программа-установщик opt-inst. Теперь можно приступать к установке всех остальных пакетов программ.
Cd /opt
ipkg-opt update
ipkg-opt install rsync
Если всё прошло успешно и нет никакой ругани в консоли, то можно продолжить установку.
Среди пакетов «первой необходимости» я бы назвал следующие:
Тут следует сделать некоторые замечания. В разных версиях прошивок процедура запуска и останова почему-то отличается, причём в существенной части, а именно - запуск пользовательских скриптов из init.d.
В более новом роутере (версия прошивки 13972) пользовательские скрипты
/opt/etc/init.d/S* автоматически вызываются после завершения работы системного .rc_startup
, и аналогично, /opt/etc/init.d/K* перед запуском .rc_shutdown
. Поэтому для запуска и оснанова нужных сервисов достаточно, чтобы их соответствующие S* и K* скрипты находились в папке запуска /opt/etc/init.d
Однако и тут (по крайней мере в моём случае) не обошлось без «подводных граблей» (чьё-то меткое выражение). По законам жанра, запуск скрипта S* должен быть с параметром start , а запуск K* - с параметром stop . Но DD-WRT почему-то не передаёт start при старте, хотя и передаёт stop при останове. Пришлось делать некий work-around:
Системный скрипт .rc_statup (создаётся при запуске в /tmp и запускается силами процесса init) выглядит примерно так (некоторые подробности опущены, полный код доступен ):
# /tmp/.rc_startup:
# 1: Монтировать "диск" optware в папку /opt
if [ -n "$DST" ]; then
/bin/mount -t ext3 -o noatime,nodiratime $DST /opt
echo "mount USB part1 -> /opt"
fi
# 2: Разрешить swapfile с раздела swap
if [ -n "$DST" ]; then
/opt/bin/busybox swapon $DST
echo "mount USB part2 -> swap"
fi
# 3: Создать окружение для запуска S* скриптов Optware
echo "start">/tmp/.rc_stage
Каждый S* и K* скрипт содержит примерно такой код:
If [ -n "$1" ]; then
OP=$1
else
OP=$(cat /tmp/.rc_stage)
fi
Case "$OP" in
start) # bla-bla
;;
stop) # bla-bla
;;
esac
Системный скрипт .rc_shutdown (создаётся при перезагрузке в /tmp и запускается по команде reboot) выглядит примерно так (некоторые подробности опущены, полный код доступен ):
# /tmp/.rc_shutdown:
# 1: Скрипты /opt/etc/init.d/K* уже отработали
# 2: Запретить swapfile
DST=`ls /dev/scsi/host?/bus?/target?/lun?/part2`
if [ -n "$DST" ]; then
/opt/bin/busybox swapoff $DST
echo "swap disabled"
fi
# 3: Отмонтировать optware
DST=`ls /dev/scsi/host?/bus?/target?/lun?/part1`
if [ -n "$DST" ]; then
/bin/umount /opt
echo "/opt umounted"
fi
В более старом роутере (версия прошивки 13064) S* и K* скрипты вообще не вызываются автоматически, поэтому пришлось делать так:
Системный скрипт .rc_statup копирует и стартует (в фоновом режиме) скрипт запуска optware:
# /opt/.startup - скрипт запуска Optware
CFG=/mmc # или /mnt, или /jffs, или /tmp/smbshare
if [ -x $CFG/opt/.startup ]; then
cp $CFG/opt/.* /tmp
echo "startup: switch to optware" >>/tmp/log
/tmp/.startup start $CFG &
else
echo "startup: optware not found" >>/tmp/log
fi
А уже optware-скрипт /opt/.startup делает всё остальное, а именно - запускает S* скрипты.
Аналогично устроен и системный скрипт .rc_shutdown : (только запускает /opt/.shutdown не в фоновом режиме, а непосредственно)
# /opt/.shutdown - скрипт останова Optware
CFG=/mmc
if [ -x $CFG/opt/.shutdown ]; then
cp $CFG/opt/.* /tmp
. /tmp/.shutdown stop $CFG
fi
На этом пока всё.
Теги:
В DIR-320 установлено 4 мегабайта флэш-памяти, поэтому прошивка должна быть не более указанного размера. Можно использовать версию standard, однако в этом случае в файловой системе jffs не остается места для пользовательских файлов. Предпочтительнее пользоваться прошивками от Eko - их можно найти в папке others/eko/V24_TNG/svnNNNNN (выбираем папку с самым большим номером). Для поддержки USB можно выбрать версию NEWD_mini_usb_ftp или NEWD_mini_usb.
Если вам требуется большая функциональность, чем предусмотренная в версиях mini или standard, воспользуйтесь методом, описанным на странице Установка DD-WRT mega на маршрутизаторы с объемом флэш-памяти 4 МБ .
Если на вашем маршрутизаторе уже прошита 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. Питание маршрутизатора пока не включайте.
Прежде, чем использовать TFTP, стоит попробовать залить DD-WRT через crash mode (времени потрачено будет меньше). Если возникнут проблемы, тогда переходим к прошивке через TFTP.
Прошивка 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:\ и наберите приведенную ниже команду, но не нажимайте пока клавишу
Microsoft Windows XP Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\someuser> cd c:\dd-wrt C:\dd-wrt> tftp -i 192.168.0.1 put firmware.bin
(Набранные вами команды выделены жирным шрифтом.)
Непосредственно перед началом прошивки желательно осуществить сброс на заводские настройки (Кнопка Reset, рядом с гнездом питания).
Вы должны нажать клавишу
Успешная передача: 3092480 байт за 11 сs, 281134 байт/с
Если же вы поспешите или опоздаете нажать клавишу
Имейте в виду, что процесс прошивки продолжается несколько минут после завершения команды пересылки файла, поэтому не выключайте питание маршрутизатора и не нажимайте Reset немедленно после завершения этой команды. Дайте маршрутизатору 10 минут времени для завершения процесса прошивки. За это время выпейте чашечку кофе и получите удовольствие – и только после этого переходите к следующему пункту. Если в списке беспроводных сетей появился новый SSID «dd-wrt» - значит, процесс прошивки успешно завершился.
Чтобы не ловить момент, в который нужно выдать команду загрузки, вручную, воспользуйтесь способом, описанным в следующем разделе.
Внимание
: В последних версиях роутера, если tftp выдается сообщение
Записываем файл 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 "DisableDHCPMediaSense"=dword:00000001
Добавить информацию в реестр, перегрузить компьютер и попробовать снова прошить маршрутизатор.
После успешной прошивки настройте сетевой интерфейс вашего компьютера на получение IP-адреса от сервера DHCP и введите в адресной строке вашего браузера http://192.168.1.1 . По умолчанию имя пользователя и пароль для доступа к веб-интерфейсу – соответственно «root» и «admin» (без кавычек).
Если вы по-прежнему видите веб-интерфейс D-Link, повторите процедуру прошивки.
P.S. Еще один простой и удобный способ поймать момент включения режима прошивки - использовать команду arping (В *nix системах она уже есть), для Windows можно нагуглить или попробовать эту ссылку http://www.ipacct.com/f/arping_for_windows-1.0.zip , как только будет первый ответ - нужно посылать файл на роутер и все прошьется:)
Восстановление фирменной прошивки после DD-WRT опять-таки делается с помощью TFTP.
Расширенная версия пакетного файла flashing.cmd с выдачей комментариев на консоль:
@echo off echo ================================================================== echo This batch file will upload dd-wrt firmware in the current directory to echo 192.168.0.1 during the router"s bootup. echo. echo * Set your ethernet card"s settings to: echo IP: 192.168.0.2 echo Mask: 255.255.255.0 echo Gateway: 192.168.0.1 echo * Unplug the router"s power cable. echo. echo Press Ctrl+C to abort or any other key to continue... pause > nul echo. echo * Re-plug the router"s power cable. echo. echo ================================================================== echo Waiting for the router... Press Ctrl+C to abort. echo. set FIND=%WINDIR%\command\find.exe if exist %FIND% goto PING set FIND=%WINDIR%\system32\find.exe if exist %FIND% goto PING set FIND=find:PING ping -n 1 -w 50 192.168.0.1 | %FIND% "TTL=" if errorlevel 1 goto PING echo *** Start Flashing **** tftp -i 192.168.0.1 put firmware.bin if errorlevel 1 goto PING set FIND= echo. echo ================================================================== echo * WAIT for about 2 minutes while the firmware is being flashed. echo * Reset your ethernet card"s settings back to DHCP. echo * The default router address will be at 192.168.1.1 echo. pause
Bash-скрипт, аналогичный расширенной версии пакетного файла flashing.cmd.
#!/bin/bash echo "==================================================================" echo "This script will upload dd-wrt firmware (firmware.bin)" echo "in the current directory to 192.168.0.1 " echo "during the router"s bootup. " echo "" echo "* Set your ethernet card"s settings to: " echo " IP: 192.168.0.10 " echo " Mask: 255.255.255.0 " echo " Gateway: 192.168.0.1 " echo "* Unplug the router"s power cable. " echo "" echo "Press Ctrl+C to abort or any other key to continue... " read echo "" echo "* Re-plug the router"s power cable. " echo "" echo "==================================================================" echo "Waiting for the router... Press Ctrl+C to abort. " echo "" try(){ ping -c 1 -w 1 192.168.0.1 } try while [ "$?" != "0" ] ; do try done echo "*** Start Flashing **** " atftp --no-source-port-checking -p -l firmware.bin 192.168.0.1 echo "Firmware successfully loaded!"