D-Link DWL-2100AP

Версия/Модель H/W Ревизия Дата запуска S/N Поддержка версии OpenWrt Спецификация модели
- A2 - - backfire-10.03.1-rc1 & trunk -
- A3 - - backfire-10.03.1-rc1 & trunk -
- A4 - - backfire-10.03.1-rc1 & trunk -
- A5 - - backfire-10.03.1-rc1 & trunk -
CPU Ram Flash Network USB Serial JTag
Atheros AR2313A @180MHz? 16MiB 4MiB 1 No Yes Yes
Architecture: MIPS 4Kc
Vendor: D-Link
Bootloader: (VxWorks)
Wireless System-On-Chip: Atheros AR2313A
CPU Speed: 180/240 MHz
Flash-Chip: AMD AM29LV320DB (A2) / Atmel AT49BV322A (A2, A3) / Spansion S29GL032M (A4) / Macronix MX29LV320D (A5)
Flash size: 4 MiB
RAM: 16 MiB
Wireless: Atheros AR2112A
Ethernet: IC+ IP101 (A2) / IC+ IP101A (A2/A3/A4)
Serial: Yes 9600-8N1

Плата устройства используется также в точке доступа Alpha Networks WAP-D19.

DWL-2100 A5 использует две антенны: одна вытравлена у переднего края печатной платы справа от светодиода WLAN, вторая - внешняя. Они программно переключаются.

Note: This will void your warranty!

  • To remove the cover losen the two screws in the bottom cover and carefully lift the top cover at the back and move it towards the front (three clamps there).
  • There are two screws holding the PCB to the bottom cover.

Main PCB of revision A1, A2 and A3
PCB with four modifications: three solder bridges and one soldering attempt at JP1 pin 2

Main PCB H/W Ver. A4, A5
No modification needed


Serial console represent hardware interface between router onboard serial port and PC. It is ussually used to see bootprocess and interact boot loader. This is possible only if opening the case and attaching a TTL line converter cable. Then you can stop the boot process by sending ESC on bootup until you get a boot prompt and change the bootloader enviroment settings.

The serial communication signals on the 2100AP are ranging from 0 to 3.3V. These must not be connected directly to a RS232 cable, which operates at much broader voltage range (-12 to +12V). An appropriate level coupler must be built for this purpose. There are many such circuits on the net, and the simplest ones might use a common MAX 3232 chip.

Rev. A2, A3


Двенадцатиконтактный нераспаяный разъём JP1 - последовательный порт. Его цоколёвка такая же, как в Netgear WPN824 (собранный также, как и DWL-2100, на AR2313) и Netgear WGT624 (на AR2312).

       1    JP1
 VCC - [] () - VCC
  RX - () ()
       () ()
       () ()
  TX - () ()
GND? - () () - GND?

Внимание! VCC - +3.3 Вольта, такие же и уровни сигналов TX и RX.

В Rev. A2 некоторые резисторы отсутствуют (R264, R273, R275), поэтому последовательный порт не работает. Их можно просто закоротить припоем и порт будет работать. Это не нужно в Rev. A3.
Проверьте напряжение на выводе “земли” разъёма JP1. Если “земли” там нет, возьмите “землю” с клеммы 2 порта J5. (Также для Rev. A2.)

Solder bridges at R275, R273 and R264 for rev. A2

Solder bridges on rev. A2

Rev. A4, A5

Serial: JP2 (уровни TTL 3.3В)


-1- _ -2- -3- -4-


The DWL-2100AP's firmware is VxWorks rtos with its own boot loader. Factory boot loader can load via TFTP and execute a MIPS elf executable. MIPS elf executable can be a OpenWrt ramdisk or modified bootloader.

We can test OpenWrt without making any changes to flash. This way you can safely play with OpenWrt and preserve the original firmware in flash. If you backup the settings and config you made in OpenWrt and you need them later back, you can easily restore your saved backup.

You need a tftp server with openwrt-atheros-vmlinux.elf boot image in it's root folder.

Wait for the bootup and press ESC until you get a boot prompt.

$ae(1,0)hai:openwrt-atheros-vmlinux.elf h= e= f=0x80


  • hai is the hostname of the computer running tftp (not needed to be correct)
  • h= sets the host computer ip adress
  • e= sets the network adress and mask of the ap
  • f= sets the flags to tftp boot and run

Original settings we get using command p to print settings):

ar531x rev 0x00005850 firmware startup...

  WAP-G02A  Boot Procedure                       V1.0
  Start ..Boot.B12..

theros AR5001AP default version

