|Revision||Version Supported||Model Specific Notes|
|C1, C2||Attitude Adjustment RC1||Full support, eth/wireless/leds/buttons ok|
|D1/D2||trunk||Partly working - problems with ethernet. Requires manual custom build.|
|D3||12.09 (Attitude Adjustment)||Workarounds available for: (1) manual 'ifup wan', (2) WAN LED and (3) Intel Wi-Fi Link 1000 BGN; Forum; Connection resets|
|D4||trunk||Working with AA (12.09) Forum|
|E1 - E4||Backfire||(Works with DIR-600 rev. A1 firmware)*, LEDs should work since R29973, support for E4 merged with DIR-600 A1 in R29976|
|H1||trunk||Partly working - Requires manual custom build with network configuration|
|H2||trunk||See H1 or Forum|
NOTE: ONLY revision C1 and C2 are fully supported yet.
*You might have to change the magic number at the end of the OpenWRT firmware to the one used by the stock DIR-615 firmware to get it to upload.
Frys FR-300RTR is the same as E1 Forum
* April 2013 - Version E4 is supported and known to work with attitude adjustment 12.09 (link to flash file)) , see installation instruction below
|Revision||Model Specific Notes|
|B2||Ubicom & SPI Flash with 2 MB only|
|D5||Ralink RT3352F SoC, you could try DIR-620 D1 image|
|F1, F2||SPI Flash with 2 MB only|
|J1||Realtek RTL8196C & SPI Flash with 2 MB only|
|D1 - D5||Ralink||32MB||4MB||4x1||No||No||Yes||No|
Installation is fairly straight forward for this router, you will need to access the D-Link recovery console with the steps below.
- Set a static IP on your PC to '192.168.0.2'.
- Press and hold the reset button until the power LED starts blinking orange (usually takes ~45 seconds). Or, hold down the reset button while powering on the router, this is much quicker and only takes 5-15 seconds.
- Go to 'http://192.168.0.1' from your PC web browser. (Note: most modern browsers don't work, see below, Firefox 13 portable version is known to work)
- "Browse" and select the OpenWrt firmware (e.g. 'openwrt-ar71xx-dir-615-c1-squashfs-factory.bin').
- Let router flash the image, don't worry if it reboots before it reaches 100%. If the page loads forever or times out, your browser is unsupported. See below.
- obtain new IP from the router via DHCP and follow firstlogin
The firmware update system doesn't support the HTTP header
Expect: 100-continue, which is used in POST requests by most modern browsers. If the browser sends this header, it will wait for the server to send a provisional response with status
100 Continue before sending the file contents. This feature was added in HTTP/1.1 to allow servers to reject uploads without needing to upload the file first. The router's built-in HTTP server claims to support HTTP/1.1, but it never sends the
100 Continue response so the browser waits forever or eventually times out.
Internet Explorer 6,7,8 on Windows is known to work, as well as Firefox 13.0.1 on GNU/Linux, but problems have been reported with newer versions and most other browsers on GNU/Linux. Older versions of Firefox (4.x and below) are known to have problems, several people have been more successful with newer versions. Alternatively, you can use the
curl command-line HTTP client like so:
curl -0vF email@example.com http://192.168.0.1/cgi/index
There seems to be some compatibility issues with the firmware update system network stack and at least a Linux 3.5.3 kernel and curl 7.27.0. Even forcing
curl down to HTTP/1.0 resulted in a hang. One known working configuration is NetBSD 5.1.2 with curl 7.26.0.
*A use of Firefox 13 portable edition (on windows 7) was verified as successful. Also known that local IP should be 192.168.0.10. Then FF 13 portable also should work.
Same actions(C1 and C2 have same hardware and openwrt image), but to upload openwrt image in recovery mode, you must to edit C1 openwrt image by hex editor.
Just add 30 31 before lastest not zero values:
These use a Ralink chipset that only has preliminary support and requires a manual build. D1/D2 models are known to have problems with the latest ethernet driver(s) and require the use of an older driver. D3/D4 are relatively stable with an unmodified trunk build.
The D4 works well if you treat it exactly the same as a DIR-600/B2
|: D1/D2 build instructions|
The DIR-615D maps to DIR-300b1 therefore there is no dedicated target for 615-D.
D2 can be flashed with Attitude Adjustment - RC1: openwrt-ramips-rt305x-dir-615-d-squashfs-factory.bin Problems when flashing with AA RC1 firmware:
- ethernet only works when trying to connect over 10baseT/UTP (10mbit/sec)
- wireless needs workaround
Wireless: It is fixed in the recent Attitude Adjustment branch and works out of box. However, if you are using precompiled AA RC1 you will need a workaround: https://dev.openwrt.org/ticket/12636
Ethernet: The only way to get this fully working is to recompile using old ramips ethernet drivers (from revision: 24328) To do this:
- get the desired branch/trunk
- navigate to target/linux/ramips/files/drivers/net/ethernet/ramips
- remove all *.c and *.h files
- copy into this folder the 3 files from https://dev.openwrt.org/browser/trunk/target/linux/ramips/files/drivers/net?rev=24328
- rename ramips.c to remips_main.c
- continue with configuration/compilation as normal
This has been tested and the router works flawlessly.
Works with Attitude Adjustment (12.09).
1. Download factory.bin for DIR-615.
2. Open Emergency Room.
3. Upload the firmware. If the upload does not start, just try another browser, e.g. Firefox.
4. Perform initial configuration (First login).
5. There could be a problem, that the WAN connection is not automatically configured because the 'wan' interface is not enabled during boot. To fix it:
- Variant 1: login via telnet/ssh and type 'ifup wan'; edit /etc/rc.local and add 'ifup wan' there to automatically enable it during boot.
- Variant 2: go to luci → System → Startup → 'Local startup' and add line 'ifup wan' before 'exit 0' line in rc.local. Reboot router.
6. There could be serious problems (reconnects, very high packet loss rate) with Intel Wi-Fi Link 1000 BGN Cards on Windows (the factory firmware from D-Link works just well with these cards). To fix it with OpenWRT, download and install latest drivers from Intel web site). Then go to Network and Sharing Center, open properties of your wireless adapter, then Configure, then Advanced and disable 802.11n mode there.
7. By default the WAN LED is not configured correctly. To fix it: Go to System → LED Configuration and change the first LED config as follows:
- Name: Status LED (green)
- LED Name: d-link:green:wan
- Default state: unchecked
- Trigger: netdev
- Device: eth0.2 (you can find this on Network → Interfaces under WAN)
- Trigger Mode: All checked (Link On, Transmit, Receive)
|: D4 build instructions|
Updated D4 install instructions (AArc2) are here: https://forum.openwrt.org/viewtopic.php?id=35184
|: The DIR-825 has a better description: installation.|
Requires at minimum a customized /etc/config/network. If you have a working network with DHCP server you can put the following in your /etc/config/network (you have to edit via serial connection for the first time or have a custom build with the modified /etc/config/network):
config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option ifname 'eth0' option hostname 'DIR-615_H1' option proto 'dhcp'
Now you should be able to telnet to DIR-615_H1
This documentation refers to current trunk of 03.04.2013. Instead of using the above procedure, you can build the image following the next steps. It will create a working image with dhcp on wan and fixed ip 192.168.0.1 on lan.
- Download current trunk. I've downloaded it from git mirror:
git clone git://nbd.name/openwrt.git- Add the file "target/linux/ramips/rt305x/profiles/d-link.mk" with content (ref:DIR-615 H1 current sources):
# # Copyright (C) 2012 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # define Profile/DIR615H1 NAME:=DIR-615 H1 PACKAGES:=\ kmod-usb-core kmod-usb-ohci \ kmod-usb2 kmod-ledtrig-usbdev \ usb-modeswitch usb-modeswitch-data \ kmod-usb-serial-option endef define Profile/DIR615H1/Description Package set for DIR-615 H1 endef $(eval $(call Profile,DIR615H1))- edit file "target/linux/ramips/base-files.mk", remove the line :
rm -f $(1)/etc/config/network- Edit the file "package/base-files/files/etc/config/network" with the settings you want. For example:
# Copyright (C) 2006 OpenWrt.org config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option ifname 'eth0.1' option type 'bridge' option proto 'static' option ipaddr '192.168.0.1' option netmask '255.255.255.0' config interface 'wan' option ifname 'eth0.2' option hostname 'DIR-615-H1' option proto 'dhcp' config switch option name rt305x option reset 1 option enable_vlan 1 config switch_vlan option device rt305x option vlan 1 option ports '0 1 2 3 6t' config switch_vlan option device rt305x option vlan 2 option ports '4 6t'- In case you have already build something make a dirclean
make dirclean- Configure the image:
Target System (Ralink RT288x/RT3xxx) Subtarget (RT305x based boards) Target Profile (DIR-615 H1)- Build the image:
make -j 5
Revisions D1 to D4, H1 as well as I1 are pretty much unbrickable as they have a built-in firmware recovery mode. Revision D5 does not have built in recovery.
To access, simply hold down the reset button while powering on the router. The power LED should blink orange. Set your computer with a static IP in the 192.168.0.x range, and open 192.168.0.1 in a web browser. Recovery mode loads up within a few seconds, but doesn't respond to pings. If the power LED is blinking orange the above page should be accessible.
You will need to flash either a stock firmware image or Openwrt-factory image, *not* a sysupgrade image.
Since this part is identical for all devices, see Basic configuration.
→wireless.overview This router requires the packages
Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itself. Don't be fooled: Port 1 on the unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on.
|Revision||CPU||Bootl.||Flash-Chip||Flash size||RAM-Chip||RAM size||Wireless||Ethernet||USB||Serial||JTAG||Circuit|
|B2||Ubicom IP5090U||U-Boot||Spansion S25FL016||2 MiB (2Mx8)||PoinTec PT460816HG
/ Mira P2S28D40CTP
|8 MiB (2x4Mx16)||AR5008 2.4ghz b/g/n||Marvell 88E6060||1x header on PCB, unpopulated||Yes||Yes||-|
|C1/C2||Atheros AR9130 (400 MHz MIPS)||U-Boot||W25x32vf1g||4 MiB||Winbond W9425G6EH-5||32 MiB (4M x 4 x 16bit)||AR9102 802.11n Radio||AR8216 6-port switch||1x header on PCB, unpopulated||Yes||Yes||Dir615C1|
|D1/D2||Ralink RT3052F (384 MHz MIPS) Rev 2 on D1/D2
Rev 3 on D3/D4
|U-Boot||MX29LV320DBTI-70G||4 MiB||2 x w9812g6ih||32 MiB (2x2Mx4x16bit)||SoC integrated||SoC integrated||No||Yes||No||-|
|D5||Ralink RT3352F (400 MHz MIPS)||unknown||ESMT F25l32PA||4 MiB||ESMT M14D2561616A||32 MiB (4Mx4x16bit)||SoC integrated||SoC integrated||No||Yes||No||-|
|E1/E2||Atheros AR7240 (400 MHz MIPS)||U-Boot||mx25l3205||4 MiB||W9425G6EH||32 MiB (4Mx4x16bit)||AR9283 802.11n Radio||(cpu direct)||1x header on PCB, unpopulated||Yes||Yes||-|
|E3/E4/E5||Atheros AR7240 (400 MHz MIPS)||U-Boot||mx25l3205||4 MiB||A3S56D40ETP||32 MiB (4Mx4x16bit)||AR9283 802.11n Radio||(cpu direct)||1x header on PCB, unpopulated||Yes||Yes||-|
|G1||Ralink RT3052F (384 MHz MIPS)||U-Boot||MX29LV640ETBI-70G||8 MiB||2 x w9812g6ih||32 MiB (2 x 2M x 4 x 16bit)||SoC integrated||SoC integrated||unknown||Yes||unknown||-|
|H1||Ralink RT3352 (400 MHz MIPS24kc)||U-Boot||mx25l3205d||4 MiB||2 x ESMT M12L128168A 166 MHz||32 MiB (2 x 2M x 16bit x 4 banks)||SoC integrated||SoC integrated||No||Yes||Yes||-|
|I1||Atheros AR9341 (535 MHz MIPS24kc) rev 1.1||unknown||mx25l3206d||unknown||1 x W9425g6JH-5||32 MiB (2 x 2M x 16bit x 4 banks)||SoC integrated||SoC integrated||No||unknown||unknown||-|
|J1||Realtek RTL8196C (RLX4181)||U-Boot||Winbond 25Q16BVSIG||2MiB||Winbond W9812G6JH-6||16 MiB (2M x 16bit x 4 banks)||Realtek RTL8192CE||SoC integrated||No||Yes||Yes||-|
|K1||Broadcom BCM5357C0||unknown||Macronix MX25L3206EMI-12G||4MiB||1 x W9425g6JH-5||32 MiB (4M x 16bit x 4 banks)||Broadcom BCM5357C0||SoC integrated||No||?||Yes||-|
|M1||Realtek RTL8196C (RLX4181)||unknown||Winbond 25Q32BVSIG||4MiB||Winbond W9825G6JH-6||32 MiB (4M x 16bit x 4 banks)||Realtek RTL8192CE||SoC integrated||No||?||Yes||-|
More info, please!
|C1/C2||toh/d-link/dir-615/c1-photos/start||This is rev.C2 device photo, but board rev C1!|
|D1||toh/d-link/dir-615/d1-photos/start||Mira DDR memory chips (instead of Winbond)|
|D2||toh/d-link/dir-615/d2-photos/start||Wireless, cpu are unshielded|
|D3||toh/d-link/dir-615/d3-photos/start||Wireless, cpu are unshielded, revD3E|
|D4||toh/d-link/dir-615/d4-photos/start||Wireless, cpu are unshielded|
|E3/E4/E5||toh/d-link/dir-615/e4-photos/start||Wireless, cpu and memory are unshielded on this photo|
|F1/F2||toh/d-link/dir-615/f1-photos/start||This is rev.F1/F2 device photo|
|K1||OpenWRT forum||Wireless, cpu and memory are unshielded on this photo|
Note: This will void your warranty!
- To remove the cover simply remove the 2 back rubber feet.
- There are two screws holding the PCB to the bottom cover.
D2 Serial port settings: Speed:57600, Data bits:8, Stop bits:2, Parity: none, Flow control: none
Remember to use 12V ↔ 3.3V serial port converter or you might break the router serial pins by overvoltage.
COM port settings: Speed:115200, Data bits:8, Stop bits:1, Parity:none, Flow control:none
Serial port settings: Speed:57600, Data bits:8, Stop bits:2, Parity: none, Flow control: none
COM port settings: Speed:115200, Data bits:8, Stop bits:1, Parity:none, Flow control:none
Remember to use 12V ↔ 3.3V serial port converter or you might break the router serial pins by overvoltage.
Looks like C1/C2 JTAG lines connected to testpoints tp5-tp8. Pinout is unknown.
E1/E2/E3/E4 has standard MIPS EJTAG JTAG 14-pin header pinout (pic is from E4)
See port.jtag for more JTAG details.
- as a beginner, you really should inform yourself about soldering in general and then even obtain some experience!
|C1/C2||RevC1 USB mod||D-Link DIR-615 HW rev C1 USB|
|E1-E4||RevEx USB mod||Dlink DIR-615 Revision E1|
The Device uses a DDR1 16Mbit x 16bit (16Mibit*16=256 mebibit. 256 mebibit/8=32MiByte) 400MHz chip Zentel A3S56D40FTP. Replace it with any 32Mbit x 16bit chip. 333MHz instead of 400MHz also works fine. It's quite hard to find these chips. One of the ways to get them is to have a look at DDR SO-DIMM (because SO-DIMM modules are shipped with x16 chips). Since there are no 64Mbit x 16bit DDR1 Chips available → no 128 MB mod!
The most easy approach is to seek for a 4-chip DDR 256 MB module. These all have x16 chips too. Chips only on one side (not to be confused with double-sided 256 MB modules with 4 chips on each side) and only 4 of them - that's the best chance to get some. They represent a small percent among usual 8-chip modules but this is equalized with the amount and "cheap as dirt" price of such DDR 256 MB modules.
- Hynix HY5DU121622DTP-D43 (From Mustang DDR SO-DIMM 512 MB)
- Hynix HY5DU121622CTP-D43 (From Hynix DDR SO-DIMM PC2700S-25330 512MB DDR 333MHz CL 2.5, chips are 400Mhz compatible due to "D43" marking.)
- Infineon HYB25D512160BE (From Infineon DDR SO-DIMM 512 MB)
- Elpida EDD5116ADTA-6B-E (From Elpida DDR SO-DIMM 512 MB)
- Elpida EDD5116AFTA-5B-E (From Elpida DDR SO-DIMM 512 MB)
- Alliance AS4C32M16D1-5TCN (From DigiKey, $2.76)
Additional list that may work:
|DDR||32Mx16||DDR 400 TSOP Pb Free||HY5DU121622DTP-D43-C||Hynix|
|DDR||32Mx16||DDR 400 TSOP Pb Free||H5DU5162ETR-E3C||Hynix|
|DDR||32Mx16||DDR 400 Pb Free||K4H511638G-LCCC||Samsung|
|DDR||32Mx16||DDR 400 Pb Free||K4H511638J-LCCC||Samsung|
|DDR||32Mx16||DDR 400 PB Free||P3S12D40ETP-GUTT||Mira|
|DDR||32Mx16||DDR 333 CL2.5 TSOP||MT46V32M16TG-6T:F||Micron|
|DDR||32Mx16||DDR 333 CL2.5 TSOP||MT46V32M16P-6T:F||Micron|
|DDR||32Mx16||DDR 333 PB Free TSOP||HYB25D512160CE-6||Qimonda|
|DDR||32Mx16||DDR 333 PB Free TSOP||HYB25D512160CEL-6||Qimonda|
|DDR||32Mx16||DDR 333 PB Free TSOP||HYB25D512160DE-6||Qimonda|
By default router able to see all 64MB.
Used only next chips:
Uboot and Kernel patches for 16MB Flash External Link
Take some GPIOs which are connected to LEDs or switches, 3.3V and GND from the JTAG header and use the mmc-over-gpio kernel module. The kmod-leds-gpio and kmod-input-gpio-keys-polled kernel modules have to be unloaded before. The blue WPS LED will show when the SD-Card is being accessed and the power LEDs will flicker while data is being transfered.
|GPIO #||Original use||SD signal||SD pin|
|7||Power LED amber||MOSI||2|
|9||Power LED green||SCK||5|
|14||WPS LED blue||/SS||1|
If you forgot your password, broken one of the startup scripts, firewalled yourself or corrupted the JFFS2 partition, you can get back in by using OpenWrt's 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. E. g. 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 is the DMZ LED? It's not mentioned anywhere else in this article.
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 passwd
- Forgot the routers IP address → 'uci get network.lan.ipaddr'
- You accidentally run 'opkg upgrade' or filled up the flash
by installing to big 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.
The D-Link DIR-615 has two buttons. They are WPS and RESET. The WPS button has its own blue led.
The buttons can be used with hotplug events. E. g. wifitoggle.
How to configure LEDs in general, see the LED section in the Wiki.
Rev C: The DIR-615c2 has 1 blue, 3 green and 2 orange controlled LEDs:
|LED name||LED symbol||Internal name|
Rev H1: The same LED configuration applies to Rev H1.
Revision C2 has 6 free (non-used) GPIO ports. To use them you should do some solder work. Please train you solder skills on broken motherboards before trying to do this on working hardware.
|0||R127||unpopulated resistor pad near LED21, pcb bottom left corner|
|2||R2||unpopulated resistor pad to the left of the CPU|
|7||R203||unpopulated resistor pad near LED20 near gpio0|
|8||tp5||testpoint on the bottom side of pcb near cpu|
|9||tp6||testpoint on the bottom side of pcb near cpu|
|11||tp7||testpoint on the bottom side of pcb near cpu|
There is also one free GPIO5 used by dir-615c1:green:wancpu led interface. This led interface is useless so we can just desolder r218 (located between q7 transistor and led10), remove led definition from mach-dir-615-c1.c recompile/reflash kernel and use GPIO5 as we want.
To activate GPIO interface you should export it using command 'echo N > /sys/class/gpio/export' (N is a GPIO number). Then you can use /sys/class/gpio/GPION interface to control GPIO (set/get direction, value, etc). Also you can use i2c_gpio_custom/w1_gpio_custom kernel modules for 1wire/i2c protocols over gpio to connect devices/sensors/actuators to your router.
- D-Link DIR-615 Hw:D1 https://forum.openwrt.org/viewtopic.php?pid=111163
- D-Link DIR-615 C2 64MB memory mod toh/d-link/dir-615/c2-memorymod/start
- D-Link DIR-615 C2 using Mac OS X to add gpsd https://forum.openwrt.org/viewtopic.php?id=24149
- D-Link DIR-615 A Firmware: ftp://ftp.dlink.com/Gateway/dir615/Firmware/
- D-Link DIR-615 B Firmware: ftp://ftp.dlink.com/Gateway/dir615_revB/Firmware/
- D-Link DIR-615 C Firmware: ftp://ftp.dlink.com/Gateway/dir615_revC/Firmware/
- D-Link DIR-615 E Firmware: ftp://ftp.dlink.com/Gateway/dir615_revE/Firmware/
- D-Link DIR-615 I Firmware: ftp://ftp.dlink.com/Gateway/dir615_revI/Firmware/
- D-Link DIR-615 I1 is supported by dd-wrt: ftp://ftp.dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/2012/07-20-12-r19519/dlink-dir615i1/
toh/d-link/dir-615.txt · Last modified: 2014/11/27 12:24 by codefetch