NEC製ホームAVサーバ
AX300 をいじってみる
yodobashi.com で114,800円にて購入
製品情報(プレスリリース)


04.02.13 購入。ちなみにAX300L(160GB のほう)。
04.02.13 とりあえずバラしてみる
04.03.05 telnetd 導入
04.03.05 システムバックアップ
04.03.05 wizd インストール
04.03.06 vi コマンドのインストール
04.03.14 HDD換装。250GB に
04.03.14 外からメール予約
04.03.15 DivX 自動変換してみる
04.03.16 サイレントシークモードを設定
04.03.25 外部からアクセス
04.11.25 壊れた→交換

※ ここに書かれていることを試した場合、NEC からの保証は一切受けられなくなると思います。
また、本体カバーを開けたり分解したりすることは火災や感電の原因になる場合があります(と本体に明記してある)し、
システムの変更によりレコーダ自体が動作しなくなる可能性もあります。
警告を無視して作業を行った場合何が起きても NEC 、そして私も保証致しませんので、お試しになる方はその点を
ご理解した上でお試しになるようお願い致します。

e-mail : ax@avoidnotes.org(スパム避けで@は大文字です.)

リンクとか

ハードディスクレコーダー総合ハッキングガイド - ツールとかはここ経由で探して
121ware.com (ファームウェアアップデートツール等)

とりあえずバラしてみる

ほぼパソコン
全景。


サウスブリッジは VT8235

んー、ってことは後ろの隠し蓋のUSBは2.0か?


DVD-RAMはパナのUJ-815-B

電源はDELTA製DPS-87DB(86W)。

04.03.05 / telnetd をインストール

いままで基本的な(正しい)使い方をされてきた我が家の AX300 ですが、そろそろ道を踏み外す時が来ました。
ということで telnetd をインストール。
まずは NEC のサイトから AX10 システムアップデートツールをダウンロード

ダウンロードしたファイル(ax10upd.exe)をダブルクリックして適当なフォルダに解凍しておく。
続いて、AX300 用 telnetd を解凍。現在こいつは入手不可となっているがそこは各自なんとかすれ。
すると、readme.txt、update.dat、update.ini の3ファイルができるのでこれを ax10upd.exe を解凍してできた フォルダに上書きコピーする。あとは通常の手順で、アップデートツールにいわれるがままアップデートするだけ。 telnet クライアントから接続してみると。

こんな感じで接続完了すればOK

04.03.05 / システムのバックアップ

telnet も入ったことだしついでにシステムをバックアップしておく。
AX300 は /dev/hda の第4領域(/dev/hda4)が録画データ保存領域となっている。
で、第4領域は大体 818MB から始まるのでそこらへんまでを dd でバックアップしてやればよい。
具体的には telnet で AX300 に入って

# dd if=/dev/hda of=/mnt/disk1/data/REC/system.bin bs=2048 count=419840

とかする。

04.03.05 / wizd のインストール

AX300 付属の SmartVisionPlayer は使い勝手はともかく、重い。ひたすらに重い。
こんなことでは精神的によろしくないのだが、AX300 には AX10/20 から培ってきた先人の知恵があるのだ。
バーテックスリンクのネットワークメディアプレイヤー「MediaWiz」用サーバソフトを Linux に移植した wizd が NEC 製 MontaVista Linux 搭載の AX300 でも使用可能である。これを使えば、現在の

AX300 ← Windows から SmartVisionPlayer で視聴
というスタイルを
AX300 上で wizd を起動 ← Windows から Mplayer で視聴
とすることができる。Mplayer は非常に軽いソフトなので SmartVisionPlayer に比べれば精神的にかなり楽になる(かもしれない)。

インストール自体は基本的に telnetd と変わらない。システムアップデートツールに update.dat、update.ini 等を上書きして実行するだけである。
あぁ、wizd 用のスキンを転送する必要があるのでそれだけは注意だ。wizd を解凍すると出てくる wizd_directory/skin のディレクトリを AX300 の
exports フォルダ内に作成された wizd_directory 内にフォルダ毎コピーする。わかりにくいな。
\\AX300-01\exports\wizd_directory に C:\foo\bar\wizd_directory\skin フォルダをまるごとコピーするんだ。単純に言えば。
samba 動いてるからネットワークコンピュータ見ればなんとなくわかると思う。

