| Note: See D-Link DIR-300 for D-Link DIR-300 Rev.A1 (different hardware (HW))
| Note: See D-Link DIR-600 for D-Link DIR-600 Rev.A1 (different hardware (HW))
Known clones of this device:
D-Link Dir-300 B1: D-Link DIR-600 B1, D-Link DIR-600 B2.
D-Link Dir-300 B5: D-Link DIR-600 B5?, ZyXEL Keenetic Start?
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!
B6 + B7 - cheaper versions of B5
Installing of OpenWrt
B1, B2, B3 versions
Via web interface
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).
B5, B6, B7 versions
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.
Have a look at this blog: http://diy.viktak.com/2016/02/installing-openwrt-on-d-link-dir-600.html
Upload the …-ramips-rt305x-dir-610-a1-squashfs-factory.bin firmware.
After this your OpenWrt is running under 192.168.1.1.
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
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.
Emergency Web Interface
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.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
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.
To access the emergency web interface to flash the new firmware first unplug the power cable from the router, press and hold the reset button, plug the power cable back in while still holding the reset button and hold it for at least 5 seconds until the orange LED starts blinking, then release the reset button.
Another method to access the emergency web interface is to hold the reset button for 30-45 seconds with power plugged in.
Attach a network cable to one of the LAN
ports (1 to 4) on the router and the other end to your computers Ethernet port.
Set your computers Ethernet IP to: 192.168.0.2 and the Subnet to 255.255.255.0 (for B5 it's 192.168.1.2 and Subnet 255.255.255.0).
NOTE: Disable any other interfaces present on your computer before proceeding, as example wireless interfaces, to minimize confusion.
Open a web-browser on your computer and access the emergency web interface at
http://192.168.1.1 for B5.
Choose 'browse' and select your previously downloaded firmware file (
.bin file extension).
Press 'upload' and watch the timer countdown from 90 seconds. At the end of the countdown the webpage will try to refresh but will fail.
At this point set your computers network interface to obtain an IP address automatically (DHCP) and it should obtain a new address in the 192.168.1.X range.
You can now login to your router flashed with OpenWrt via your web-browser at:
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.
curl instead of web browser
If you have already installed a version of OpenWrt and you wish to upgrade your installation you can use
scp openwrt-*-squashfs-sysupgrade.bin firstname.lastname@example.org:/tmp/
If you wish to reset your configuration you can add
DIR-300/600 Revision B Images
This procedure is for DIR-600 B5E.
Solder the pins RX,GND,TX as shown above. Don't use VCC.
Start a terminal programm, for example "minicom -D /dev/ttyUSB0 -b 57600"
Copy a working D-Link firmware or xxx-squashfs-factory.bin to /mydir.
Start a tftp server on your PC, for example "atftpd –daemon /mydir"
Power on the router.
For 1s you can see the U-Boot bootloader menu, see below
Choose 2 in the right moment, then Y
You will be asked for IP of Router and PC and the name of the firmware image.
The router will restart after 2 minutes and try to start the new image.
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.
echo "1" > /sys/class/leds/rt2800soc-phy0::radio/brightness
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
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.
Device specific configuration
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.
Boot into failsafe mode
Unplug the router's power cord.
Connect the router's LAN1 port directly to your PC.
Configure your PC with a static IP address between 192.168.1.2 and 192.168.1.254. Eg. 192.168.1.2 (gateway and DNS
is not required).
Plug the power on and wait for the DMZ LED to light up.
While the DMZ LED is on immediately press any button (Reset and Secure Easy Setup will work) a few times .
If done right the DMZ LED will quickly flash 3 times every second.
You should be able to telnet to the router at 192.168.1.1 now (no username and password)
What to do in 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.
Forgot/lost your password and you like to set a new one
Forgot the routers IP address
uci get network.lan.ipaddr
You accidentally run 'ipkg upgrade' or filled up the flash by installing large packages (clean the JFFS2 partition and start over)
mtd -r erase rootfs_data
If you are done with failsafe mode power cycle the router and boot in normal mode.
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!
option device 'rt305x'
option vlan '1'
option ports '1 2 3 6t'
option device 'rt305x'
option vlan '2'
option ports '0 4 6t'
Default Router Settings
Model DIR-300 B1
Model DIR-600 B1/B2
SD-card slot mod