DV-2020
The Davolink DV-2020 is a an ADSL modem with 4 Fast Ethernet ports, Wireless Access Point and VoIP (2 times FXS). This board also is prepared but not suppied with components for host USB. The modem was distributed by Versatel/Tele2 in the Netherlands starting in beginning 2007.
Supported Versions
NOTE: This router is considered WIP because currently there is no ADSL driver available.
| Version/Model | Launch Date | S/N | OpenWrt Version Supported | Model Specific Notes |
|---|---|---|---|---|
| - | - | no, compile your own | - |
NOTE: Trunk version need to have the mtd changes to fix crc error for the brcm63xx platform created by Cshore (trunk >= 24835, tested with 25565).
Hardware Highlights
| CPU | Ram | Flash | Network | USB | Serial | JTag |
|---|---|---|---|---|---|---|
| Broadcom bcm6348@256MHz | 16MiB | 8MiB | 4 x 1 | Yes | Yes | Yes |
Note: The DV-2020 has a slave USB port (e.g. to provide Internet access via USB) and optionally you can add a host USB (1.1) to connect other devices.
Installation
Note: Before installing a new image it might be a good idea to make a backup first. See JTAG below.
- build You should download the current trunk version, and compile.
- generic.flashing Now write this firmware-file onto the flash-chip of your device. You can use the CFE web-interface.
- Quickest way is to download a precompiled image, but the board-id isn't known yet so this is not an option.
- At the moment you need to build your own image. Because the board-id is unknown you need to perform some additional steps to add an device. You can copy the details from the DV-201AMR for the DV-2020. During menuconfig you choose Broadcom BCM63xx as target system and use Target Profile (Broadcom BCM43xx WiFi (wl, proprietary)). After following the steps to add the DV2020 device use the openwrt-6338GW-generic-squashfs-cfe.bin file in ./bin/brcm63xx
Flash Layout
| Davolink DV-2020 Flash Layout OpenWrt | ||||||
|---|---|---|---|---|---|---|
| Layer0 | MX29LV640MB 4Mx16 BotB 8192KiB | |||||
| CFE Backup Layer | lower half flash 4096KiB | upper half flash 4096KiB | ||||
| Layer1 | mtd0 | mtd5 linux 3968KiB | mtd4 | |||
| Layer2 | mtd0 | mtd1 | mtd2 rootfs 3072KiB | mtd4 | ||
| Layer3 | mtd0 | mtd1 | mtd3 | mtd4 | ||
| Size in KiB | 64KiB | 895.75KiB | 1536KiB | 1600KiB | 64KiB | |
| Name | CFE | kernel | rootfs_data | nvram | ||
| mountpoints | none | none | / = /rom | /overlay | none | |
| file system | none | none | SquashFS | JFFS2 | none | |
OEM easy installation
This section deals with how you install OpenWrt from a device freshly opened.
- Connect a router LAN 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).
- Reset router to factory defaults (and stop at CFE) by holding the reset button until red LED on front is lit (takes about 10 to 20 sec.)).
- Browse to http://192.168.1.1/
- Browse to the image to upload to the router
- Wait for it to reboot
- Due to the inclusion of the 0xdeadc0de value (read flash.layout) the bootloader detects a CRC failure at the next reboot and will revert to the backup image. Cshore created a fix that will correct the CRC value. use the following command to initiate the fix:
mtd fixtrx linux
- Telnet to 192.168.1.1 and set a root password, or browse to http://192.168.1.1 if LuCI is installed.
OEM installation using the TFTP method
If you want to upgrade using TFTP you follow these steps (as an alternative to the above install process).
- Connect via serial, power-on and hit any key within a second after seeing the message:
*** Press any key to stop auto run (1 seconds) *** Auto run second count down:
- From the prompt run the following command.
- This will stop the router at CFE but doesn't reset router to factory defaults.
- CFE> f <ip-address>:<image-name>
- Where the <ip-address> is the IP address of the TFTP server, and the <image-name> the filename of the image you want to install.
- Wait for it to reboot
- Due to the inclusion of the 0xdeadc0de value (read flash.layout) the bootloader detects a CRC failure at the next reboot and will revert to the backup image. Cshore created a fix that will correct the CRC value. use the following command to initiate the fix:
mtd fixtrx linux
- Telnet to 192.168.1.1 and set a root password, or browse to http://192.168.1.1 if LuCI is installed.
Basic configuration
After flashing, proceed with Basic configuration.
Set up your Internet connection, configure wireless, etc.
Internet connection via LAN interface
To install packages like needed for installing LuCI (the Web interface) you need to connect the router to the Internet. Because we don't have a working ADSL driver (WAN interface), we need to connect to the Internet via the LAN interface. I used ICS on a Win PC. Connect the router using an Ethernet cable to the PC and configure the PC for Internet Connection Sharing. I left the router IP address on the default of 192.168.1.1/24. On the PC you can force to use the same range by configuring an fixed IP addres on the LAN interface connected to the router (e.g. 192.168.1.90/24). Be sure that the router with Internet access doesn't use the same range.
Changes needed on the router:
vi /etc/config/network
option dns <ip-adres van Internet access router>
reboot
route add default gw <ip-adres van LAN interface>
The router should now be able to ping a www URL and receive an reply.
Specific Configuration
Interfaces
The default network configuration is:
| Interface Name | Description | Default configuration |
|---|---|---|
| br-lan | LAN & WiFi | 192.168.1.1/24 |
| eth1 | LAN ports (1 to 4) | None |
| wl0 | WiFi | Disabled |
Failsafe mode
Buttons
→ hardware.button on howto use and configure the hardware button(s).
| BUTTON | Event |
|---|---|
| Init | reset |
The Davolink DV-2020 has one button. The Reset button. It is located at the rear between LAN1 and TEL2 connectors.
Hardware
Info
| Architecture: MIPS |
| Vendor: Davolink |
| Bootloader: CFE (version 1.0.37-4.3) |
| System-On-Chip: Broadcom BCM63xx |
| CPU/Speed Broadcom BCM6348 256 Mhz |
| Flash-Chip: AMD AM29LV640MB |
| Flash size: 8192 KiB |
| RAM: 16 MiB |
| Wireless: BCM4318 802.11 Wireless Controller 3.131.35.0.cpe0.0 |
| Ethernet: BCM5325 |
| USB: Yes 1 x slave 1.1 & optionally 1 x host 1.1 |
| Serial: Yes |
| JTAG: Yes |
Photos
Opening the case
Note: This will void your warranty!
- To remove the cover remove the rubber pads from the bottom and remove the 4 screws under the pads.
- You can than lift the top cover.
- You than find the front panel, back panel, and PCB.
Main PCB
Photo of PCB
Serial
→ port.serial general information about the serial port, serial port cable, etc.
See photo of the PCB for the location Pinout:
1 VCC 3.3V 2 GND 3 TX 4 RX 5 GND 6 VCC 3.3VSerial settings: Baud rate: 115200, Data: 8 bit, Parity: none, Stop: 1 bit, Flow control: none
JTAG
- → JTAG
- → bootloader and CFE
How to connect to JTAG interface, and how to backup and reflash the device with debrick utility modified by Cshore
Before you can connect the router to your parallel port of the PC you need to solder a header to the PCB to be able to connect the JTAG cable. See Hardware mods below for some tips.
First download, unpack and compile the needed files:
wget -O HairyDairyMaid_WRT54G_Debrick_Utility_v48~cshore2.zip --no-check-certificate https://docs.google.com/uc?id=0B07LcVZMfvdkZTc1MDA5MjUtZTMzYy00OGQzLWE5MjAtODFiN2RkMTJmNDQ5&export=download&hl=en unzip HairyDairyMaid_WRT54G_Debrick_Utility_v48~cshore2.zip cd HairyDairyMaid_WRT54G_Debrick_Utility_v48~cshore make
results in the following executable:
"debrick"
"switchend"
Before using the debrick tool remove the printer module
rmmod lp
Backup the current content of the router:
First the CFE:
Connect the power to the router, and after the LAN LED's go off use the following command:
./debrick -backup:custom /window:1fc00000 /start:1fc00000 /length:10000 /fc:62 /notimestamp /noreset /noemw /nocwd /bigendianAfter 100% is reached rename the resulting file to something meaningfull.
mv CUSTOM.BIN.SAVED cfe-<route-mac>.bin
Second the CFE config:
./debrick -backup:custom /window:1fc00000 /start:1fc00580 /length:0400 /fc:62 /notimestamp /noreset /noemw /nocwd /bigendianAfter 100% is reached rename the resulting file to something meaningfull.
mv CUSTOM.BIN.SAVED cfe-config-<route-mac>.bin
NOTE: The filesystem and nvram are probably only correct for the original (non OpenWRT) firmware.
Next the filesystem:
./debrick -backup:custom /window:1fc00000 /start:1fc10000 /length:3e0000 /fc:61 /notimestamp /noreset /noemw /nocwd /bigendianAfter 100% is reached rename the resulting file to something meaningfull.
mv CUSTOM.BIN.SAVED filesystem-<route-mac>.bin
As last the nvram:
./debrick -backup:custom /window:1fc00000 /start:1fffa000 /length:5000 /fc:61 /notimestamp /noreset /noemw /nocwd /bigendianAfter 100% is reached rename the resulting file to something meaningfull.
mv CUSTOM.BIN.SAVED nvram-<route-mac>.bin
Flashing a CFE
NOTE: Normally you only flash the CFE and with a good working CFE you can install the image via the web-interface or tftp-server. Command to use for flashing the CFE (named CUSTOM.BIN):
./debrick -flash:custom /start:1fc00000 /window:1fc00000 /length:10000 /nobreak /noreset /bigendian
Before flashing a CFE verify it is in the correct format (big-endian versus little-endian)
Verify the first 4 bytes with the following command:
od -x <file name> | head -n 2The file should start with 0278 1000
If this is not the case you can change the endianness with the switchend tool created by Cshore included in the download above. Command to use:
cat bigendian_cfe_file.bin | ./switchend > CUSTOM.BIN
otherwise make sure the filename of the CFE is CUSTOM.BIN (E.g. mv cfe.bin CUSTOM.BIN).
Debricking
Bootloader Mods
- you could read about bootloader in general or about CFE in particular.
LinuxInside created a CFE for the DV-201AMR that doesn't make a backup.
This CFE also partially workes on a DV-2020, only the CFE Web-interface to upload an image doesn't work. During my last try also the CFE Web-interface to upload images worked.
Image for regular cfe the trx is copied to low half of flash. Map is as follows:
start len 0x00000000:<firmware> backup <firmware>:-0x00400000 rootfs_data 0x00400000:0x00010000 CFE:RO 0x00410000:0x003f0000 linux 0x00410000+<kernel>:<rootfs_len> rootfs 0x00410000+<firmware>:-0x8000000 free1
Patched CFE, proposed MAP is like:
start len 0x00000000:0x00010000 free2 0x00010000:0x003f0000 rootfs_data 0x00400000:0x00010000 CFE:RO 0x00410000:0x003f0000 linux 0x00410000+<kernel_len>:<rootfs_len> rootfs 0x00410000+<kernel_len>+<rootfs_len>:-0x8000000 free1
Patched-cfe-for-Davolink.bin
See also the following forum update: http://forum.openwrt.org/viewtopic.php?pid=81093#p81093
To install de CFE after OpenWRT is installed
<code>mtd write Patched-cfe-for-Davolink.bin /dev/mtd0</code>
Tried the above command a few times but it bricks the router. Asked why this is in this thread.
Instead use the following command:
dd if=/tmp/Patched-cfe-for-Davolink.bin of=/dev/mtd0
Hardware mods
- as a beginner, you really should inform yourself about soldering in general and then obtain some experience!
Some additional tips:
- Drill all hols i.s.o. using a desolder method (desoldering Pump or de-soldering Wire) for the following reasons:
- The solder pads are very tiny and you burn them off easely.
- The ground is so massive that it will take all the heat away from the grounded soldering pads.
- If available use SMD components. Soldering is a bit more dificult, but there is less change to damage the solder pads.
- If using normal resisters use flexible extension wires (of e.g. 2.5cm).
List of components to enable USB on the DV2020:
R33 = 15k Ohm R13, R14 = 22 Ohm R15, R16 = 15k Ohm C178, C179 = 47 pF (possible to skip) BD07, BD08 = 0 Ohm (or short by wire) USB Type 'A' Jack 'RECEPTACLE'Note: for USB connector you can also use and extention cable like this 20cm one. The angled onces that fit directly on the board are difficult to get, and this one has long enough wires for soldering.
Image with solder points for connector:
Photo of USB connector solder points
alternative pickture with glued USB connector.
Image with USB component locations:
Alternative pickture
Alternative pickture. Looks horrible, but is working.
Steps:
- First solder R33.
- Load an image with USB enabled. With USB enabled (R33) the console will be flooded with messages like:
"hub 1-0:1.0: unable to enumerate USB device on port 1" or
"hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?" - If you want to use the capacitors solder them now.
- Next solder R15 and R16.
- Load an image with USB enabled. The "unable to enumerate" or "bad cable" messages show not be there any more. Execute "dmesg | grep -i 'usb\|hub\|sda'" to find all USB related messages.
- Than solder R13 and R14.
During building of your image you can include USB support by adding the following options:
<*> Kernel modules —> Filesystems —> kmod-fs-ntfs
<*> Kernel modules —> Filesystems —> kmod-fs-vfat
<*> Kernel modules —> Native Language Support —> kmod-nls-base
<*> Kernel modules —> Native Language Support —> kmod-nls-cp437
<*> Kernel modules —> Native Language Support —> kmod-nls-iso8859-1
<*> Kernel modules —> USB Support —> kmod-usb-core
<*> Kernel modules —> USB Support —> kmod-usb-ohci
<*> Kernel modules —> USB Support —> kmod-usb-printer
<*> Kernel modules —> USB Support —> kmod-usb-storage
Other Info
- Most information, (e.g. like GPL source with ADSL and VoIP support) can be found on the following forum:
http://www.davoforum.nl/
Note: For this forum you need to subscribe to see the posts.
- More information about OpenWRT on the bcm63xx platform can be found in the following thread:
https://forum.openwrt.org/viewtopic.php?id=17370
- The following thread also contains nice information:
http://gathering.tweakers.net/forum/list_messages/1065348/last
Tags
toh/davolink/dv-2020.txt · Last modified: 2012/09/18 12:46 by danitool





