Перейти к содержанию
Гость mistacker

D-link DIR-300 OpenWrt

Рекомендуемые сообщения

Гость mistacker

Всем, кто покупал мой любимый роутер D-link DIR-300 (A1) - известно, что со стандартной прошивкой он малофункционален, и плохо работает с Нашей локальной сетью. Кроме того, если прошить его DD-WRT - он начинает жутко тормозить и без охлаждения часто виснет. Охлаждение подробно описано в другой моей статье. Сейчас же предлагаю Вашему вниманию немного доработанную

собственными ошибками

версию способа превратить его, уже наконец, в Роутер.

Внимание!!!

1. Вы теряете гарантию. Без комментариев. Автор не несет ответственности за полную, или частичную потерю работоспособности устройства!

2. Вернуться на оф. версию (в отличие от DD-WRT) с рабочим WI-FI будет мало реально (мне удалось, иначе бы статьи не было).

3. Только для ревизии A1!. Прошивка собрана под ATHEROS и этим все сказано.

4. DUAL работает. Прописывать маршруты скорее всего придется, однако ядро не грузится на 100% = скорость в норме.

Итак: если все вышеперечисленное вас не остановило - Welcome!

Нам понадобиться:

1. Putty. Лучше терминала на винду я не знаю. Советую работать на WIN XP.

2. TFTPD. Лучший TFTP. Советую запускать из корня диска С.

3. Собственно прошивка. Фанаты могут "собрать ядро с рюшечками". Web-морда к ней .

4. Загрузчики RAM и ROM, позаимствованные из проекта DD-WRT. Советую брать именно выложенные, т.к. на последнем идет не всегда.

5. Уверенность в себе и терпение. Питание не дергать категорически. Иначе мне на запчасти.

Поехали!

Примечание: Наглый копираст команд в консоль не пройдет, команды с маленькой буквы не все, при прошивке и настройке FIS роутер долго думает. Перед работой выключаем KAV\KIS и любой софт, работающий с портами!

1. Настраиваем в PuTTy в "connection" 192.168.20.81, port 9000, telnet, exit only on clean. Cтавим на компе IP 192.168.20.80/mask 255.255.255.0 Втыкаем кабель в WAN порт (INTERNET на нем написано). Зажимаем кнопку "RESET". Включаем питание роутера. Через 20 секунд отпускаем "RESET".

В это же время запускаем CMD и команду

ping 192.168.20.80

как только ответ получен (ресет отпущен, обычно 5-10 сек) клацаем OPEN PyTTy.

если появилось много текста - закрываем CMD, в терминале PuTTy должно быть так:

redboot> 

Жмем CTRL+C. Терминал.

2. Запускаем TFTPD. Должен быть IP нашей локальной сетевой.

Пишем в консоли редбута

RedBoot>[b]load ap61.ram[/b]
Using default protocol (TFTP)
Entry point: 0×800410bc, address range: 0×80041000-0×800680d8
RedBoot> [b]go [/b]

Здесь и далее жирный текст - то что вводится вручную. То есть печатается.

Потом должна быть перезагрузка роутера с временным Бутом.

Установите IP-адрес 192.168.1.2 и маску 255.255.225.0.

3. Переключите сетевой кабель из гнезда WAN в гнездо LAN1 маршрутизатора.

В PuttY адрес 192.168.1.1 и порт 9000. TFTPD перезапустить.

OPEN и видим, что загрузчик уже другой. Пусть теперь он там и останется. Пишем команды (жирным), на вопрос отвечаем ENTER

(кочерга на клавиатуре) .

DD-WRT>[b]fconfig -i[/b]
Initialize non-volatile configuration - continue (y/n)?[b]y[/b]
Run script at boot: false
Use BOOTP for network configuration: true
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)?[b]y[/b]

… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .

DD-WRT> [b]fis init[/b]
About to initialize [format] FLASH image system - continue (y/n)? [b]y[/b]

           Initialize FLASH Image System

… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×807f0000-0×80800000 at 0xbffe0000: .

DD-WRT> [b]ip_address -h 192.168.1.2[/b]
Default server: 192.168.1.23

