Main targets:

1). Localisation of web interface (translation) without any change to functionality (change only to busybox's config: added ftpget, command line editing).
2). Software adaptation for interfacing with 8051 (home controller) -> requires adding MAX232 and software functionality modifications.
        a). changes only flash utility and scripts.
        b). more changes, ex webs involved.
3). Trial to run VPN (IPSec) on 6204Wg (software taken from 6304Wg), at cost of other functionalities. Reason: cost, 6304 is approx 72Euro and 6204 is approx 48Euro. (Polish market, march 2007).
 
"Roadmap"

*.bin- Edimax-supplied firmware v.1.48

"*.SRC"- downloaded from Edimax site
"Disassembling instructions"


ROOTFS
kernel configuration

kernel configuration



"Web" files configuration & utilities

translation

copy



repackaging


new *.bin firmware

compilation

In reality it's a bit more complicated: initrd containing all files is included in KERNEL image when building. It is expanded into RAM-disk during boot. All variables are stored in flash area 0x6000-0x10000 and are acessed using flash utility. As i know Flash map is (as seen thru /dev/mtd):

0x000000-0x006000  - bootloader
0x006000-0x008000 variables not normally updated (defaults and hardware parameters -> MAC's, radio type, etc),
0x008000-0x010000 "regular" variables, there is about 23kB free in 6204Wg, filled with zeros. Last byte contains simple checksum.
0x010000-0x200000 kernel & initrd

The "real" firmware building steps are:

1). "Disassemble" original firmware to get to rootfs, copy *.sh files, almost all other utilities/config, except busybox (we will compile this).
    We are dropping the original kernel. (As of now I don't know how to extract functional kernel, so we must rebuild this).
2). "Guess" kernel configuration. For the moment (2007-03-22) I use this .config, this works, but with 3 error messages.
3). Build modules, then build apps (using Ediamax's scripts), especially busybox with our configuration.
4). Copy previously extracted files and freshly compiled to rtl-11g-GPLAP/mkimg/top.11g subdirectories.
    a). block script: app_11g_script (to prevent overwriting subdirectory contents).THIS IS IMPORTANT
5). Rebuild firmware using 11G_ROUTER script.