So-net無料ブログ作成

【FON2305e/2405e のカスタムファームウェアのカーネルコンパイル】 [OpenWRT/DD-WRT]

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で使うのが基本になっている。
menu1
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

image

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

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

image
Customize kernel setting –> Machine selection
DRAM Size 32M, Flash Type は SPI を選択する。
RootFS_in_RAM (デフォルト)選択。
image
Ralink Module では,AP-Client Support を選択する。
image
customize busybox setting –> Editor で vi を選択。オプション
image
customize busybox setting –> Linux module でinsmod,rmmod などを選択。オプション
image

その他,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


nice!(3)  コメント(9)  トラックバック(2) 

nice! 3

コメント 9

raiti

MegaUPLoadが・・・
死んでおりまする
もしよろしければUPしていただけると助かります。
by raiti (2012-12-09 22:57) 

atc-500

記事の上方のYahoo!Box ra20120103.imgが同じファイルだったと思います。
by atc-500 (2012-12-12 20:25) 

raiti

ありがとうございます
ためしてみます~
by raiti (2012-12-24 21:57) 

axe

初めまして。

2405e対応のPPTPサーバが入ったファームを探してるのですが、ROM 2MBの機種でそんな都合のいいファームはありませんよね?

外出先からAndroidでVPN(PPTP)に参加して、ひかり電話のSIPサーバに接続できたらなぁ・・・と考えているのです。
by axe (2013-01-27 17:34) 

atc-500

ralink ap soc sdk のマニュアルを見ると、pptp-client はあります。pptp serverはないようです。
http://tagashira.sakura.ne.jp/sblo_files/tagashira/image/Ralink%20AP%20SDK3.3.0.0%20User's%20Manual_20090116.pdf
by atc-500 (2013-01-28 22:58) 

atc-500

androidから家のひかり電話で電話をかけて、電話代を安くできるみたいですね。
by atc-500 (2013-01-28 23:16) 

tetra

はじめまして。
ralink_apsoc_sdk_4.2.1.0というものが手に入ったので、コンパイルというものをやってみようかと思っとります。
atc-500さんが公開されている、ra20130103.imgではUPnPの項目が見当たらないのですが、今回のファーム作成で追加しようと思うとどの項目をいじればよいでしょうか?
by tetra (2015-04-04 21:12) 

atc-500

ralink_apsoc_sdk_4.2.1.0を持ってるなんてすばらしいですね。
クロスコンパイル環境はもう消しちゃったのでちょっと分からないのですが,マニュアルにはwsc upnp の記述があり,wps用みたいです。http://tagashira.sakura.ne.jp/sblo_files/tagashira/image/Ralink%20AP%20SDK3.3.0.0%20User's%20Manual_20090116.pdf
by atc-500 (2015-04-04 23:24) 

tetra

make menuconfigが実行できるところまでは行き着いたのですが、Customize kernel setting –> Machine selection のようなオプションが出てこないのはなにか忘れているのでしょうか?ご享受ください;;
by tetra (2015-04-06 11:01) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 2