Mplayer は Windows版をダウンロードしてインストールした。やたらに見つけにくいのでリンクしとく最近はベータ版が発表されてちゃんとダウンロードページに公開されているようです Mplayer のインストールは適当なフォルダに解凍するだけだ。僕は C:\Program Files\mplayer とかに解凍してみた。

さてここで実際に wizd にアクセスしてみる。
ブラウザから「http://ax300-01:8000/」とか打ってみる(デフォルトのホスト名変えてなければ)。
wizd の画面が出ればOKだ。で、上のほうの Video とかクリックすると録画情報一覧が出てきたりすると思う。
録画タイトルをクリックすれば再生開nと思いきやこのままではおそらく Winamp あたりが起動しやがるのではないかと予想される。
これは拡張子 pls が winamp に関連付けられているため。
「マイコンピュータ」→「ツール」→「フォルダオプション」→「ファイルタイプ」と辿っていって、拡張子 pls の設定を以下のように変更

拡張子:pls
アクション:open
アクションを実行するアプリケーション:"mplayer.exeまでのフルパス" -playlist "%1"

こうして pls に関連付けを与えた後に録画タイトルをクリックすれば無事映像が流れるはず。
さて使用感であるが、ほー確かに軽いです。
キーボードショートカットを覚えてしまえば使い勝閧ヘなかなか(逆に言えば覚えられなければ何もできませんが!)ただこいつの真価はやっぱり MediaWiz なり LinkPlayer と連携してこそだろうなとも少々vう。ただ軽くなっただけだし。
ま、 そのうち暇ができたら外部からの再生とかも試してみるかな。

04.03.06 / vi コマンドのインストール

wizd 入れたはいいけど /etc/wizd.conf が編集できなくて困った。
ってなわけで vi コマンドをインストール。
AX300 はもともと ../usr/bin/sensible-editor なるコマンドへのシンボリックリンクとして vi が存在する(開発段階で実装されていたのか?)。
消してしまってもよい気がするのだけど念のためバックアップ。

mount -o remount, rw /

として書き込み可能にする。で、

mv /bin/vi /bin/vi.old

とかしておいた。
あとはいつも通りにアップデートツールを使ってインストール。
vi で /etc 内のファイルを編集したい場合も上述のマウントコマンドを打って書き込み可能にしてから作業を行う。

04.03.14 / AX300 HDD換装

HDD という機器は信用できない。
ってなことを色々な人に言っているような人間なので、当然こいつも信用してません。
幾度となく絶妙のタイミングで壊れ続けるこの機器にこれ以上手間をとりたくないので、この際だからとっかえてしまおう。
バックアップだバックアップだ。
で、どうせだから 250GB を載せて容量アップさせます。
買ってきたのは Maxtor 7Y250P0 。80GB 3 枚プラッタ、7200rpm のディスク。
さてまずは接続。
今回はあらかじめ上でバックアップしてあったシステム(system.bin)からの復旧という手段をとることとする。
で、作業自体は Linux から行いたいので KNOPPIX を使うことに。

Primary Master: Windows が入ってるハードディスク
Primary Slave: Windows マシンについてる CD-ROM ドライブ(KNOPPIX を入れとく)
Secondery Master: 7Y250P0

とかした。ここでの注意点は
・ハードウェアが CD-ROM ブートできること (KNOPPIX 使うなら)
・ハードウェアが BigDrive(137GB over の HDD)に対応していること
・Linux kernel が BigDrive に対応していること(KNOPPIX は最新版なら大丈夫)
・Linux kernel が XFS に対応していること(KNOPPIX は最新版なら大丈夫)
ぐらいですか。BigDrive および XFS に対応したバージョンのカーネルを使うなら Linux マシンに新しい HDD つなぐだけで充分です。うちのマシンは 2.4.18 なんで再構築面倒臭がってやりませんでした。また、直接システムをコピーするなら Primary Master は AX300 のオリジナル HDD でよいでしょう。
接続したら何はともあれブート。たぶん KNOPPIX が立ち上がるよ。駄目なら BIOS の設定で Boot Sequence とか確認。
KDE のデスクトップ画面が出てきたら下のパネルからターミナルを起動。あとはコマンドがしがし打っていきます。

