日曜日, 7月 31, 2005

今度こそtelnet

・今日こそtelnetdを入れる

と言ったはいいものの、かなりハマりました(笑)
終わってからなら笑えますが、ランレベルの勉強からやるのはきつかったです…

ちょっと前に
mount /dev/hdb1 ./hdb1
dpkg --extract netbase_4.07_all.deb ./hdb1
dpkg --extract telnetd_0.17-18woody3_mipsel.deb ./hdb1
dpkg --extract netkit-inetd_0.10-10_mipsel.deb ./hdb1

でインストールしといたソフトの設定をしてやれば動きます。
設定とは、
1)inetdが起動するようにする
2)inetdかたin.telnetddが呼び出されるようにする

特に下の2)がきつかったです。最初、in.telnetdだけ立ち上げれば
telnetはできるもんだと思ってました。がしかし、現実はそうじゃないんですね。
inetdが呼び出されて、in.telnetdにパケットを渡してはじめてネットワークごしに
telnetdとしてアクセスできるんですね。いやー、勉強になりました。

まずは1)の設定。
本当はetc/init.dにtelnetdとかいう名前でスクリプトを置いて、そこにリンクするのが
正当らしいんですが、とりあえず動けばいいのでetc/rc2.d以下にS20hacksetという名前で
以下のように書きました。

(あとで)

で、あとはこのスクリプトにchmod +x S20hacksetしておく、と。

次に2)。
etc/inetd.confに、以下のように書きます。
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd

(たぶん)
で、あとはrootのパスワードを消去。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/047suserofflostroot.html
あたりを参考に。
あとはlinkstationにHDDを戻せば完了。のはず。
間違ってたらあとで直そう。

木曜日, 7月 28, 2005

なひたふさんとこのMITOUJTAG

今日、interfaceの9月号を買ったら、Alchemyというメーカーの開発ボードを
MITOUJTAGでデバッグするという記事を発見。
著者はやっぱりなひたふさんだった。
CPUは対応してないと思ってたMIPS32。R3000系に対応してるなら、
2万くらいなら買っちゃおうかな。>MITOUJTAG
やべえ、物欲が(笑)いや、これは勉強のための経費だ。そう思い込もう。

オンボード書き込みができるならなおいいなあ。でも、フラッシュメモリの
データシートが見えないと無理かなぁ。
とりあえずJTAG経由でバックアップしておけば、万が一フラッシュが
ふっとんでもバックアップを書き戻せばいいだけだし。
オンボードのメモリにフラッシュのイメージと書き込みコードを置いて、それを
JTAG ICEで制御しつつ書き込む、って手段を想定してみたり。

などと妄想しつつ。

今までのまとめ(その5)

・今度こそtelnetを仕込むぞ
おもむろにMIPS用のファイルをいただいてきて、作業開始。
ちなみにlinkstationのHDDはプライマリスレーブにつながってるので、
/dev/hdb?になる。

mount /dev/hdb1 ./hdb1
dpkg --extract netbase_4.07_all.deb ./hdb1
dpkg --extract telnetd_0.17-18woody3_mipsel.deb ./hdb1
dpkg --extract netkit-inetd_0.10-10_mipsel.deb ./hdb1

ファイルはどこから落としてきたっけ。ま、ファイル名わかれば探せるか、
ってことで。
ぐーぐる先生にでも聞けば教えてくれるんじゃないかと。

なーんてやってるうちに、linux入れたHDDが調子悪いらしく、時々LILOの
真っ赤な画面が出てくるように…ジャンクだらけのマシンだからしょうがない
のかなぁ。暑くなってきたから電源かな?まあいいや。

次。./hdb1/etc/rc.d/rc2.d/以下に、S20hacksetというファイルを作って、
以下のように書く。


で、あとはlinkstationに戻して、根性試し板の上で起動。
…が、接続できず。。。Connection refusedと言われる…
inetd.confに設定が追記されるので、いちおう起動スクリプトは動いたみたい。
ということは、inetdを動かす工夫をしなきゃならないのかな?
もう、力技でポートスキャンして調べてやる!
その結果がこちら↓
Target '192.168.0.7' port(0 - 65535)
Proto Remote Address State Response
TCP 192.168.0.7:80 LISTENING
TCP 192.168.0.7:139 LISTENING
TCP 192.168.0.7:548 LISTENING
TCP 192.168.0.7:515 LISTENING
TCP 192.168.0.7:8080 LISTENING
TCP 192.168.0.7:35586 LISTENING
6 port(s) found.

