スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FON2405Eをイーサネットコンバータ化(その2)

オリジナルのファームでは柔らか銀行のアクセスしか出来なかったので、誰でもアクセスできる様にして、かつ、イーサネットコンバータにしたいのと設定を自分で色々と触りたいのでカスタムファームを作ります。ファームはatc-500さんの所にあるのを書き込んでも良いのですが、Ralink AP SoC SDK v3.3.0.1 を入手したのでこれを自分の環境でコンパイルしてみたいと思います。

コンパイル方法はatc-500さんの所に詳しく書かれているので、そちらを参考にされるのが良いでしょう。ここでは私の環境(Ubuntu 12.04.4 32bit)でハマった事を記載しておきます。

■ Ubuntu 12.04.4 32bit版を使用
Rakink SDK にはコンパイル済みのコンパイラが用意されているのですが、32bit版で構築されているので、64bit版のUbuntuを使用する場合は別途 ia32-libs パッケージを入れる必要があります。それと、最新の14.04ではGCCのバージョンのせいなのか、コンパイルが通りませんでした。思い当たる所はあったのですが、環境構築にあまり時間を取られたくなかったので、古い版である12.04をインストールしました。VMwareはサッとOSを入れ替えられて便利ですね。

■ Ubuntuのシェルをdashからbashへ変更
Ubuntuの標準シェルはdashになってます。ほとんどのプログラムがbashで動く事を前提としてる部分があるので、環境構築で時間を取られたくないというのもあり、bashに変更しました。変更方法は以下のコマンドを実行して "dashを使いますか?" といった質問に "No" で答えれば bash へ変更されます。dash に戻すには同じコマンドで "Yes" を選択します。

$ sudo dpkg-reconfigure dash


■ rootユーザを有効にする
コンパイル時に一般ユーザ権限だと作成に失敗する事態が発生したので、最初からrootユーザになることにしました。rootを有効にするには以下のコマンドを実行します。ま~早い話、パスワードを設定するだけなんですがね。

$ sudo passwd root


■ パッケージのインストール
kernelとrootfsの内容をコンパイルして最終的にイメージファイルへ圧縮するので、それらに必要なパッケージをインストールします。GCCはSDKにコンパイル済みの物があるのでそちらを(半ば強制的に)使用します。

# apt-get install zlib1g-dev g++ libncurses5-dev libreadline6-dev


■ リンカオプションの修正
Ralink SDK の内容をそのまま使用すると、何故かリンカエラーになります。ググってみると同じ事で悩まれているケースがあり、そこへ解決策が書かれていました。#1870 の内容に修正方法が記載されています。ようは"-lz" オプションが不足しているのですね。昨今の真空管事情でおなじみとなったロシア語です。

@ -21,14 +21,14 @@ mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h \
${Sqlzma}/sqlzma.h ${Sqlzma}/sqmagic.h \
${LzmaAlone}/liblzma_r.a ${LzmaC}/libunlzma_r.a

-mksquashfs: LDLIBS += -lpthread -lunlzma_r -llzma_r -lstdc++
+mksquashfs: LDLIBS += -lpthread -lunlzma_r -llzma_r -lstdc++ -lz
mksquashfs: mksquashfs.o read_fs.o sort.o

unsquashfs.o: CFLAGS += -U_REENTRANT
unsquashfs.o: unsquashfs.c squashfs_fs.h read_fs.h global.h \
${Sqlzma}/sqlzma.h ${Sqlzma}/sqmagic.h ${LzmaC}/libunlzma.a

-unsquashfs: LDLIBS += -lunlzma
+unsquashfs: LDLIBS += -lunlzma -lz
unsquashfs: unsquashfs.o

clean:


■ lzmaの再コンパイル
手順では以下のコマンドを実行するだけの様に記載されていますが、実際にできあがったイメージファイルをSPI-Flashへ書き込んで起動するとlzmaからの展開に失敗します。厳密には展開前のファイルチェックの段階でエラーとなります。

手順の通り一度lzmaはコンパイルしているのですが、何故かlzmaの圧縮(最後の最後で圧縮が実施されます)でしくっているみたいです(Ralink SDKのマニュアルも下の手順でlzmaをインストールするように書かれています)。

# cd ./sdk3301/RT288x_SDK/toolchain/mksquash_lzma-3.2/
# make
# make install


この対処方法は、かなり不明ではありますが、以下の様にlzmaを直接コンパイル、インストールすると解決します。lzma-4.32.0beta5ディレクトリは上記のmakeをする課程で作られます。

# cd ./sdk3301/RT288x_SDK/toolchain/lzma-4.32.0beta5/
# ./configure
# make
# make install



kernel + rootfs のコンパイル時の注意点はこんな所でしょうか。




シリアルFlashへのファームウェア書き込み方法は 吸い出し用Linuxの起動 でU-Bootの選択部分で "3" を選んだ所を "2" を選択します。

U-Boot 1.1.3 (Jan  6 2010 - 07:10:30)

Board: Fonera
DRAM: 32 MB
relocate_code Pointer at: 81fac000
spi_wait_nsec: 3e
spi deice id: c2 20 15 c2 20 (2015c220)
find flash: mx25l1605d
raspi_read: from:41030000 len:1000
Using default environment


##### The CPU freq = 320 MHZ ####

SDRAM bus set to 16 bit
SDRAM size =32 Mbytes

Please choose the operation:
1: Boot system code via Flash (default).
2: Load system code then write to Flash via TFTP.
3: Entr boot command line interface.
reset pressed for 2 seconds

You selected 2

0



2: System Load Linux Kernel then write to Flash via TFTP.
Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
Please Input new ones /or Ctrl-C to discard
Input device IP (10.10.10.200) ==:10.10.10.200
Input server IP (10.10.10.3) ==:10.10.10.3 ← TFTPサーバアドレス
Input Linux Kernel filename (fonita.img) ==:fonita.img ← 書き込むファイル名




無事書き込まれると、自動的に起動します。
このときのログを記録し忘れました…。
スポンサーサイト

tag : FON2405E

tag : イーサネットコンバータ

tag : Linux

コメントの投稿

非公開コメント

ralink ap sdk 3.6

FON 2405eの情報ありがとうございます。こちらのサイトを参考にさせていただきました。
ralink ap sdkですが、3.6はありました。

http://blog.tagashira.com/article/61120474.html

もしコンパイルをされたら、バイナリーを分けていただければと思います。(^^;
都合いいでしょうか・・・?

Re: ralink ap sdk 3.6

返事が遅くなりました。

v3.6は私も入手していましたが、v3.6にするメリットが不明だったのでコンパイルはしておりません。

配布に関してですが、私は通常、配布出来る物は配布していますが、v3.3.0.1 のバイナリに
ついては配布しておりません。そのあたりの意図を理解して頂ければと思います。
黒ねこ時計 くろック D02
プロフィール

jujurou

Author:jujurou
運営HP:チャコの部屋
Twitter:jujurou

カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
最新記事
最新コメント
カテゴリ
ユーザタグ

ぺるけ RaspberryPi Linux トランジスタ式ミニワッター TRminiWatterPart4 MPD OpenOCD イーサネットコンバータ FON2405E DAC buildroot FM3ペリフェラル BeagleBoneBlack FM3評価ボード library OpenGL mingw ODROID-U2 TL-WR700N Edison bitbake KiCad 計測 VMware シングル FM4 ミニワッター 6N6P プリアンプ 

月別アーカイブ
ランキング

FC2 Blog Ranking

カウンター
検索フォーム
リンク
RSSリンクの表示
QRコード
QRコード
ライセンス
クリエイティブ・コモンズ・ライセンス
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。