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.
Log in to router web interface and select the firmware image.
Sit and wait while it flashes. It will reboot and be accessible at 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).
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
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 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.
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.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.
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.0.1 or 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: 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.
curl instead of web browser
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
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.
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!