system.bin が C:\system.bin とかにあったと仮定すると

# mount /dev/hda1
# dd if=/mnt/hda1/system.bin of=/dev/hdc

とかします。 hda があれね、Windows マシンの HDD。で、hdc が新しい HDD 。
上でちらっと書いたけどバックアップからの復旧じゃなくて直接システムをコピーしたいなら Primary Master に AX300 のオリジナル HDD をつないで、

# dd if=/dev/hda of=/dev/hdc bs=2048 count=419840

とかやればいいと思います試してないけど。
何も表示されずに不安がよぎるがしばらくたてば終わるはず。さて、これでシステムは復旧されているわけだがこれだとMBRも復元されているのでパーティションテーブルが元のままである。AX300 は録画領域が /dev/hdc4 に充てられているのだが、その領域を一旦解放した後最大値で再確保してやる必要がある。
KNOPPIX なら qtparted を使うとグラフィカルにできるのでそれを使うと楽だろう。一応 fdisk や cfdisk 等を使う手もある。くれぐれも他の領域(hdc1〜hdc3)には手をつけないこと。なお、xfs ファイルシステムの構築には /sbin/mkfs.xfs コマンドがあるのでそれを使うとよい(qtparted や cfdisk は勝手にやってくれるけど)。なお BigDrive に対応した機器および OS を使ってないとここで領域の確保に失敗するもしくはここで確保できたように見えても AX300 につないでみると 127GB とか認識されて悲しいことになるので注意だ。

■ fdisk の例
# fdisk /dev/hdc
 d でパーティションの削除。削除番号は 4 を指定。
 n でパーティションの作成。作成先は 4 を指定。サイズはデフォルト(最大サイズ)で。
# mount /dev/hdc2
# /mnt/hdc2/sbin/mkfs.xfs -f /dev/hdc4

ここまできたらあと一息。
AX300 の録画領域は単に録画データを保管するだけじゃなくてまあ他にも色々なデータが管理されているわけで、それらのデータを初期化してやる必要があります。初期化用のデータは /opt/MC/data/data.tar.gz にありますので、そいつを /dev/hdc4 のルートに解凍してあげれば OK。

# mount /dev/hdc2 (やってなければ)
# mount -rw /dev/hdc4 (書き込み権限つきで)
# tar -xzf /mnt/hdc2/opt/MC/data/data.tar.gz -C /mnt/hdc4

これで全ての作業が完了。
あとは新しい HDD を AX300 にぶち込めば終了。
無事起動すること、ナビ→HDD状態表示 で HDD の残量が増えていることを確認。
さてさてこれで思う存分酷使できますなあー・・・(時間はあるのか!?)
ちなみに交換した HDD はとりあえず保管。

04.03.14 / 外からメール予約

ブラウザ設定でPOPアカウント、SMTPアカウントなどを設定する。
そのまんまにしておくと誰でも予約できちゃうじゃんと思うところだが、AX300 内に作成できるアドレス帳に登録されているメールアドレスでのフィルタリング、メールのサブジェクトによるフィルタリングなど複数条件が設定可能なため完璧とは言えないまでも高い精度での排他が可能である。
で、適切なメール予約設定がされているとすればあとはメールを送るだけ

resvp password(任意) 0315 0210 0220 8 2 0 中央競馬

なるメールを送れば予約できる。
解説すれば
resvq password 日 開始 終了 チャンネル 画質(2が標準) 繰り返し(0は繰り返しなし) タイトル(任意)
である。 あらカンタン。携帯からでもできます。こんなもん覚えらんねーという人は RRiEPG を設定するがよろし。

