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 |
Hardware
Info
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) |
USB: No |
Serial: Yes 9600-8N1 |
JTAG: Yes |
Плата устройства используется также в точке доступа Alpha Networks WAP-D19.
DWL-2100 A5 использует две антенны: одна вытравлена у переднего края печатной платы справа от светодиода WLAN, вторая - внешняя. Они программно переключаются.
Opening the case
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.
Serial
→ port.serial.
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
JTAG: J5
Двенадцатиконтактный нераспаяный разъём 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
Rev. A4, A5
Installing
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.
Ramdisk Network Boot
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=192.168.1.254 e=192.168.1.20:0xffffff00 f=0x80
where:
hai
is the hostname of the computer running tftp (not needed to be correct)h=
sets the host computer ip adresse=
sets the network adress and mask of the apf=
sets the flags to tftp boot and run
Original settings we get using command p
to print settings):
ar531x rev 0x00005850 firmware startup... SDRAM TEST...PASSED WAP-G02A Boot Procedure V1.0 --------------------------------------------------------- Start ..Boot.B12.. theros AR5001AP default version 3.0.0.43A 1 [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) : 192.168.1.20:0xffffff00 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) : 192.168.1.20:0xffffff00 host inet (h) : 192.168.1.254 flags (f) : 0x80 other (o) : ae
Bootloader replacement
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.
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 withc
change settings:
boot device : ae1 unit number : 0 processor number : 0 file name : redboot.img inet on ethernet (e) : 192.168.1.20:ffffff00 //this is AP IP address host inet (h) : 192.168.1.254 //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 192.168.1.254 -m tftp fis create RedBoot reset
- 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
Install OpenWRT
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 fconfig 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: 192.168.1.254 Local IP address: 192.168.1.1 Local IP address mask: 255.255.255.0 Default server IP address: 192.168.1.254 Console baud rate: 9600 DNS server IP address: 192.168.1.254 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 reset
After AP reboot and we are ready for OpenWRT install. in this example ap is @192.168.1.1 & tftp server is @192.168.1.254
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 reset
Recovery Board Config
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