SD カード対応版の Tomato ファームウェアで確認ができました。 |
・・・要点から述べることとしました。
SD カードソケットへの配線間違え
まず SD カードソケットへの配線が参考にした OpenWrt の Wiki のページに誤りがありました。その間違えに気づいたのが、SD カード対応の Tomato ファームウェアをインストールしてから判明しました。当初はやはり Tomato ファームウェアでも動作しませんでした。そこで再度 SD カードの配線を見直すことから始めました。イーサネット・スイッチ IC の ADM6996L のデータシートを探し出し、ピン配置(pinout)から集合抵抗器の RP3 から SD カードソケットへどのように配線されているか観察しました。ここで間違えが判明しました。ADM6996L と RP3 の関係は次のようになっていました。参考にしたものは SD #5(CLK) と SD #7(DO) が入れ違っていました。
ADM6996L #80(EECS)--RP3--GPIO2--(未使用)
ADM6996L #81(EECK)--RP3--GPIO3--SD #5(CLK)
ADM6996L #84(EDO)---RP3--GPIO4--SD #7(DO)
ADM6996L #79(EDI)---RP3--GPIO5--SD #2(DI)
WRT54G V2 の場合、このように SD カードへ配線してください。 |
GPIO の割り当て[ 補足説明 ]
CS - GPIO7
CLK - GPIO3
DI - GPIO5
DO - GPIO4
イーサネット・スイッチ IC の ADM6996L と SD カードは、共に GPIO の DI(データ入力), DO(データ出力), CLK(クロック信号) の三つの信号を共用します。ADM6996L と SD カードは、CS(チップセレクト)信号により、どちらのデバイスを有効にするか指定します。そのため CS 信号は共用できない理由になっています。GPIO2 が ADM6996L、GPIO7が SD カードの割り当てとなっています。
Tomato ファームウェアのバージョン
上記の通り SD カードソケットへの配線間違えを修正しましたが、すぐに SD カードを認識してくれたわけではありませんでした。元々は、私が愛用している 2.4 系 Linux を使用した Shibby 版の Tomato ファームウェア(tomato-ND-1.28.5x-124-SD-VPN.trx)で動作確認を行なっていました。この Shibby 版の Tomato ファームウェアでは、 SD カードのモジュールを有効にするとモジュールエラーとなってしまって、SD カードを認識することはありませんでした。単純なソフトウェア上の問題なのか?それともハードウェアに依存するエラーなのかは不明でした。
そこで SD カードモジュールが追加されたオリジナル版の Tomato ファームウェアをインストールしてみました。すると SD カードを認識して、読み書きも問題なく出来ました。
Tomato ファームウェアの SD カードの設定画面です。 |
FON2100E の SD カードの時もそうでしたが、古いバージョンで動作することがこの Tomato ファームウェアでみられました。どうも最近は SD カードを追加する改造をする人が少なく、このようなファームウェアの問題点を指摘する人も少なくなっているのでしょうか?
参考ウェブサイト
Tomato firmware with SDHC mod - Gemini
http://gemini.net.pl/~slodki/tomato-sdhc.html
tomato-sdhc-ND-1.28.01
http://gemini.net.pl/~slodki/tomato-sdhc-ND-1.28.01.7z
さてここまで検証したところで、真打の OpenWrt Attitude Adjustment 12.09 を再度インストールしなおして、動作確認をしてみました。やはり動作エラーで SD カードを認識しませんでした。どうも SD カード関連のモジュールエラーのようです。
OpenWrt の場合、システムメモリの容量不足で特定のバージョンまでしか十分に動作させることが出来ないようです。システムメモリを増加させた WRT54G で、新しいバージョンのファームウェアの検証が十分に行われていないのかもしれません。
WRT54G については、もう少し検証を重ねてみたいと思っています。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。