Table of Contents

D-Link DIR-645

Issues

v22.03.0 IS CURRENTLY NOT WORKING: Forum post: https://forum.openwrt.org/t/v22-03-0-release-does-not-work-on-d-link-dir-645/136435 GitHub issue: https://github.com/openwrt/openwrt/issues/10634 Latest working version is 21.02.3: Firmware OpenWrt install: https://downloads.openwrt.org/releases/21.02.3/targets/ramips/rt3883/openwrt-21.02.3-ramips-rt3883-dlink_dir-645-squashfs-factory.bin Firmware OpenWrt upgrade: https://downloads.openwrt.org/releases/21.02.3/targets/ramips/rt3883/openwrt-21.02.3-ramips-rt3883-dlink_dir-645-squashfs-sysupgrade.bin

Fixed in v22.03.3: release notes

---

Wireless is not working stable. Connection comes down after a certain time (hours).

See bug reports:

Forum discussions:

Supported Versions

Hardware Highlights

Installation

Install OpenWrt (generic explanation)

Flash Layout

D-Link DIR-645 Rev.A1 Flash Layout
Layer0 MX24L6405D c2 2017c220 (mtd0, mtd6) 8192KiB
Layer1 mtd7
u-boot
192KiB
mtd4
devdata
64KiB
mtd3
devconf
64KiB
mtd2
upgrade
7680KiB
mtd5
langpack
128KiB
Layer2 mtd8
boot env
32KiB

kernel
1280.1KiB
mtd1
rootfs
5748KiB
mountpoints /
filesystem gzipped xml SquashFS

The original firmware in upgrade contains a 96 bytes SEAMA-header followed by the kernel padded to 64KB, followed by the rootfs. Thus the rootfs is 96 bytes off from a 64 KB boundary. Note that the SEAMA-header is variable size.

  1. Download Firmware OpenWrt Install as shown above (*-squashfs-factory.bin)
  2. Log in your routers admin interface
  3. Tools → Firmware → Firmware Upgrade → Choose the file you just downloaded

OEM installation using the TFTP method

There may be an easier way to do this but this is what worked for me.

First, get your serial port going. At the moment the network interfaces aren't coming up so you'll need the console to work with it.

Get the source from D-Link at this address:

http://tsd.dlink.com.tw/GPL.asp

The file you're looking for is this DIR645A1_GPL101.tar.gz

Read the instructions and follow them till you get a successful build.

Once you get a build of the d-link linux, get your OpenWrt build going for this device (rt3883) but build an initramfs image.

You can use the usual tftp setup to get the initramfs running on there or you can burn it to the flash. The flash isn't supported out of the box with openwrt (as far as I can tell) so it'll need to be the initramfs kernel so that it loads everything in to ram. Hopefully someone can get the flash support going.

If you want to burn it in there you'll need to package it properly. Here's the generic procedure for this device using the dlink source for packaging it.

1. Get a kernel and a rootfs (if you build openwrt from the trunk these files will be in trunk/build_dir/linux-ramips_rt3883 as vmlinux and root.squashfs).

2. run these commands from the dlink directory (DIR645A1_GPL101).

source ./setupenv

tools/lzma/lzma vmlinux

tools/building/packimgs -o raw.img -i vmlinux.lzma -i root.squashfs

tools/seama/seama -i raw.img -m dev=/dev/mtdblock/2 -m type=firmware

tools/seama/seama -s web.img -i raw.img.seama -m signature=wrgn39_dlob.hans_dir645

tools/seama/seama -d web.img

tools/release.sh web.img DIR645A1_FW101B06_c5fl.bin

make sealpac_template

tools/release.sh sealpac.slt DIR645A1_FW101B06_c5fl.slt

(replace vmlinux and root.squashfs with correct location and names of appropriate files)

3. your image is in images as DIR645A1_FW101B06_c5fl.bin use options 2 in the serial console to burn the image to the device.

Again, if you use the kernel that comes from doing an initramfs build you'll be able to get in and work with it in ram and hopefully get the flash suport going so that a regular build can be put on.

Tftp is simple. Just set up a tftp server on a computer (probably the one that you built the image on). When the device boots up hit option 1 or 2 as appropriate (1 for ram image, 2 to burn it). The first option is the ip address for the device (the address you want the device to have), the second is the ip address of the tftp server and the third is the filename you want to grab (DIR645A1_FW101B06_c5fl.bin if you used the steps above).

Upgrading OpenWrt

generic.sysupgrade

LuCI Web Upgrade Process

  1. Browse to http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/ LuCI Upgrade URL
  2. Upload image file for sysupgrade to LuCI
  3. Wait for reboot

Terminal Upgrade Process

Debricking

generic.debrick

From a soft brick: Hold down the reset button for about 30 seconds and release. If it reload your firmware and wipe your configurations

From a hard brick: Like other D-Link routers it has a built-in firmware recovery mode.

To access, simply hold down the reset button while powering on the router. The WAN LED should blink. Set your computer with a static IP in the 192.168.0.x range, and open 192.168.0.101 in a web browser. Recovery mode loads up within a few seconds, but doesn't respond to pings. If the power LED is blinking the above page should be accessible.

You will need to flash either a stock firmware image or OpenWrt-factory image, *not* a sysupgrade image.

Basic configuration

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

Specific Configuration

Interfaces

The default network configuration is:

Interface Name Description Default configuration
br-lan LAN & WiFi 192.168.1.1/24
vlan0 (eth0.0) LAN ports (1 to 4) None
vlan1 (eth0.1) WAN port DHCP
wl0 WiFi Disabled

Switch Ports (for VLANs)

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.

Port Switch port
Internet (WAN) 4
LAN 1 3
LAN 2 2
LAN 3 1
LAN 4 0

Failsafe mode

failsafe_and_factory_reset

Buttons

hardware.button on howto use and configure the hardware button(s).

The DIR-645 has two buttons. They are Reset and WPS. Here, we merely name the buttons, so we can use them in the above Howto:

BUTTON Event
Reset reset
Wireless Protection Setup wps

Hardware

Info

Instruction set MIPS
Vendor Ralink
bootloader U-Boot
System-On-Chip Ralink 3883 (MIPS 74Kc)
CPU/Speed 74Kc V4.12 500 Mhz
Flash-Chip MX24L6405D
Flash size 8192 KiB
RAM 64 MiB
Wireless RT2860v2_ap 2.4GHz 802.11bgn
switch RealTek RTL8367RB Gigabit
USB Yes 1 x 2.0
Serial Yes
JTAG ?

Photos

Model Number

Front: Back:
Front Back
Left: Isometric: Top:
Left Isometric Top

Content up is available under Amazon's Conditions of Use unless otherwise noted.

Priorities: Inside1: Inside2:
Priorities Inside1 Inside2
Antennas: Motherboard:
Left Isometric

Opening the case

Warranty

https://www.ifixit.com/Guide/D-Link+dir-645+Disassembly/142139

Serial

The serial port is connected to the header labeled JP1. The pinout is as follows:

JP1 Pins Signal
Pin Rx
no pin
Pin +3.3v
Pin Gnd
Pin Tx

Settings: 57600 8N1

port.serial general information about the serial port, serial port cable, etc.

How to connect to the Serial Port of this specific device:

Photo of PCB with markings

JTAG

port.jtag general information about the JTAG port, JTAG cable, etc.

How to connect to the JTAG Port of this specific device:

Photo of PCB with markings

Notes

Telnet Login

Login: Alphanetworks

Password: Firmware Signatur for example: wrgn39_dlob.hans_dir645

Tags

How to add tags