[Boot]: ?

 ?                     - print this list
 @                     - boot (load and go)
 p                     - print boot params
 c                     - change boot params
 e                     - print fatal exception
 v                     - print version
 B                     - change board data
 S                     - show board data
 n netif               - print network interface device address
 $dev(0,procnum)host:/file h=# e=# b=# g=# u=usr [pw=passwd] f=# 
                           tn=targetname s=script o=other 
 boot device: tffs=drive,removable     file name: /tffs0/vxWorks 
 Boot flags:           
   0x02  - load local system symbols 
   0x04  - don't autoboot 
   0x08  - quick autoboot (no countdown) 
   0x20  - disable login security 
   0x40  - use bootp to get boot parameters 
   0x80  - use tftp to get boot image 
   0x100 - use proxy arp 

available boot devices:Enhanced Network Devices
 ae1 tffs
[Boot]: p

boot device          : tffs:
unit number          : 0 
processor number     : 0 
file name            : /fl/APIMG1
inet on ethernet (e) :
flags (f)            : 0x0 
other (o)            : ae

Changed settings (use command c to change settings):

[Boot]: p

boot device          : ae
unit number          : 1 
processor number     : 0 
host name            : hai
file name            : openwrt-atheros-vmlinux.elf
inet on ethernet (e) :
host inet (h)        :
flags (f)            : 0x80 
other (o)            : ae

By replacing the stock loader with modified Redboot we can install OpenWrt permanently. Replacing the loader is tricky because you need to get a version tailored for your device (correct hw. revision and flash type) - see in the forum and below! Here is a forum thread where RedBoot loader was discussed.

Vendor Type Loader
AMD AM29LV320DB Redboot
Atmel AT49BV322A Redboot
Spansion S29AL032D Redboot
Spansion S29GL032D Redboot
Spansion S29GL032M Redboot
Macronix MX29LV320D Redboot

Compiled RedBoot, need file "BootLoader Redboot con support Lzma (molto più veloce) per OpenWRT sul 2100AP"

Install RedBoot using serial console

This is a experimental way to flash using only serial interface. RAM version of custom build RedBoot loader is needed from wich we can burn the permanent ROM version.

You need a TFTP server with both redboot.img (RAM version) and redboot.bin (ROM version) for your flash chip in it's root folder.
  • Plug the AP and press ESC until you are prompted to [boot] in terminal window.
  • Send p and write all lines from terminal output (to restore if needed), then with c change settings:
boot device          : ae1
unit number          : 0
processor number     : 0
file name            : redboot.img
inet on ethernet (e) : //this is AP IP address
host inet (h)        :         //this is [[docs:guide-user:troubleshooting:tftpserver|tftpd server]] IP address
gateway inet (g)     :
flags (f)            : 0x80
other (o)            : ae
  • Reboot AP, redboot RAM version have to load,
  • Install redboot into ROM with next commands:
fis init -f
load -r -b %{FREEMEMLO} redboot.bin -h -m tftp
fis create RedBoot
  • After AP reboot, redboot ROM version have to load and we are ready to install OpenWRT.

Install RedBoot - jtag method

The safest way to change the boot loader is by using both j-tag and serial interface. If something gets borked, you can re-install the original firmware.

Connect JTAG cable, run urjtag

jtag> cable WIGGLER PPDEV /dev/parport0 #this is for linux
jtag> cable WIGGLER parallel 0x378 #this is for Windows world
jtag> detect
jtag> include atheros/ar2312/ar2312
jtag> poke 0x58400000 0x000e3ce1
jtag> detectflash 0x1fc00000
jtag> flashmem 0x1fc00000 {path to file}/redboot(lzma).bin
DWL-2100AP is supported from Backfire 10.03.1-rc1 on. ***(Rev. A2 tested) and trunk branch is working out of the box too.
You need a redboot loader for your flash chip installed and a TFTP server with openwrt-atheros-vmlinux.lzma (kernel) and openwrt-atheros-root.squashfs (root file system) in it's root folder.

Next step is set loader environment up:

fconfig boot_script true
fconfig boot_script_timeout 2
Run script at boot: true
Boot script:
Enter script, terminate with empty line
>> fis load -l linux
>> go
Boot script timeout (1000ms resolution): 2
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address:
Local IP address mask:
Default server IP address:
Console baud rate: 9600
DNS server IP address:
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y

After AP reboot and we are ready for OpenWRT install. in this example ap is @ & tftp server is @

fis init -f
load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma
fis create -r 0x80041000 linux
load -r -b 0x80041000 openwrt-atheros-root.squashfs
fis create -r 0x80041000 -e 0x0 rootfs

Connect JTAG cable, run urjtag

jtag> cable WIGGLER PPDEV /dev/parport0
jtag> detect
jtag> include atheros/ar2312/ar2312
jtag> poke 0x58400000 0x000e3ce1
jtag> detectflash 0x1FFF0000
jtag> flashmem 0x1FFF0000 {path to file}/eeprom_dwl2100hw4_3FFF0000-3FFF0800.bin

Here is eeprom_dwl2100hw4_3FFF0000-3FFF0800.bin

old Wiki page

See port.jtag for more JTAG details.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2019/05/30 09:03
  • by jalakas