В данной статье речь пойдет только о роутере dir300 ревизии В1. Переверните маршрутизатор и посмотрите на нижнюю поверхность, где на стикере будет указано его аппаратная ревизия (ищем строчку H/W Ver: B1). Эта модель отличается от более старой как внешним видом, так и версией прошивки (начинается от 2.00), внимательно посмотрите на фото вверху. Основное отличие ревизий А1 и В1 это чип на котором роутер основан, в нашем случае роутер H/W Revision B1 и основан на чипе Ralink RT3050. Кстати аппаратное исполнение WiFi роутера dir-300NRU точно такое же как у dir-600, который является полным аналогом 300NRU и производится для европейской зоны.
Прошивка WiFi роутера D-Link DIR-300NRU Rev. B1
Установка прошивки DD-WRT на D-Link DIR-300 Revision B1 выполняется через стандартный web интерфейс роутера. Далее по пунктам:
1. Загрузите прошивку с этого сайта или проверьте более новую версию на http://dd-wrt.com/site/support/router-database вбив в поиск DIR-300 B1. Нам нужен файл именно dlink-revb-factory -webflash.bin
2. Подключаем dir-300 ‘прямым’ сетевым кабелем из комплекта (любой из 4-х LAN портов роутера) с компьютером.
Назначьте в свойствах подключения по локальной сети на компьютере IP адрес 192.168.0.15 и маску подсети 255.255.0.0
3. Запускаем браузер (лучше всего использовать IE) и заходим в web интерфейс, набрав в адресной строке http://192.168.0.1
Вводим логин и пароль, для нового роутера логин по умолчанию — admin, пароля нет (пусто) и код подтверждения с рисунка. Если настраивали, извольте ввести свои пароли.
Переходим на вкладку Maintenance и далее Firmware Update, нажимаем «browse» ->ищем у себя скачанный файл dlink-revb-factory-webflash.bin жмем «Upload»
4. В течении нескольких минут, пока DIR300 прошивается, нельзя отключать питание и всячески прерывать процесс. Для надежности и сохранения некоторого количества нервов, советую проделывать эту операцию подключив роутер и компьютер через UPS (бесперебойник).
5. После прошивки маршрутизатор уйдет в перезагрузку и станет доступным по адресу 192.168.1.1. Введем его в адресную строку браузера и увидим web-интерфейс DD-WRT. Если страничка не загружается, попробуйте очистить кэш браузера, закрыть и снова открыть. Логин и пароль прошивки DD-WRT — root/admin.
Обновление версии DD-WRT
Для последующего обновления прошивки от DD-WRT следует использовать файл dir300-revb-ddwrt -webflash.bin. Качаем здесь — или на http://dd-wrt.com/site/support/router-database вбив в поиск DIR-300 B1.
1. Открываем web-интерфейс DD-WRT в браузере, по умолчанию он находится по адресу 192.168.1.1
2. Выбираем вкладку Administration —> жмем «Firmware Upgrade»
3. Далее «browse» —> выбираем скаченный файл «dir300-revb-ddwrt-webflash.bin» —> «Upgrade»
Через несколько минут роутер перезагрузится и обновит web страницу. Рекомендую после прошивки обесточить роутер и снова включить (некий reset по питанию).
Возврат на официальную прошивку D-Link
Вернуть официальную прошивку также не составляет труда и алгоритм выполнения точно такой же как в пункте — «Обновление версии DD-WRT». Естественно нам надо иметь заранее подготовленный файл прошивки, качаем — . Можно также загрузить с официального FTP сервера D-link ftp://ftp.dlink.ru/pub/Router/DIR-300_NRU/Firmware/ , выбрав последнюю версию.
Откат на заводскую прошивку с помощью Emergency Room
Иногда случаются ситуации, когда вернуться на заводскую прошивку не получается методом описанным выше. В этом случае используем Emergency Room.
1. Выполняем сброс до factory reset, либо через web-интерфейс DD-WRT, либо кнопкой reset.
2. Убираем все ethernet кабеля, оставляем только соединение LAN1 роутера —> ПК. Всегда используем «прямой» провод (синий из комплекта).
3. В свойствах к сетевому адаптеру компьютера прописываем статический адрес 192.168.0.15, маску подсети 255.255.0.0
4. Вынимаем штекер блока питания из роутера, нажимаем кнопку reset, и не отпуская кнопки, вставляем обратно питание, ждем загрузки роутера около 15 секунд и только потом отпускаем кнопку.
5. Теперь быстро открываем браузер, вводим http://192.168.0.1 и перед нами Emergency room. Выбираем файл прошивки dir300b_v2.05_abnj.bin и жмем «Upload Now».
Ну а теперь коротко, для чего вообще эта затея с перепрошивкой DIR 300NRU.
Прошивка выполнена на базе Linux и представляет собой миниатюрную операционную систему, появляется много расширенных настроек, которые намного логичнее расположены. Возможность порезать канал с приоритетами по сервисам (QoS). Можно запретить сайты по адресу страницы или просто по доменному имени.
В режиме WiFi может быть Точкой Доступа, Клиентом, Мостом и Репитером. Увеличить мощность WiFi сигнала теперь не проблема. Теперь этот маршрутизатор можно использовать для организации моста на дальние линки вместо 2100АР — экономия в два раза.
К достоинствам отнесем еще возможность поднять VPN сервер, русский язык, расширенная статистика потребления трафика WAN в виде графика, появился необходимый мне telnet и возможность загружать пользовательские скрипты.
Первая и наиболее важная задача - выбрать правильную модель роутера, так как это - «билет в один конец». Оценивая свои финансы и свои амбиции, важно выбрать золотую середину. Возможным фактором риска могла бы быть боязнь «запороть» дорогой роутер своими неправильными действиями. Я сам, покупая дорогую вещь, опасаюсь что-то с ней делать, особенно если нет опыта. Однако могу вас заверить: шансы убить роутер новыми прошивками практически равны нулю. Современные модели имеют режим восстановления, и надо очень сильно захотеть, чтобы угробить роутер (и то не навсегда - просто потребуется специальное оборудование для реанимации).Назову 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!"
Пришлось воспользоваться прошивкой DD-WRT . Нашёл массу рекомендаций о том, как шить через RS-232, при этом лишая себя гарантии и орудуя паяльником и отвёрткой. Опишу способ прошивки устройств D-Link прошивкой DD-WRT (естественно – только тех, что поддерживаются этой прошивкой) без паяльника, отвёртки и с сохранением гарантии на устройство.
Для начала следует проверить, поддерживается ли Ваше оборудование DD-WRT. Но даже если Вы не обнаружили своё устройство в перечне поддерживаемого оборудования – не следует отчаиваться. Например, DAP-1150/RU не поддерживается, но поддерживается DIR-300 h.w. rev. B1, а по железу – они практически идентичны. Соответственно – можно прошить DAP-1150/RU прошивкой от DIR-300 rev. B1. Но статья не об этом. Исхожу из того, что Вы уже определились с прошивкой.
Читаем описание на нашем родном русском языке . Для начала нам рекомендуют прошить наше устройство через web интерфейс mini версией DD-WRT. После чего уже можно будет залить любую другую версию DD-WRT.
Будем пробовать pre sp2. Cкачаем. Идём сюда — http://www.dd-wrt.com/site/support/router-database . Набираем D-Link. Получаем список поддерживаемых устройств. Выбираем необходимое Вам. Например — DIR-300 rev.B1 . И видим две доступных прошивки (рисунок справа). Качаем обе.