DD-WRT> [b]load -r -b %{FREEMEMLO} ap61.rom[/b]
Using default protocol (TFTP)
Raw file loaded 0×80080000-0×800a8717, assumed entry at 0×80080000

DD-WRT>[b] fis create -l 0×30000 -e 0xbfc00000 RedBoot[/b]
An image named ‘RedBoot’ exists - continue (y/n)? [b]y[/b]
… Erase from 0xbfc00000-0xbfc30000: …
… Program from 0×80080000-0×800a8718 at 0xbfc00000: …
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×807f0000-0×80800000 at 0xbffe0000: .

DD-WRT> [b]reset[/b]

после перезагрузки РэдБут помахал нам ручкой.

4. Порты адреса те же, проги перезапускаем.

Вводим команды в консоли, уже не так страшно.

DD-WRT>[b] ip_addr -h 192.168.1.2[/b]
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2

DD-WRT> [b]fis init[/b]
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Стерли оригинальную прошивку. Назад пути (PuTTy) нет.

Дальше совсем не страшно.

DD-WRT> [b]load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma[/b]
Using default protocol (TFTP)
Raw file loaded 0x80040800-0x801007ff, assumed entry at 0x80040800

DD-WRT> [b]fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7[/b]
... Erase from 0xbfc30000-0xbfcf0000: ............
... Program from 0x80040800-0x80100800 at 0xbfc30000: ............
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Это ядро, тачка загрузится, а где же ROOTFS?

Да вот же он

DD-WRT> [b]load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs[/b]
Using default protocol (TFTP)
Raw file loaded 0x80040800-0x802c07ff, assumed entry at 0x80040800

DD-WRT> [b]fis create -l 0x2F0000 rootfs[/b]
... Erase from 0xbfcf0000-0xbffe0000: ...............................................
... Program from 0x80040800-0x802c0800 at 0xbfcf0000: ........................................
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Это самый долгий этап. Роутер может не ответить на команду FIS CREATE в течении 5 мин. Это нормально. Может ребутнуться.

Теперь настройка железки. Тут на разных железках ответы могут чуть отличаться, команды нет.

DD-WRT> [b]fconfig boot_script_timeout 3[/b]
boot_script_timeout: Setting to 3
DD-WRT> [b]fconfig bootp false[/b]
bootp: Setting to false
DD-WRT>[b] fconfig boot_script true[/b]
DD-WRT> [b]fconfig[/b]
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> [b]fis load -l vmlinux.bin.l7[/b]
>> [b]exec[/b]
>>
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: [b]192.168.1.1[/b]
Local IP address mask: [b]255.255.255.0[/b]
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

DD-WRT> reset

тут на разных железках может проскакивать в промежутке

"Update RedBoot non-volatile configuration - continue (y/n)? "

Давим Y и со всем соглашаемся.

Собственно все. При включении роутер будет "колбасить", он будет перегружаться раза три и наконец, винда,

если в ней включен PLUG&PlaY найдет "OpenWRT Router".

Пароль в WEB морде (192.168.1.1)

root

root

А вот и она сама:

0f38ea8fd37df0c61f699e08c9782d2d.jpg

Настроек в новой прошивке валом, можно подключать двух-трех провайдеров ( VLAN ).

Процессор в роутере не грузится, он даже греется меньше.

Набор находится во вложении.

Собрано на базе материалов

тут и тут, проверенно на своей шкуре, внесены важные поправки.

Неизменно Ваш Mistacker

openwrt.zip

Поделиться сообщением


Ссылка на сообщение

Я правильно понимаю, что в случае уже установленного DD-WRT на девайс можно начинать с п.4 icon14.gif

Поделиться сообщением


Ссылка на сообщение
Гость mistacker

Да, именно так.

Бут DD-WRT нужен именно для для заливки с использованием FIS.

Проверить наличие установленного загрузчика (и вообще любой FS)можно командой

fis list

Кроме того, похоже что данное ядро можно залить на любой роутер с Atheros.

Кстати, все эти мучения только чтобы сделать наконец Би+Спарк+(может_быть_СумТел)=Круто.

Утилизация проца не более 25% без поднятого VPN и 80% с поднятым.

Кстати. Тем кто завалил настройки WI-FI (по умолчанию отключено) - Reset сзади творит чудеса!

