D-Link DIR-300(Bx)/DIR-600(Bx)
| |
| |
Клоны
Известные клоны:
- D-Link Dir-300 B1: D-Link Dir600 B1, D-Link Dir600 B2.
- D-Link Dir-300 B5: D-Link Dir600 B5?, ZyXEL Keenetic Start?
При прошивке клонов через web интерфейс стандартной прошивки рекомендуется использовать factory образ клонов для 600 b1 для 600 b2.
Внимание! Wi-Fi может не работать в последних сборках OpenWrt (14.07, 15.05 и ночные сборки).
Решение: Добавить опцию ‘option disassoc_low_ack 0’ в /etc/config/wireless в config wifi-iface секции.
Поддерживаемые версии
Аппаратные характеристики
| Версия | Процессор | RAM | Flash | Порты | WiFi | USB | Serial | JTag |
|---|---|---|---|---|---|---|---|---|
| B1, B2, B3 | Ralink RT3050F@320MHz | 32 МБ | 4 МБ | 4 LAN + 1 WAN (10/100 МБ FastEthernet) | 1×1 2.4Ghz 802.11n 150 Мбит/с | Нет | Да | Нет |
| B5, B6, B7 | RaLink RT5350@360MHz | 32 МБ | 4 МБ | 4 LAN + 1 WAN (10/100 МБ FastEthernet) | 1×1 2.4Ghz 802.11n 150 Мбит/с | Нет (есть распайка) | ? | ? |
B6 и B7 - удешевленные версии B5
Установка
Версии B1,B2,B3
Через web интерфейс
- Скачиваем factory образ.
- Прошиваем через web интерфейс роутера как стандартную прошивку.
Если выдает ошибку образа, то шьем через emergency room:
Версии B5,B6,B7
Через emergency room
Emergency room
У этого режима разные названия, но суть одна: через этот режим вы всегда сможете восстановить свой роутер после экспериментов, установить openwrt, dd-wrt и восстановить стандартную прошивку.
Итак:
- Скачиваем образ для b1, b2, b3 или b5, b6, b7
- Выключаем роутер, вынимаем все остальные кабели, подключаем компьютер к роутеру (для b1 рекомендуется использовать синий кабель из комплекта.)
- Устанавливаем на компьютере IP вручную 192.168.0.2, подсеть 255.255.255.0, шлюз 192.168.0.1.(Если не сработало то 192.168.1.2, подсеть 255.255.255.0, шлюз 192.168.1.1)
- Зажимаем кнопку Reset.
- Включаем роутер и ждем 10-20 секунд.
- Отпускаем Reset, ждем минуту и подключаемся через браузер к 192.168.0.1. (192.168.1.1)
- Видим веб-интерфейс восстановления прошивки, загружаем openwrt образ(или любой другой).
- После автоматической перезагрузки получаем openwrt, адрес админки 192.168.1.1(не забываем сменить настройки сетевухи на автоматические) .
Если возникают проблемы с загрузкой образа, то поэкспериментируйте с разными браузерами и их старыми версиям.(firefox 13, ie8).
Если возникают проблемы с загрузкой образа на b5,b6,b7, и у вас стоит одна из последних прошивок d-link, то, скорее всего, вам придется понизить версию u-boot.
Самостоятельная сборка прошивок
Для начала проводим манипуляции, описанные здесь
В make menuconfig выбираем в “target” Ralink RT288x/RT3xxx и в “subtarget” RT3x5x/RT5350 based boards. Не трогаем “target profile” (оставляем “Default Profile”). При желании, добавляем Luci и все остальное. После make соберутся образы:
openwrt-ramips-rt305x-dir-300-b1-squashfs-factoryдля установки из стандартной прошивки и обновления B1,B2,B3.openwrt-ramips-rt305x-dir-300-b1-squashfs-sysupgradeдля обновления B1,B2,B3.openwrt-ramips-rt305x-dir-300-b7-squashfs-sysupgradeдля B5,B6,B7.
Для установки через web интерфейс стандартной прошивки B1, B2, B3.
Когда процесс сборки закончится, для прошивки вам необходимо будет, либо использовать factory образ, либо переконвертировать sysupgrade образ OpenWrt в специальный формат dir-300 или dir-600 (смотря какое устройство вы собираетесь перепрошить). Для этого вам нужна программка v2image, которая входит в архив по ссылке: dir300b.v2.02.source.tar.gz Распаковав архив, найдите эту программку, например, поиском. Переместите в директорию с вашей прошивкой. И затем, если вы работаете из-под Linux (что подразумевается по умолчанию), запустите в зависимости от версии вашего устройства:
- Для DIR-300 выполните:
v2image -v -i openwrt-ramips-rt305x-dir-300-b1-squashfs-sysupgrade.bin -o openwrt-dir300b1-squashfs-webflash.bin -d /dev/mtdblock/2 -s wrgn23_dlwbr_dir300b
- Для DIR-600 выполните:
v2image -v -i openwrt-ramips-rt305x-dir-300-b1-squashfs-sysupgrade.bin -o openwrt-dir600b2-squashfs-webflash.bin -d /dev/mtdblock/2 -s wrgn23_dlwbr_dir600b
Wifi Выдает только 65МБит/c?
Изменение данной настройки в домах с большой плотностью wifi точек, может только ухудшить производительность вашего роутера вечером, когда соседские точки сильно загружены.
Суть в том, что по умолчанию в Openwrt соблюдаются законодательства разных стран и при присутствии других wifi роутеров, ваш роутер сбрасывает канал 40mhz до 20 mhz, дабы не загрязнять эфир и не ухудшать собственную производительность, хотя сообщает что умеет 150МБит/c и 40mhz, а так как у нас режим MIMO 1:1, то при 20mhz получаем 65 МБит/с по стандарту.
Как исправить:
Заходим по ssh(если вы еще не установили пароль, то по telnet) и вводим команды:
uci set wireless.radio0.htmode=HT40 /выставляем ширину канала 40mhz, можно и через веб интерфейс. uci set wireless.radio0.noscan=1 /запрещаем роутеру сканировать окружение. uci commit wireless /записываем наши команды в конфигурационный файл. wifi /перезагружает wifi интерфейс с новыми настройками без перезагрузки роутера.
И получаем честные 150МБит/c
Внутренности:
B1
B5
B7
Чипсет B1:
Bootlogs
OEM bootlog DIR-300 B7
Jan 1 00:00:17 syslogd started: BusyBox v1.19.2 Jan 1 00:00:17 kernel: [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) Jan 1 00:00:17 kernel: [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Jan 1 00:00:17 kernel: [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Jan 1 00:00:17 kernel: [ 0.000000] Primary instruction cache 32kB, VIPT, I-cache aliases, , 4-waylinesize 32 bytes. Jan 1 00:00:17 kernel: [ 0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes Jan 1 00:00:17 kernel: [ 0.000000] Writing ErrCtl register=00020807 Jan 1 00:00:17 kernel: [ 0.000000] Readback ErrCtl register=00020807 Jan 1 00:00:17 kernel: [ 0.000000] Memory: 29268k/32768k available (2340k kernel code, 3500k reserved, 620k data, 144k init, 0k highmem) Jan 1 00:00:17 kernel: [ 0.000000] SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Jan 1 00:00:17 kernel: [ 0.000000] Hierarchical RCU implementation. Jan 1 00:00:17 kernel: [ 0.000000] Verbose stalled-CPUs detection is disabled. Jan 1 00:00:17 kernel: [ 0.000000] NR_IRQS:128 Jan 1 00:00:17 kernel: [ 0.000000] Console: colour dummy device 80×25 Jan 1 00:00:17 kernel: [ 0.000000] console [ttyS1] enabled Jan 1 00:00:17 kernel: [ 0.010000] Calibrating delay loop... 239.20 BogoMIPS (lpj=1196032) Jan 1 00:00:17 kernel: [ 0.260000] pid_max: default: 32768 minimum: 301 Jan 1 00:00:17 kernel: [ 0.270000] Mount-cache hash table entries: 512 Jan 1 00:00:17 kernel: [ 0.280000] NET: Registered protocol family 16 Jan 1 00:00:17 kernel: [ 0.290000] bio: create slab <bio-0> at 0 Jan 1 00:00:17 kernel: [ 0.300000] dru mark: unknown type 772 for dev lo Jan 1 00:00:17 kernel: [ 0.310000] cfg80211: Calling CRDA to update world regulatory domain Jan 1 00:00:17 kernel: [ 0.320000] Switching to clocksource MIPS Jan 1 00:00:17 kernel: [ 0.330000] dru filter: 80 -> 0x00000666 avenrun Jan 1 00:00:17 kernel: [ 0.330000] dru filter: 80 → 0x00000666 avenrun Jan 1 00:00:17 kernel: [ 0.340000] dru filter: 120%% → 0x00000999 avenrun Jan 1 00:00:17 kernel: [ 0.350000] Registered /proc/sys/dru Jan 1 00:00:17 kernel: [ 0.360000] NET: Registered protocol family 2 Jan 1 00:00:17 kernel: [ 0.370000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) Jan 1 00:00:17 kernel: [ 0.380000] TCP established hash table entries: 1024 (order: 1, 8192 bytes) Jan 1 00:00:17 kernel: [ 0.400000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) Jan 1 00:00:17 kernel: [ 0.410000] TCP: Hash tables configured (established 1024 bind 1024) Jan 1 00:00:17 kernel: [ 1.050000] HDLC line discipline maxframe=4096 Jan 1 00:00:17 kernel: [ 1.060000] error registering line discipline: -22 Jan 1 00:00:17 kernel: [ 1.070000] N_HDLC: init failure -22 Jan 1 00:00:17 kernel: [ 1.080000] Ralink gpio driver initialized Jan 1 00:00:17 kernel: [ 1.080000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled Jan 1 00:00:17 kernel: [ 1.100000] serial8250: ttyS0 at MMIO 0x10000500 (irq = 37) is a 16550A Jan 1 00:00:17 kernel: [ 1.110000] serial8250: ttyS1 at MMIO 0x10000c00 (irq = 12) is a 16550A Jan 1 00:00:17 kernel: [ 1.130000] loop: module loaded Jan 1 00:00:17 kernel: [ 1.140000] GMAC1_MAC_ADRH -- : 0x0000000c Jan 1 00:00:17 kernel: [ 1.150000] GMAC1_MAC_ADRL -- : 0x43305077 Jan 1 00:00:17 kernel: [ 1.160000] Ralink APSoC Ethernet Driver Initilization. v3.1 512 rx/tx descriptors allocated, mtu = 1500! Jan 1 00:00:17 kernel: [ 1.180000] NAPI enable, Tx Ring = 512, Rx Ring = 512 Jan 1 00:00:17 kernel: [ 1.190000] GMAC1_MAC_ADRH -- : 0x0000000c Jan 1 00:00:17 kernel: [ 1.200000] GMAC1_MAC_ADRL -- : 0x43305077 Jan 1 00:00:17 kernel: [ 1.200000] PROC INIT OK! Jan 1 00:00:17 kernel: [ 1.210000] PPP generic driver version 2.4.2 Jan 1 00:00:17 kernel: [ 1.220000] PPP_async: error -22 registering line disc. Jan 1 00:00:17 kernel: [ 1.230000] PPP_sync: error -22 registering line disc. Jan 1 00:00:17 kernel: [ 1.240000] PPP Deflate Compression module registered Jan 1 00:00:17 kernel: [ 1.250000] PPP BSD Compression module registered Jan 1 00:00:17 kernel: [ 1.260000] PPP MPPE Compression module registered Jan 1 00:00:17 kernel: [ 1.270000] NET: Registered protocol family 24 Jan 1 00:00:17 kernel: [ 1.280000] PPTP driver version 0.8.5 Jan 1 00:00:17 kernel: [ 1.290000] Ralink APSoC Hardware Watchdog Timer Jan 1 00:00:17 kernel: [ 1.300000] Netfilter messages via NETLINK v0.30. Jan 1 00:00:17 kernel: [ 1.310000] nf_conntrack version 0.5.0 (457 buckets, 1828 max) Jan 1 00:00:17 kernel: [ 1.320000] GRE over IPv4 demultiplexor driver Jan 1 00:00:17 kernel: [ 1.330000] gre: can't add protocol Jan 1 00:00:17 kernel: [ 1.340000] ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Linux Jan 1 00:00:17 kernel: [ 1.350000] arp_tables: (C) 2002 David S. Miller Jan 1 00:00:17 kernel: [ 1.360000] TCP cubic registered Jan 1 00:00:17 kernel: [ 1.370000] NET: Registered protocol family 17 Jan 1 00:00:17 kernel: [ 1.380000] Bridge firewalling registered Jan 1 00:00:17 kernel: [ 1.380000] Ebtables v2.0 registered Jan 1 00:00:17 kernel: [ 12.880000] RT305x_ESW: Link Status Changed Jan 1 00:00:17 kernel: [ 12.880000] message received before monitor task is initialized kerSysSendtoNlMonTask Jan 1 00:00:17 kernel: [ 20.060000] ===================================================== Jan 1 00:00:17 kernel: [ 20.070000] Channel 1 : Dirty = 34, ApCnt=2, Busy Time = 10435, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.080000] Channel 2 : Dirty = 35, ApCnt=4, Busy Time = 14444, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.100000] Channel 3 : Dirty = 36, ApCnt=7, Busy Time = 32977, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.110000] Channel 4 : Dirty = 37, ApCnt=4, Busy Time = 20136, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.130000] Channel 5 : Dirty = 38, ApCnt=1, Busy Time = 12068, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.140000] Channel 6 : Dirty = 38, ApCnt=3, Busy Time = 8888, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.160000] Channel 7 : Dirty = 39, ApCnt=1, Busy Time = 22985, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.180000] Channel 8 : Dirty = 39, ApCnt=1, Busy Time = 26174, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.190000] Channel 9 : Dirty = 40, ApCnt=4, Busy Time = 74844, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.210000] Channel 10 : Dirty = 10, ApCnt=0, Busy Time = 39162, Skip Channel = FALSE Jan 1 00:00:17 kernel: [ 20.220000] Channel 11 : Dirty = 38, ApCnt=7, Busy Time = 31268, Skip Channel = FALSE Jan 1 00:00:21 udhcpc[119]: UDHCP start.. Jan 1 00:00:21 udhcpc[119]: vendorclass - <^Ldslforum.org Jan 1 00:00:21 udhcpc[119]: udhcp client (v0.9.8) started (iface: wan1, connect: 1) Jan 1 00:00:22 udhcpc[119]: Sending discover... Jan 1 00:00:22 miniupnpd[148]: could not open lease file: /tmp/upnp.leases Jan 1 00:00:22 miniupnpd[148]: HTTP listening on port 52036 Jan 1 00:00:22 miniupnpd[148]: Listening for NAT-PMP traffic on port 5351 Jan 1 00:00:24 udhcpc[119]: Sending discover... Jan 1 00:00:24 kernel: [ 27.710000] monitor task is initialized pid= 150 Jan 1 00:00:24 dms_get_last_renew[161]: file /tmp/stat.wan1_1 not found Jan 1 00:00:25 dms_get_last_renew[176]: file /tmp/stat.wan1_1 not found Jan 1 00:00:28 udhcpc[119]: Sending discover... Jan 1 00:00:31 kernel: [ 35.400000] br0: port 2(eth2.1) entering forwarding state Jan 1 00:00:31 kernel: [ 35.440000] br0: port 1(ra0) entering forwarding state Jan 1 00:00:39 morda[201]: user admin is logged in with administrator privileges to the ip 192.168.0.2 Jan 1 00:00:41 udhcpc[119]: Sending discover... Jan 1 00:00:43 udhcpc[119]: Sending discover... Jan 1 00:00:47 udhcpc[119]: Sending discover... Jan 1 00:00:56 morda[378]: user admin is logged in with administrator privileges to the ip 192.168.0.2 Jan 1 00:01:00 udhcpc[346]: Sending discover... Jan 1 00:01:02 udhcpc[346]: Sending discover... Jan 1 00:01:06 udhcpc[346]: Sending discover...
Other Info
Для подключения STB к DIR-300b1, или замены одного из портов LAN в WAN (например в случае неисправного WAN) мы используем 4 порт LAN маршрутизатора. Другой порт в DIR-300b1 работать не будет. Пример /etc/config/network
config switch_vlan
option device 'rt305x'
option vlan '1'
option ports '1 2 3 6t'
config switch_vlan
option device 'rt305x'
option vlan '2'
option ports '0 4 6t'