やっぱり。全然ポート開いてないじゃん。webminを入れて、つながらないと
言ってはまってた同僚を笑えないな…
さて、どうやってポートを空けたもんだろう。
というか、ほかのthttpdはどうやって起動してるんだろう。
HDDを全部探してみるか。thttpdとか、ふつうに起動してるみたいなんだけど。
あーもうわけわからん。AUTOEXEC.batひとつでいいのに。
ランレベルって何やねん。ってところからお勉強かな。

と、ここまで書いて一言もlinkstationの詳しい情報を書いていないことに
気づく俺。もっと早く気づけ。HD-HLANのver.2.21を使ってます。
いまだにコンソールを拝めないので、これ以上の詳しい情報はゲットできず。。
早くtelnetがつながるようにしたいよ…

水曜日, 7月 27, 2005

今までのまとめ(その4)

・telnetdを仕込む
 telnetdを仕込めばいろいろできるはず、と山下さんのサイトを見ながら
 勝手に思い込んでいた。
 もっとも、それがいばらの道だったんだけど…ていうか、ソフトに
 徹底的に弱いおいらがそんなこと思った時点で間違っていたというか。

 とりあえず、作業用にLinux入れたマシンが欲しくなったので、
 余ってたPCにLinuxを入れることにした。
 パッケージはdebianにした。なんでかっつーと、jigdoとかいう
 ほっとけば勝手にアップデートされたインストールCDを
 作ってくれるソフトがあるのを知ったから(笑)

 作業用のマシンはCel566、128M*2、HDD 40G、3c905、i740という化石マシン。
 これでも卒研に使ってたPCより早いんだよな~技術の進歩ってすごい。
 キーボードとモニタはPC切り替え機を使ってメインPCと共用。
 リムーバブルHDDケースをつけて、簡単にHDDが加えられるようにした。
 KNOPPIX用に、CD-ROMもあまりものを2台取り付け。
 CPUのヒートシンクにPen4用の巨大なものをつけ、電源のケースを半分とっぱらって
 電源のFANでCPUファンを兼用させる。とりあえず重い処理するわけじゃないし、
 大丈夫でしょ。暴走したらクロック落とそう。
 ついでに電源FANもダイオードをはさんで回転数を落としておく。

 sambaを忘れずにインストールする。あとは、適当にYESと答えておく。
 設定がめんどくさい。しかも、中途半端に日本語で読みずらい…。
 英語だともっと読みづらいけど。。
 インストール後、英語のセットアップ画面に四苦八苦しながらインストール完了。

 LAN内なので普通にtelnetでいいや、と思ったらtelnetdがない!
 セキュリティのこと考えたら、あまりすすめられるものじゃないのは
 わかるけど、不便だよ…
 しょうがないのでapt-get telnetdを初体験してtelnetを入れてみる。
 あっさり終わって感動。昔RPMで入れてひどい目にあったな…(遠い目)
 ついでにwindowsマシンにもTeraTermを入れる。
 sambaにもユーザーとパスワードを登録。
 #以下俺の備忘録
 sambaのパスワードを更新する: smbpasswd ユーザー名
 
 プライマリスレーブにlinkstationのHDDをつないで、
 マジックナンバー修正ツールを使ってみる。が、動かない。
 makeしなおさなきゃダメか?と思い、適当にmakeしてみる。
(コマンドとかここに書く予定。今ちょっと思い出せない。)
 できた。ちゃんと修正されたかな?マウントして確かめてみる。
 おお、ちゃんとマウントできるじゃないか。すごいぞ。
 (だからおまえの力じゃないってば>俺)

 面倒なので、samba経由でlinkstationのHDDが見えるようにしてみる。
 (/home/ユーザー名 のディレクトリにいるとして)
 mkdir ./hdb1
mkdir ./hdb3
mount /dev/hdb1 ./hdb1
mount /dev/hdb3 ./hdb3
 hdb2はスワップ、hdb4はなんかよくわからんけどマウントできないので、
 とりあえず放置しておく。
 これでsambaで「ユーザー名」でログインしたときにlinkstationのHDDが見える。
 なぜか全部のファイルが上書き禁止になるけど…sambaの設定がおかしいんだろうな。
 別に編集はtelnetごしでやるからとりあえずどうでもいいや。
 
 ふう、道のりは長かった…というかまだtelnetd仕込んでないし。
 またしても表題どおりに進まない(笑)
 