04.03.15 / DivX自動変換してみる

先人の偉大な功績をまたしても参考にさせて頂きます。
ダウンロードしてあった ax10_ffmpeg_cron.tar.gz をエクスプローラから exports フォルダの中にコピー
telnet で AX300 に接続して

# tar -xzvf /mnt/disk1/data/REC/ax10_ffmpeg_cron.tar.gz -C /

とすればインストールはOKと。
録画した番組が自動的に /mnt/disk1/data/REC/divx フォルダに DivX に変換されて保存されます。
自動変換させたくなければ /mnt/disk1/data/REC/divx/auto_enc.conf を適当な名前にリネームしておけばOK。
ちなみに /mnt/disk1/data/REC/divx/mpeg_sources/ に mpeg ファイルを拡張子 mpg で放り込んでおけばそれも自動的に DivX に変換される。
ついでに auto_enc.conf の内容を書いておけば、まあ ffmpeg のコマンドラインオプションそのものなんですが

-vcodec mpeg4 -b 700 -qmin 2 -qmax 8 -r 29.97 -g 240 -hq -me epzs -acodec mp3 -ab 128 -s 320x240

てな感じ。-b 動画ビットレート -qmin と -qmax は VBR におけるクオリティの最低値および最大値。-r はフレームレート、-g は GOP 値 -ab は音声ビットレート -s は動画サイズを指定できる。ここらへんを適当に変えて動画のクオリティを調整しよう。他のはまあ変えなくていいかと。

04.03.16 / サイレントシークモードを設定

とにかく HDD を交換してから、音がうるさいのが気になるようになった。
まあ個人的な生活習慣の違いから通常時の駆動音は我慢できるのだが、唯一我慢ならないのはタイムシフト視聴時および録画番組視聴時のシーク音である。カッツンカッツンっつー音が視聴時に聴こえてくるのはさすがに精神衛生上よろしくない。
何とかなんねーかなーと思っていたところ、あーそーいえばサイレントシークモードに設定すればいいんじゃね?ということに気付く。
7Y250P0 は Maxtor 製であるので、AMSET を使えばいいのだが、こいつは生憎推奨設定の一通りでしかシークモードを設定できない。
そこで今回は Feature Tool を日立のページからダウンロードしてきて使ってみた。
違うベンダの使えんのかいという話だが、どうやら ATA のモードセットコマンドを叩くだけなので他のベンダの HDD だろうがフォーマットが何だろうが使えるらしい。この Feature Tool は Acoustic Management Value (要するに音量に関わる部分だ)をスライダで設定できるため、Normal, Quiet Seek の ON/OFF の 3 つしか選択できない AMSET に比べより柔軟な設定が可能である。 で、その数値は 128 〜 254 の範囲で設定が可能であり 192 〜 254 が Normal Mode(デフォルト値が 254)であるらしい。128 にすると音は静かになるようであるが、著しくパフォーマンスが落ちることが予想されるので、 Normal と Quiet Mode の境界点である 191 をチョイスしてみた。

で、問題の音がどうなったかというと・・・かなり改善されるという(予想外の?)結果に。
カッツンカッツンの音がなるのは起動時に少しあるかな?くらいになりました。
視聴時の音はほぼ無いと言えるレベルに。
パフォーマンスの低下も今のところ感じられず満足のいく結果でしょう。
HDD 換装を行う人は試してみることをお勧めします。ただし換装前にやっとかないと分解二度手間に悶えます。

04.03.25 / DivXフォルダに外からアクセス

もうすでに AX300 の話じゃなくなってる予感。
httpd.conf を書き換える。

# vi /etc/apache/httpd.conf

で、次のような行を加えておいた。

Listen 10800
〜中略〜
<VirtualHost *:10800>
<DocumentRoot "/opt/mc/www/rec">
<Directory "/opt/mc/www/rec">
AllowOverride All
Options FollowSymLinks
</Directory>
</VirtualHost>

DivX 用に新たにアクセス用のポートを作って、そこ経由でアクセスすることに。
これだけだと DivX フォルダへのアクセスができないので、