Изменено пользователем mistacker
главное, убить его нельзя.

Поделиться сообщением


Ссылка на сообщение

Если я правильно понял это версия kamikaze 8.09

А почему не использовали например 8.09.2 ?

Поделиться сообщением


Ссылка на сообщение
Гость mistacker
Если я правильно понял это версия kamikaze 8.09

А почему не использовали например 8.09.2 ?

Причина проста - попался собранный камиказе). Если серьезно, собрать можно на любой версии, но эта меньше всех грузит и без того слабый проц.

Впрочем у Аманиты почему то грузит (смотрим соседнюю ветку) проц вообще без ничего.

И наконец - свой Дир 300 А1 я продал, поэтому больше новостей по нему не будет, может Б1 будет.

Поделиться сообщением


Ссылка на сообщение

[Чуть-чуть оффтоп]

mistacker, если хочешь, отдам тебе свой DIR-300, у меня времени нету им заниматься, помучаешь девайс? Там OpenWRT залито, тот самый про который я писал. Если нужен - звякни, договоримся где встретиться.

Поделиться сообщением


Ссылка на сообщение

на последнем этапе

DD-WRT> fconfig boot_script_timeout 3

boot_script_timeout: Setting to 3 у меня почему-то не ответило это

DD-WRT> fconfig bootp false

bootp: Setting to false

DD-WRT> fconfig boot_script true

DD-WRT> fconfig

Run script at boot: true

Boot script:

.. fis load -l vmlinux.bin.l7

.. exec

Enter script, terminate with empty line

>> fis load -l vmlinux.bin.l7

>> exec

>>

Boot script timeout (1000ms resolution): 3 у меня 0 заместо 3

Use BOOTP for network configuration: false

Gateway IP address: здесь я по невнимательности впечатал 192.168.1.1

Local IP address: 192.168.1.1 а вот здесь опять впечатал 255.255.255.0

Local IP address mask: 255.255.255.0

Default server IP address:

Console baud rate: 9600

GDB connection port: 9000

Force console for special debug messages: false

Network debug at boot time: false

Update RedBoot non-volatile configuration - continue (y/n)? y

... Erase from 0xbffe0000-0xbfff0000: .

... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

DD-WRT> reset

роутер ребутнулся ,загорелись индикаторы и всё НИЧО НЕ КОЛБАСИЛО я ждал час - полтора

Эхххх :( попытался прошить по этому руководству получился кирпич... накосячил каюсь :huh:

При включении загорается power потом пробегают огоньки по лан индикаторам ,если втыкаю в ван он загорается ,в лан тоже горят

в редбут зайти немогу не пингуется ни в лан не в ван по адресу 192.168.20.81 и по адресу 192.168.1.1

Уважаемые.... как оживить роутер ?

Изменено пользователем Maximilan

Поделиться сообщением


Ссылка на сообщение
Гость mistacker
на последнем этапе

DD-WRT> reset

роутер ребутнулся ,загорелись индикаторы и всё НИЧО НЕ КОЛБАСИЛО я ждал час - полтора

Эхххх :( попытался прошить по этому руководству получился кирпич... накосячил каюсь :(

При включении загорается power потом пробегают огоньки по лан индикаторам ,если втыкаю в ван он загорается ,в лан тоже горят

в редбут зайти немогу не пингуется ни в лан не в ван по адресу 192.168.20.81 и по адресу 192.168.1.1

Уважаемые.... как оживить роутер ?

Ну, как я говорил - есть несколько стадий кирпичности :huh:

Как показала практика моих издевок над сабжем - Забрикать его (Brick) совсем невозможно.

Первое - готов распаять ком порт? Подойдет любой провод с MAX232\Pl2303.

Схема подключения подходит от статьи по 1043.

Консоль для кома - та же Путти.

чтобы роутер не грузил кривое файло - CTRL+C на первой секунде.

И наконец.

Сделай для начала просто- втыкни провод в разные порты, начни с WAN, должен ответить.

если нет тогда готовься к пайке провода на ком)

Поделиться сообщением


Ссылка на сообщение
Первое - готов распаять ком порт? Подойдет любой провод с MAX232\Pl2303.

Схема подключения подходит от статьи по 1043.

Консоль для кома - та же Путти.

чтобы роутер не грузил кривое файло - CTRL+C на первой секунде.

И наконец.

Сделай для начала просто- втыкни провод в разные порты, начни с WAN, должен ответить.

если нет тогда готовься к пайке провода на ком)

млин.... непингуется нихде... ;) Уважаемый я так понимаю нужно спаять кабель , то есть прикупить кабель COM - COM

