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'