| |
| |
Known clones of this device:
Warning! Wireless support is likely to be broken in the latest versions (14.07, 15.05 and trunk). Solution: Adding an option ‘option disassoc_low_ack 0’ to /etc/config/wireless in the config wifi-iface section.
Difference beetween DIR-300 B1/B2/3 and DIR-600B1/B2 is only factory images for install via web interface in stock firmware.
Revision DIR-600 B5E is supported under openwrt with firmware DIR-610-A1!
Warning!!! Newer images are bricking DIR-600 B5E if sysupgrade is not written before first reboot! So after factory flash don't reboot, just write the sysupgrade.
B6 + B7 - cheaper versions of B5
Via web interface
factory image.http://192.168.1.1.
NOTE: As of July 2013 only access via the router's emergency web interface is required to install OpenWrt on this device. The normal web interface might complain about invalid image files and thus not work (as seen with vendor firmware version 2.14).
Use the emergency web interface.
NOTE: Routers with new firmwares do not accept the current image through the emergency room and are therefore not flashable this way. To circumvent this, you should downgrade u-boot before flashing. Using curl instead of web browser may be worth trying.
Can be flashed from Emergency Mode with install file.
If you are able to have OpenWRT after first reboot and next reboot having problems (Still in emergency mode, or won't boot):
- Flash again OpenWRT from Emergency Mode
- From OpenWRT do an update with SysUpgrade file
Have a look at this blog: http://diy.viktak.com/2016/02/installing-openwrt-on-d-link-dir-600.html
NOTE:
Suggested firmware openwrt-ramips-rt305x-dir-610-a1-*.bin leads to a kernel panic.
VFS: Cannot open root device “(null)” or unknown-block(0,0): error -6
The problem exists in OpenWrt 14.07, 15.05 and 15.05.1.
The reason is the lacking option
CONFIG_MTD_SPLIT_SEAMA_FW=y
in target/linux/ramips/rt305x/config-3.18 resp. config-3.10.
This means you have to add the line above and build OpenWrt from the sources.
As of August 2017 Debian 8 Jessie will work, latest versions will fail due to perl incompatibility.
In case no Image would flash successfully (even stock firmware) one can still do this to the rescue:
NOTE: New D-Link firmwares may contain new u-boot bootloader, so you may have problems with installing via emergency web interface.
The DIR-600 and DIR-300 B routers have an emergency HTTP web interface that is accessible at http://192.168.0.1 or http://192.168.1.1 for B5. With this you can upload firmware if you accidently locked yourself out of the router or broke the installed firmware.
First, download a pre-compiled build for the DIR-600 or DIR-300 B series. Download links see above. If you're flashing from the original D-Link firmware, use the factory builds.
NOTE: Use the correct build for your hardware version! This can be found on the router itself or on the box it came in. e.g.: H/W Ver: B2.
NOTE: Disable any other interfaces present on your computer before proceeding, as example wireless interfaces, to minimize confusion.
http://192.168.0.1 or http://192.168.1.1 for B5..bin file extension).
You can now login to your router flashed with OpenWrt via your web-browser at: http://192.168.1.1.
If you can't connect via your browser connect via SSH to 192.168.1.1, set a password (optional for now but recommended), enable WiFi, connect your routers WAN-Port to an existing network of yours, connect to the now open Wireless Network called “OpenWrt”, SSH into 192.168.1.1 again, do opkg update and opkg install luci to get a web interface.
NOTE: The router might have too little memory to install LuCI successfully.
NOTE: Upload may fail with modern browsers like Chrome, Safari, etc. If upload page times out or router restarts, use
curl instead, i.e.:
curl --form filename=@openwrt-*-squashfs-factory.bin --form post=Upload\ firmware\ NOW 192.168.0.1
Found here http://forums.dlink.com/index.php?topic=11001.msg249218#msg249218.
If you have already installed a version of OpenWrt and you wish to upgrade your installation you can use sysupgrade.
sysupgrade.scp openwrt-*-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/ sysupgrade /tmp/openwrt-*-squashfs-sysupgrade.bin
If you wish to reset your configuration you can add -n to sysupgrade.
| Architecture: | MIPS |
| Vendor: | Ralink |
| bootloader: | U-Boot |
| System-On-Chip: | RT288x/RT305x WiSoC |
| CPU/Speed | MIPS24KEc@320 Mhz w/ 16KB I cache/16KB D cache |
| Flash-Chip: | Spansion S29GL032N90TFI04 |
| Flash size: | 4096 KiB |
| RAM: | Winbond W9825G6JH-6 |
| RAM: | 32 MiB |
| Wireless: | Ralink RT3050F 2.4ghz 802.11bgn |
| Ethernet: | integrated 5 x10/100E w/ vlan support swconfig |
| Internet: | no |
| USB: | no |
| Power: | external 5V 1.2A |
| Serial: | Yes |
| JTAG: | No |
| Architecture: | MIPS |
| Vendor: | Ralink |
| bootloader: | U-Boot |
| System-On-Chip: | RT5350 WiSoC |
| CPU/Speed | MIPS24KEc@360 Mhz w/ 32KB I cache/16KB D cache |
| Flash-Chip: | ? |
| Flash size: | 4096 KiB |
| RAM: | ESMT M12L2561616A |
| RAM: | 32 MiB |
| Wireless: | Ralink RT5350 2.4ghz 802.11bgn |
| Ethernet: | integrated 5 x10/100E w/ vlan support swconfig |
| Internet: | no |
| USB: | no |
| Power: | external 5V 1.2A |
| Serial: | Yes |
| JTAG: | No |
| [JP1] | |||
|---|---|---|---|
| 1 | 2 | 3 | 4 (square) |
| Tx | GND | VCC | RX |
See: http://infodepot.wikia.com/wiki/D-Link_DIR-300_vB1
3.3V TTL Levels - 57600 Baud
This procedure is for DIR-600 B5E.
Please choose the operation: 1: Load system code to SDRAM via TFTP. 2: Load system code then write to Flash via TFTP. 3: Boot system code via Flash (default). 4: Entr boot command line interface. 7: Load Boot Loader code then write to Flash via Serial. 9: Load Boot Loader code then write to Flash via TFTP. A: Load Runtime code then write to Flash via Serial.
The DIR-300/600 Rev. B does not appear to have a JTAG interface.
For more JTAG details see:
You can control some of the GPIO-LEDs by writing “1” (on) or “0” (off) to the specific GPIO-Files. Note: Since Chaos Calmer (15.05) you should use d-link instead of dir-600-b2.
Wifi-LED:
echo "1" > /sys/class/leds/rt2800soc-phy0::radio/brightness
Power LED:
echo "1" > /sys/class/leds/dir-600-b2:amber:status/brightness
Green Power LED (Same LED as the previous, but different color):
echo "1" > /sys/class/leds/dir-600-b2:green:status/brightness
WPS LED:
echo "1" > /sys/class/leds/dir-600-b2:blue:wps/brightness
→ Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless etc.
On a basic installation the wireless LED does not blink if data is transmitted and/or received. To fix this simply append this block to /etc/config/system:
option 'led' 'wlan_led' option 'name' 'WLAN' option 'sysfs' 'rt2800pci-phy0::radio' option 'trigger' 'netdev' option 'dev' 'wlan0' option 'mode' 'link tx rx'
More detailed information about LEDs can be found here.
If you forgot your password, broke one of the startup scripts, firewalled yourself out, or corrupted the JFFS2 partition, you can get back in by using OpenWrt's failsafe mode.
NOTE: The root file system in failsafe mode is the SquashFS partition mounted in readonly mode. To switch to the normal writable root file system run mount_root and make any changes. Run mount_root now.
passwd
uci get network.lan.ipaddr
mtd -r erase rootfs_data
If you are done with failsafe mode power cycle the router and boot in normal mode.
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...
For connection of STB, or replacement of one of LAN ports on WAN (in case of faulty WAN) we involve the 4th port of a router of dir300b1 - in other port won't work! Example /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'
There is a working mod to add a SD-card slot to your DIR-300b1. Read post: https://forum.openwrt.org/viewtopic.php?pid=183660#p183660