и в разрыв MAX232 с обвязкой ,чтоб она напряжение адаптировала для консоли роутера ( а кстати какое напряжение ? )

Может даж ссылку на инструкцию по изготовлению сего чуда (в смысле кабеля).Паять умею не особо прффессионально , но думаю справлюсь.

Изменено пользователем tiptop

Поделиться сообщением


Ссылка на сообщение

ИМХО проще купить дата-кабель от мобильника...Я свой DKU-42 от старой нокии раздербанил, там MAX232 уже в разъеме есть, остается только на pinouts.ru разъем глянуть и все. Впрочем, можно и самому собрать.

Поделиться сообщением


Ссылка на сообщение
ИМХО проще купить дата-кабель от мобильника...Я свой DKU-42 от старой нокии раздербанил, там MAX232 уже в разъеме есть, остается только на pinouts.ru разъем глянуть и все. Впрочем, можно и самому собрать.

В Екатеринбурге DKU-42 по 800 р. только нашёл - бессмыслено . А DKU-5 подойдёт ?

1691264m.jpg

Поделиться сообщением


Ссылка на сообщение

Может и пойдет...я не смотрел чего там у него внутри. Где то валяется аналог китайский DKU-5, найти нужно, разобрать...Завтра поищу, если не выкинул - посмотрю, отпишусь.

Вот тут написано:

Этот драйвер совместим со следующими кабелями для подключения к ПК:

exp_plus.gif Открыть текст

Кабель для подключения к ПК Nokia DKE-2

Кабель для подключения к ПК Nokia DKU-2

Кабель для подключения к ПК Nokia CA-42

Кабель для подключения к ПК Nokia CA-53

Кабель для зарядки и подключения к Nokia CA-70

Кабель для подключения к ПК Nokia CA-101

т.е. логика работы у них одна, на сколько я понимаю. Дело только в напряжении - 3.3 или 5 вольт...

Вот например схемки есть, аналогично можно посмотреть, что в кабеле к телефону. Кстати, не только к Nokia, вроде к семенам тоже идут аналогичные кабеля...

Поделиться сообщением


Ссылка на сообщение
т.е. логика работы у них одна, на сколько я понимаю. Дело только в напряжении - 3.3 или 5 вольт...

А для подключения консоли DIR-300 A1 какое напряжение нужно , 3,3 или 5 вольт ?

Поделиться сообщением


Ссылка на сообщение

Прикупил кабель Nokia CA-42 втыкаю в комп (разные компы пробовал) а он не ороёт что обнаружено новое оборудование

драйверы не просит . если же подключить сотовый к нему этим кабелем тогда только устанавливает драйверы.

Я так понимаю нужен кабель который просто воткнув его просит дрова комп ? Запутался я чо-то

[Размещать изображения можно только на нашем хостинге картинок. См. правила.]

Изменено пользователем amanita

Поделиться сообщением


Ссылка на сообщение
Гость Гость_splesh95_*

у меня такая причина перепрошил dir300 на dd-wrt и теперь скорость скачки с трекера выше 2,5мб не поднимается,но при скачке с локалки внешка падает .

почему так получилось?

Поделиться сообщением


Ссылка на сообщение
Гость mistacker

Так. По всем вопросам отвечу кратко.

Кабеля подходят любые поддерживающие

USB->UART, USB->FTDI, USB->SERIAL.

Проверял сам. Советую PL-2303, как самый проприетарный.

Особо жаждущим могу дать поюзать\продать.

По поводу редбут. Шьется при любом состоянии, используя ТФТП.

Только допинговать его трудно ....

По поводу Дир 300 с Ддврт, у меня ни на каких прошивках скорость по вафле больше 2,5 не подымалась.

Да, еще - в консоли питание не нужно, только RX-TX и земля, см. статью про 1043,

Изменено пользователем mistacker
чуть не забыл