今までのまとめ(その3)

・今度こそファームウェアの再インストール。
 ハードウェアはそこそこよくなった、ということで
 ファームウェアの再インストールに挑戦。

 まずは、バッファローのサイトからファームウェア
 アップデータをダウンロードしてくる。

 んで、あとはLinkstationの電源を入れてやれば
 アップデートができるはず…
 ダメじゃん。勝手に電源落ちるじゃん、Linkstation。。。
 LEDがなんか点滅してるので、初めて説明書を読む。
 HDD異常だそうだ。いや、HDD異常だからHDD変えてアップデート
 したいんですけど…
 それともさらにもう1台買えってことだろうか。玄箱とか?
 2台も買ったんだからもういいじゃん!!!

 …失礼しました。かくなる上は68HC908をだまらせるか?
 AVRあたりで適当に俺好みの制御をさせるか?あたりになりそうだ。
 待てよ、開発者の方だってこんなことは日常茶飯事だったはずだ。
 隠しコマンドを入れるとなんとかなるんじゃないか?
 上上下下右右左左LRLRとか(いや、だから入れられないってば)。

 隠しコマンドと言えば、リセットを押しながら電源ONか?
 ぼうけんのしょみたいに壊れたら……
 …………(しばし迷う)
 ま、いっか。もしふっとんだらJTAGで吸い出そう。
 って、なひたふさんのとか対応してたっけ…
 げ、MIPSは対応してない…横河あたりから買わなきゃダメか?
 大学時代に調べたら20万超えてた気がするんだが…

 また横道にそれたけど、ぶっこわしてもICE買うより安いから
 まあいっか、とばかりに敢行。(金銭感覚壊れたな、俺。。。)
 おお、全部のLEDが点滅しはじめた。ファームウェアアップデータも
 動く。やったぁ。

 ということで、復活。
 (実際はリセット押しながら電源ONを思いつくまでに、3週間
  放置してたりする(笑))

今までのまとめ(その2)

・次はファームウェアの再インストール。
 が、HDDをつないで電源ONしても数秒で電源が落ちてしまい、
 ファームウェアを転送できない…
 よく基板を見てみると、JTAGらしき端子があり、そこのTRSTに
 MC68HC908というマイコンの端子がつながっていることがわかった。
 そうか、電源の管理をこいつがやってるんだなと予想。
 LEDとか電源スイッチの管理もだろうね、多分。

 なんか気になってきたので、基板の上にある主要なICの
 データシートを集めてみる。インターネットってこういう時に便利。

 まとめてだらだら書いてみたのが以下のとおり。
==========================================
CPU
 これがなきゃ始まらない。モノはIDTの79RC324H234。MIPSコアのSoC(System on Chip)らしい。
 IDT…WinChip2は昔使ってたなぁ。Excelだと速いのにゲームを始めるととたんに遅くなるマジメな(笑)CPUだったっけ。
 手元のLinkStationには-400BCとあるので、NASにそこまでのクロックが必要かどうかは別として400MHzまでクロックが上げられる?
 でも、アクセスしたときにもっさり感があるので、できるならクロックアップしたいな。クロックアップしたら改善されるのだろうか。
 CPUコアはR3000らしいので、某ゲーム機の資料が使えるかも。
 オフィシャルな資料が欲しい方はこちら
 NASとして動作するために使ってるのは、PCIバスとDDR SDRAMインターフェース、シリアル*1、ネットワークインタフェースのためのMIIインターフェース*1くらいかな。
 そのほかにEJTAGがデバッグ用についていてパターンもあったりするけど、少々部品を載せないと使えないだろうな。(後述)
 DDR SODIMMコネクタ対応してくれないかなぁ。玄人志向あたりで出ないかね>SODIMMコネクタつきVer

Memory
 DDR400対応、32MBのSDRAM。HynixのHY5DU561622DT
 東芝から特許侵害で訴えられてるとか何とかいうニュースを発見したけど、大丈夫なんかいな。
 それとほかにもDDR SDRAM作ってるメーカーあるけど、そこはどうやって回避してるのかちょい疑問。よく読んだわけじゃないのでわからんけど。

Flash
 ST micronicsのM29DW324DB。シンクロナスバーストNORフラッシュらしい。たぶん32Mbit。つまり4MBですな。
 こいつはデータシートが準備中だった。。てなわけで、情報がありましたら追記します。DDR SDRAMインタフェースだったりして。

