2005-09-22 (木)
- 天気:曇り
- スイッチドライバあたりを色々
- 日本応用磁気学学会のお弁当の余りを貰って食べる
夕方,Safiiから電話があって生協に学会の余りのお弁当を貰いに行く.1つ余ったのでですが,成り行きで私が2つ食べれました.お腹いっぱい.デザートは缶詰のパイン.
*Linux on BBR-4MG
DHCPサーバはどうも怪しいなぁ.IPを貰える時もあるけど,ipconfig /renewしてもくれない.udhcpdの設定が間違っているんだろうか….
InfineonのデータシートにはADM5120Pの方の情報が足りないので,久しぶりにADMTekのサイトを見に行こうとしたのですが,ADMTekのサイトが無い.InfineonってADMTekの新しい社名だったのか.それとも買収されたのかな.ADMTekのPDFも内容は同じだった….PQFP版のピンの配列が載ってないのは仕様ですか?
どうもネットワークスイッチが怪しいと気付く.全てのポートがeth0に繋がってただのハブになってそうな雰囲気.とりあえず,データシートと基盤のパターンとソースコードを見比べる.
admswconfigを入れて使おうと思ったけど使えない.どうもioctlの結果が怪しい.ソースを呼んでみると,何処にもそんなコマンドありません.…もしかしたらと思って,2.6のカーネルのソースをダウンロードしてみるとこっちにはある.とりあえず,頻繁に変更するものでもないし,設定はハードコーディングで.ついでに,MACアドレスをフラッシュメモリの設定から読むようにする.カーネルドライバは好き勝手なアドレスを読み書きできるのでなんだかうれしいですね.って,なんかMACアドレスに妙に違うし…と思ったらこれはLAN側のMACアドレスだ.BBR-4MGってデフォルトでは,保存されているのはLAN側のMACアドレスだけで,WAN側のはそのアドレスに+1して作ってるみたいですね.
怪しかったのは,実際に基盤に実装されているポートと,ドライバの初期化データが合っていなかったのが原因だった.eth1にルータのWANポートを割り当ててDHCPでY!BBからIPをもらうところまでいきました.最初DHCPクライアントがおかしいと思ったら,スクリプトがすごいことになってた.とりあえず,その場で書き直し.udhcpcのサンプルのスクリプトを使ってみたら,DNSも設定されて名前解決も出来ますね.あと,CONFIG_PACKETが無効だとudhcpcは動かないのかな?
tftpを動かそうと思ってソースを追ってみたら…何かが違う.明らかに普通のtftpクライアントでは無い.多分,ファームウェアの更新用にカスタマイズしたものなんだろう.オリジナルのソースを持ってきて上書きするか….
BBR-4MGにそのまま書き込めるファームウェアを作ってみようか….試してみたらカーネル部分が圧縮して500KB強なので,プログラム領域にギリギリ収まる.Web用に使われてるデータ領域は256KBなのだけど,ファイルシステムを圧縮したデータは360KB….あと100KB減らせればOKなのだけど…これ以上は無理です.むしろ,今のところ最低限のものしか入れてないので,これにwebサーバ入れたりすると….
ダウンロードしたソースがルータ用に色々カスタマイズされててやりにくいので,ユーザーランドくらいはオリジナルのものに置き換えた方が良いかなぁ.BusyBoxも最新のにしてみたいし….BusyBoxのサイトで調べたら,udhcpって最新のBusyBoxに入ってる.これでまた容量を縮小できるかも.数KBだろうけど….