FON2305e/2405e は Ralink SoC(system on a chip) を搭載している。
FON2305e/2405e には,Hot tuna さんがRalink AP SoC SDK から生成したカスタムファームウェア等を公開しているが,当方でも Ralink AP SoC SDK をダウンロードしてカーネルソースをコンパイルした。

Yahoo!Box ra20120103.img

AP client モードで,NAT を disable にした場合,起動時に brctl addif br0 apcli0 が自動実行される様にしている。

クロスコンパイルは,Ubuntu ベースの BackTrack 5 R1 (VMware版)で行った。BackTrack はrootで使うのが基本になっている。

Ralink AP SDK のダウンロード(約300MB)http://uploading.com/files/62e69177/Ralink_ApSoC_SDK_3301.tar.bz2/

tar xvjf Ralink_ApSoC_SDK_3301.tar.bz2

クロスコンパイラのインストール(rt305x用)

cd sdk3301/RT288x_SDK/toolchain/
tar xvjf buildroot-gcc342.tar.bz2
mv buildroot-gcc342 /opt/.

squashfs と lzma圧縮ツールのインストール

cd mksquash_lzma-3.2
make
make install

デフォルトのままカーネルソースコンパイル

cd sdk3301/RT288x_SDK/source
make V=99

カーネルのコンフィグレーション

make menuconfig

Select the product you wish… はデフォルトの RT3052, 2M/16M(AP)

Kernel/Library/Defaults… は,下の様に選択して,Exit,Exit


Customize kernel setting –> Machine selection
DRAM Size 32M, Flash Type は SPI を選択する。
RootFS_in_RAM (デフォルト)選択。

Ralink Module では,AP-Client Support を選択する。

customize busybox setting –> Editor で vi を選択。オプション

customize busybox setting –> Linux module でinsmod,rmmod などを選択。オプション

その他,Network App で wireless-tools iwconfig iwlist を選択。
enable GreenAP support を選択。(オプション)

ralink_spi.c を以下の様に書き換えた。
source/linux-2.6.21.x/drivers/mtd/ralink/ralink_spi.c
32-65行

32 static struct mtd_partition rt2880_partitions[] = {
33         /* Put your own partition definitions here */
34         {
35                 name:           "Bootloader",
36                 size:           0x10000,
37                 offset:         0,
38         }, {
39                 name:           "Config",
40                 size:           0x10000,
41                 offset:         0x1f0000
42         }, {
43                 name:           "Factory",
44                 size:           0x10000,
45                 offset:         0x10000
46 #ifdef CONFIG_RT2880_ROOTFS_IN_FLASH
:
55 #else //CONFIG_RT2880_ROOTFS_IN_RAM
56         }, {
57                 name:           "Kernel",
58                 size:           0x1d0000,
59                 offset:         0x20000,

フラッシュのパーティション設定を誤ると,ブートローダーを壊して起動不可になったり,ボードコンフィグを壊してボード情報を失ってしまう。
この変更で,bootloader,config,factory,kernel の4パーティションになる。

Creating 4 MTD partitions on "raspi":
0x00000000-0x00010000 : "Bootloader"
0x001f0000-0x00200000 : "Config"
0x00010000-0x00020000 : "Factory"
0x00020000-0x001f0000 : "Kernel"

それから,source/user/rt2880_app/scripts/internet.sh を書き換えて,apcli0 をブリッジ br0 に追加した。

592         wan.sh
593         lan.sh
594         nat.sh
595         if [ "$nat_en" != "1" ]; then
596                 brctl addif br0 apcli0
597         fi

再度 make V=99 でコンパイル。コンパイルが成功すると,source/images/root_uImage が生成されるので,ra.img 等にリネームする。

http://www.megaupload.com/?d=EEICAS5F

後は,FON2405e はこちら,2305e はこちらの方法でファームウェアを書き換える。

http://royalwin.blog.so-net.ne.jp/2011-12-01
http://royalwin.blog.so-net.ne.jp/2011-12-20

カスタムファームの AP Client モードで,Fon を有線無線コンバーターや,無線レピータ―にできる。

http://royalwin.blog.so-net.ne.jp/2011-12-21