Ethernet I/F
 蟹マークでおなじみRealtekのRTL8201CPと、DeltaのLF8275の組み合わせ。
 特に説明の必要もないかと。
 Linux向けドライバの書き方はCPUのアプリケーションノートにあったり。

LED/PowerSW controller
 Freescale Semiconductor(旧Motorola)のMC68HC908JL8。メインCPUの79RC324H234とはシリアルでつながってるに違いない。J1に信号が来ている(後述)。
 そばにあるスーパーキャパシタは設定のバックアップ用と見た。で、そばにあるCN5は書き換え用と。
 ブートローダーモードにして、シリアルでROMイメージを流し込んでやるとROMが焼けるらしい。H8みたいだ。
 ファン制御とかもこいつがやっている気配。追ってどのピンに何の制御が割り当てられてるか調べよっと。
 問題なのは79RC324H234にはシリアルが1本しかない(そのせいで評価ボードはわざわざシリアルI/Oの石を載せてる)んで、シリアルコンソールどうしようってこと。
 いざとなったらこいつにはどいていただいて、手動で電源制御するしかないのか?

IDE I/F
 ITE techのIT8211。PCIバス用IDEコントローラ。前はSil0680だったらしいけど、変えた理由は何なんだろう。値段?
 NASだからそんなにIDEは速くなくてもいいか、ってことなんだろうか。
 こいつにつながってるHDDはサムソン製120Gでした。これはいくらでも情報があると思うので省略。


以下、手元にあるHD-120LANでは部品が載っていなくて、パターンだけのもの。
USB I/F
 NECのuPD720101GJ。よくUSB2.0カードに載ってるあれです。登録がうざい…変なところに名簿が流れない???
 HLANにはたぶん標準で載ってるんだろうな。
 追記:HD-HLAN120を買ったら、予想通りついていました。ってなわけで、これ以上は略。

MiniPCI
 パターンだけ。無線LANカードを刺せば無線LANアクセスポイントにもなるんだろうか。面倒なんでやらないけど。
 というか、そこまでやるならHLWGを買ったほうがよさそう。


ほかにもいくつか部品が載ってるけど、メインじゃないんで省略。
==========================================

 まあ、だいたいのことはわかった。RTCの話がないのは秘密。
 (単純に調べ忘れただけ)
 調子にのってブロック図なんぞ書いてみた。

今までのまとめ(その1)


今までにやったことを箇条書きにしてまとめてみる。

・まずは動作チェック。
 HDD満杯になるまでknoppixのISOイメージをコピーしまくってみる。
 →HDD死んだ…ま、これで心置きなく分解できるからまあいっか。

  これも勉強代だ、と思って潔く分解する。
  普通に使うためのは、もう1台購入(アホだ…便利だからいいけどさ)。
  
  ああでも、分解したまま使うと電源もむき出しだから怖いなぁ、と思って
  段ボールでLinkstation用根性試しまな板を作る。
  作り方は簡単、中身を置いてから穴のあるところにドライバで穴を
  あけて、そこにタイラップを通して、モノを固定するだけ。
  (よい子はそばにお茶を置いてはいけません)

  あと、ファンもうるさいしHDDが逝ったから冷やしとけば大丈夫か?と
  思いHDDに吹き付ける向きでファンを増設。
  純正のファンは電源の冷却ができるよう、電源の真裏から吸出しに
  なるようセット。
  ついでに途中にダイオードを4本直列に仕込み、回転数を下げる。
  回転数信号は今までどおり純正のファンの出力をそのままつなぐ。
  (回路図とかは簡単なんで、希望が多いときは出します)
  試運転は、もう1台の通常使用のLinkstationで行う。音量も落ちたし、
  ケースも前よりは温まりにくくなったようで、とりあえず満足。
  ダイオードがちょっと熱を持ってるのが心配といえば心配かな…
  

購入。

ちょっと前に、Linkstationを買ってみた。
中身はmipsだった。。。

…まあいいや、telnetd仕込めばなんとかなるでしょ。Linuxだし。
と、腹をくくってみたものの、いまだtelnetすらつながらないおいら。。。

世の中にはおいらと同じくmipsなlinkstatioを買って困っている人がいるにちがいない。
そういう人たちのため(自分含む)、つらつらと書き連ねてみる。