From LinuxMIPS
Jump to navigationJump to search

The Edimax BR is a family of small broadband routers. Some of them use MIPS32-based SoC: ADM5120 or RTL8181 and run MIPS Linux.



Edimax BR6101 is based on the ADM5106 SoC (ARM7TDMI).


The BR6104 is based on the ADM5106 SoC (ARM7TDMI) and Broad Net Technology real-time OS (SOHO.BIN).


The BR6104K is based on the ADM5120P (PQFP). It has one WAN Ethernet port and a 4 port LAN switch. The firmware contains the usual: Linux, Firewall, NAT, dhcp client and server, etc.

BR6104K is actually the same model as BR6104KP, but without USB connector, 48MHz oscillator e.t.c. soldered on the board, and without printer support in the firmware. It is possible to add the missing USB parts and have a full BR6104KP model. The instructions are there. Edimax BR6104K/KP is rebranded Sweex LB000021 so PCBs are identical (PCB REV B. uses one DRAM chip, REV A two ones).



The BR6104KP is the same as the BR6104K but has two USB 1.1 master ports that can be used to connect a printer and use it as a print server. Also you can use USB Flash disk for root filesystem (needed patch for usb root device).



The BR6104P is based on the ADM5106 ARM7 SoC.


The BR6104S is based on the Samsung ARM SoC.


The BR6104W is based on the ARM7 SoC.


The BR6104WB is based on the Realtec RTL8181 SoC.


The BR6104WG is based on the WavePlus WP3210 (125MHz MIPS R3000).


The BR6014Wg is based on the ADM5120 (BGA) and has one WAN port and 4 port LAN swith. Additionally, it has a WiFi 802.11G MiniPCI card: AirVast WN360g, which based on the Intersil / GlobespanVirata / Conexant PRISM GT chipset.

NMX-WB04G, Canyon-Tech CN-WF512 and ConceptronicC54BRS4 are clones of the BR6104Wg.

Routers's PCB has a place for the second MiniPCI slot, but socket is not soldered.



The BR6104WP is based on ARM7 CPU.


The PS-3205U uses the ADM5120 in BGA package. A SuperIO chip is used to bring out a parallel port, sacificing the access to the 4-Port switch. A MiniPCI socket is also provided.



3 Port Printerserver with RDC R1610 16bit RISC


Looks like has got Serial console connectors. But I have not tried yet.


The EW-7207APg Access Point uses ADM5120. It has a 5-port LAN swith and 802.11g interface.

Board seems to be the same as BR6104Wg with INPROCOMM IPN2220 mini-PCI card inserted.


Serial console is on J2 (Gnd, Tx, Rx) and 3.3V on J3. Pins must be soldered. 115200Bd 8N1


The EW-7203APg access point is based on the Marvell 88W8515 SoC (ARM9 core) and Marvell 88W8000G WiFi.

Adding a serial port

On the BR6104K/KP board there is a 8pin connector called JP2 that can be used as serial port. You can connect a serial level shifter (such as the MAX232 familly) to these pins.

Its pins are:

1.RX 2.+3.3V
7.TX 8.GND

Use the 3.3V as supply for the MAX chip, don't use the 5V from the USB. (You wan't to convert to the processors' levels, not the USBs')

Use MAX3232 (pins are same as MAX232) + 4x100nF. Works in range 3V-5V. You can use 3.3V power for MAX3232 from the board.

It is possible to use Siemens mobile phone datacable as converter. And its possible to use solutions like on the 3.3V TTL serial Port of the Linksys NSLU2. For the lazy, Omnima are now selling a usb cable with the correct wiring for JP2.

Set you terminals' speed to 115200 (8N1). When powering up press SPACE three times to get into the boot menu.

ADM5120 Boot:                                                                  
Linux Loader Menu                                                              
(a) Download vmlinuz to flash ...                                              
(b) Download vmlinuz to sdram (for debug) ...                                  
(c) Exit                                                                       
Please enter your key :

Here you can choose to:

  • Upload new firmware to Flash (option a), this might be dangerous. Image must be preceded by a CSYS header.
  • Upload new vmlinuz to RAM (option b), nice for trying your own. Image must be usual vmlinuz.
  • Exit (option c), continue to load the vmlinuz already in Flash.

The uploading is done with the XModem protocol. A CSYS header consists of 12 bytes: "CSYS\x00\x00\x50\x80" (8 bytes) followed by the length of the kernel (4-byte word, little-endian).

Tip: I experienced a lot of problems with the XModem transfers, which seemed to have something to do with the start of the transfer. For me, it helps to type some junk into the router, before starting up the XModem protocol. So I type "a" for upload to flash, then hold the arrow-up key for a couple of seconds, then start the transfer. However, this might be voodoo, your mileage may vary.

From Linux you can automate this process with a script. The script seems to reliably work around the XModem issues.


ADM5120 supports MIPS EJTAG 2.6. Edimax 6104K/6104KP has standart 14-pin EJTAG header (unsoldered). JTAG pinout for the BR6104Wg is unknown.

Shell access

Some models were observed to display an username/password prompt on the serial console after booting. If username "super" and password "@gogolinux" is entered, it drops to a shell.

My PS-3205U likes more username "edimax" with password "software01". I've found it easily by applying "strings AP/mkimg/image/bin/setup". As you can see, the /bin/setup program is the one you talk to at /dev/ttyS1.

External links