# ln -s /mnt/disk1/data/REC/divx /opt/MC/www/rec/divx

とかしておけば、http://your-address:10800/divx とかでアクセスするための設定は完了である。
しかしこのままではアクセス付加。なぜなら AX300 はマシン側から自機の IP は設定できてもデフォルトゲートウェイは設定できないから。
デフォルトゲートウェイは自分で設定して、ルータのスタティック IP マスカレードも設定すれば初めてアクセス可能になるのだー。
録画データというもの自体おそらく誰からも見れる状態であれば法律的にアレなので、 ついでに .htaccess を使って divx フォルダに認証かけておきました。
Mplayer で認証通すには -user <username> -passwd <password> のオプションをファイル名の後に加えないと駄目なんで注意。

てなわけで無事アクセスできてます。
320x240 700kbps の動画も ADSL 環境で割と安定して再生可能。
やっとホーム AV サーバらしくなってきましたー。

04.11.25 / 壊れた→交換

いや、約8ヶ月ぶりの更新です。
基本的に何も起こらなければ何も更新されないページなのでまあいいのですが。
AX300 による録画+自動変換→外部視聴は我が家のバビロンシステムとして絶賛稼動中でした。でした!1ヶ月前までは!
えーと、端的に言えばおそらく HDD セクタ内のどこか、具体的にはタイムシフト録画領域のどこかが死んでしまったため 必ず視聴開始 45 分後くらいから動作がカクカクになり、1時間後くらいには ERROR FC06(FC-06 だったかな?)の文字とともに ハングアップ。タイムシフトを 5 分とかにすれば何とか動作はするもののなんかねー。ということで考えるのも面倒だったので HDD 交換しました。いやー交換した時に驚いたこと。すんげー HDD 熱かったよ!触れないくらい!そりゃ壊れるわーとか思ったり。 そして新 HDD に Maxtor MaXLine II 5A250J0 (250GB / 5400rpm) をチョイス。あまりの熱さにビビッたので 5400 回転で! 交換自体はシステムバックアップ等はとってあったんで、新しく買ってきた HDD にシステムぶちこんで終わりなんですけどね。 特にとっておきたい番組もなかったことからデータ移行とかはなしで。

ってこれだけじゃあまりにアレなので録画データ等も全てコピーしたい場合についても一応書いておく。
Linux マシンに新旧 HDD をつないで起動した場合、もしくは Windows とかに新旧 HDD をつないで KNOPPIX で起動した場合 どちらでも構いませんが、
旧 HDD:/dev/hdb
新 HDD:/dev/hdc
とすれば、両方を mount した後で

# tar -xzf /mnt/hdc2/opt/MC/data/data.tar.gz -C /mnt/hdc4

とかやる代わりに

# cp -r /mnt/hdb4 /mnt/hdc4

とかやってやればいいと思う。試してないから責任持てませんが。

あと個人的メモ。各種初期化処理への入り方
HDD の修復操作:多分 fsck とかしてるんだと思う

  1. 20秒以上電源ボタンを押して電源を切る(強制電源 OFF)
  2. 5秒以上の間隔をあけてまた電源を入れる
  3. 表示パネルに BOOT と表示されている間に「コンテンツ」ボタン(リモコンの)を連打(十数回)
  4. HDD の検査と修復という画面が出てくるのであとは指示どおりに。
HDD の初期化:
  1. 20秒以上電源ボタンを押して電源を切る(強制電源 OFF)
  2. 5秒以上の間隔をあけてまた電源を入れる
  3. 表示パネルに BOOT と表示されている間に「選局」ボタン(リモコンの)を連打(十数回)
  4. HDD の初期化という画面が出てくるのであとは指示どおりに。
公式のマニュアルに連打(十数回)とか書く NEC のセンスが好きです。
初期化の方法には「システム領域の初期化」と「データ領域の初期化」というのがあるが、これは前者が第4領域以外、 後者が第4領域のみを初期化するという意味だと思う。なんでデータ領域を初期化しても telnetd 等は消えません。