Поделиться сообщением


Ссылка на сообщение
Прикупил кабель Nokia CA-42 втыкаю в комп (разные компы пробовал) а он не ороёт что обнаружено новое оборудование

драйверы не просит . если же подключить сотовый к нему этим кабелем тогда только устанавливает драйверы.

Я так понимаю нужен кабель который просто воткнув его просит дрова комп ? Запутался я чо-то

[Размещать изображения можно только на нашем хостинге картинок. См. правила.]

Нужны дрова для usb-com. Должны идти в комплекте с кабелем. У Вас на ПК после установки дров должен появиться виртуальный com-порт, соттветственно через этот порт и будете дальше работать с железкой при помощи терминальной программы (в виндеXP например - Hyperterm)

Поделиться сообщением


Ссылка на сообщение

Наконец то подключился кабелем к serial консоли ... с помощью лома и какой-то матери

Кабель CA-42 действительно странный ,вскрыл я его ,там в наконечнике с USB есть микосхема с обвязкой но залито

это всё эпоксидкой...непоймёшь. Вроде используется 3 вывода TX RX и GND я только их и использовал. Дай думаю рискну подпаяю ещё VCC (ну вывод там ещё на нём около 3.25 V) и опа... :m0719: винда обнаружила оборудование поставились дрова ,назначился ком порт на nokia modem ,в Putty открыл консоль

всё заработало.

OpenWRT на dir300 работала как-то не совсем нормально... незнаю :m0710: , да и скорости по WIFI стали ниже чем на офф. Перешил на последнюю офф.

Толи дела OpenWRT на TP-Link TL-WR1043ND , у меня месяца 2 робит . Вай фай 70 -80 Mbit легко через 2 стены.Вообщем никаких нареканий,одно удовольствие. :m0723:

Всем спасибо

Поделиться сообщением


Ссылка на сообщение
Гость mistacker

По воле случая обзавелся ЕЩЕ одним Дир 300 на атеросе. Сам проц другой.

Ждите новых статей...

TipTop - всегда рады, как там опенВРТ на 8 метровой флеше? Много пакетов поставили через OPKG?

Поделиться сообщением


Ссылка на сообщение
Гость mistacker

Обзавелся еще одним Dir-300 A1...

Скорость по вафле - 3.14пец. До 1 мб иногда поднимается... Но главное на него не идет ДД-ВРТ!!!

Итог: есть мертвый 300, про который писал постом выше (убил таки изращенчески бут, прописал кривые адреса, а бут сотрудничает с процем),

есть живой с другой (!), не поддерживающей новый бут флешой и низкой скоростью...

Думаю теперь распаять LPT программатор. Если получится - будет статья...

После торжественного апргрейда обоих, тематику DIR-300 (A1) считаю закрытой...

Поделиться сообщением


Ссылка на сообщение

Хоть топик и старый, надеюсь кто-нибудь откликнется...

На моем dir-300 a1 год стоял dd-wrt, пока не решил поставить openwrt. Прошился нормально, все грузится, только режима клиентского моста не оказалось и я решил вернуться. Выставляю 192.168.1.2/255.255.255.0, шнур в LAN1, выдергиваю питание роутера, вставляю обратно, юзаю скрипт:

@echo off
if not %1. == . goto next
echo Syntax: %0 [ip_address]
:next
fping %1 -l -T -n 1 -w 200
if errorlevel 1 goto next
putty -telnet -P 9000 %1 -m redboot.txt
:end

Через секунд 50 ловит пакет:

10:31:19 : Reply[1] from 192.168.1.1: bytes=32 time=0.9 ms TTL=64

открывается путти и сразу вылетает (connection refused), что неудивительно.

О Чудо! Пока писал этот пост зашел в бутлоэдер...

Ответ тут:

Boot script timeout (1000ms resolution): 5
Use BOOTP for network configuration: false
Gateway IP address: 192.168.1.1
Local IP address: 192.168.1.10
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.1.228
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y

В мануале по прошивке openwrt (http://wiki.openwrt.org/toh/d-link/dir-300) зачем-то выставляли адрес 192.168.1.10...

Телнетился к 192.168.1.10:9000 и зашел!

Всем спасибо :huh:

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×