あおしまの日記

あおしまさんの日記らしいです。個人的に興味がある事を時々書きます。スマートウォッチPebble日本語パックを作成、公開しています。

RaspberryPiでREGZAの録画済HDDを再接続

先日RegzaZ1に3TBのHDDをつなぐ際に、REGZA情報をまとめたサイトを知り、しげしげと眺めておりました。http://www.4682.info/

ここで初めて知る事も多かったのだが、中でもファイルシステムについての情報が得られたのが大きかった。XFSを使っているという事はLinuxでマウント出来るという事になる訳で、何か仲立ちをさせる機械でマウントしたファイルをsambaで送信出来たら、テレビと離れた場所に録画済みHDDを置いておいて視聴したり、かつて録画はしたものの、台数上限で繋げていない昔のHDDを再度視聴出来るようになると考えた。(USB接続のHDDはXFSフォーマットで中に映像と番組データとチャプターの情報のファイルを持ち、映像はそのテレビ個体のみでデコード可能で、運搬方法はsamba経由でもOKなはずと予想した。)

そこで、出た時から興味があったLinux小型ボードRaspberryPiを利用して、RegzaHDD-Sambaストレージゲートウェイを作ってみる事にした。

材料(全て通販)

  • RaspberryPi B+ (RSから購入:2日で到着、約4000円)
  • microUSB ACアダプタ(スマートフォン用1A出力:ヨドバシで購入、900円)
  • microSDカード 4GB(ヨドバシで購入:700円)
  • B+用ケース(PiBow coupe:pimoroni.com通販で購入:数日で到着:8.50ポンド)
  • raspbian 最新イメージ
  • USBキーボード、マウス、HDMIケーブル、LANケーブルなど適当に(手元にあったものを使用)

RaspberryPiのセットアップ・OSの導入

公式サイト等の通りなので省略。
テレビ(HDMIケーブル接続)、キーボード、マウスを繋いで、最低限のセットアップを行う。
Xは起動しないようにする、固定IPの設定、ssh起動など。
一旦設定後は、ネットワーク経由でsshでコマンド操作。

OSへの追加パッケージ

apt-getで導入。

  • samba
  • samba-common-bin
  • xfsprogs(xfsではない)

RaspberryPi上のsambaの設定

最初に設定した時はどうにもRegzaから見えなかったのだが、ひとしきりやり直して、最小限の設定にするように考えながら、下記の設定を標準設定に追加する事でRegzaから見えるようになった。smb.confの初期ファイルに下記の条項を追加。

[global]

(中略)

# Regza用:globalセクション末尾に追加

unix extensions = no
hosts allow = 192.168.1., 127.
dos charset = CP932
display charset = UTF-8

(中略:以下個々のドライブ用設定)

[drive1]
path=/mnt/drive1
read only=no
browsable=yes
guest ok = yes
force user = root 

(以下台数分設定する)

ただし、rootでしかマウント出来ないので、smb.confはforce user=rootじゃないとRegzaから見えなくなる。読むだけで書き込みする必要が無ければread only=yesにしておく。

RaspberryPi上でのUSBハードディスクのマウントポイント作成・録画済HDDのマウントのテスト

/mnt以下にdrive*をそれぞれ作る。(smb.conf内設定とディレクトリ名を揃える。)

sudo mkdir /mnt/drive1

手動でマウントのテスト。

sudo mount -t xfs /dev/sda1 /mnt/drive1

念のためUSBハードディスク内のxfsの修繕

マウント時にxfsが壊れているとRaspberryPiの処理を全部持って行ってしまうので、念のため予め接続するHDDのxfsの補修を行っておく。USB接続してマウントの後、xfs修復を行う。(問題の無いドライブであれば行う必要は無い。)

sudo xfs_repair -Lv /dev/sda1

RaspberryPiへの録画済USBハードディスク・自動マウントの設定(UUIDを使う)

今後は起動時またはUSB差し込み時に自動的にマウントするように/etc/fstabに設定を行う。UUIDを使うとマウント時に認識順などに左右されたりして順不同にならないので、こういう時にうれしい。

sudo blkid /dev/sda1

などとして、UUIDを取得した上で、/etc/fstabに以下のような行を追記。(注:UUIDはデタラメです。)

UUID="abcdef-1234-5678-a123-1234567890123456" /mnt/drive1 xfs defaults 0 0

マウントポイントとドライブとの対応(=Regza上でのドライブ名)も自由に変えられるのも吉。

注意点

マウント時にHDD内のユーザーがrootになったので、それに合わせてsmb.confのforce user を設定しないと、Regzaから見えなくなる事がわかった。ここで一回ドはまりしたので、仕切り直して最小限の設定を詰めて上の結果になった。しかしrootで書き込みかなので危ないと思う。今後改善する予定。

Regza側からRaspberryPi上sambaへの接続チェック

設定メニューからRaspberryPi上で動くsambaで公開しているUSBドライブの検索と登録を行う。テレビ側ではLANハードディスクが8台まで接続出来るので、今後USBハブなど用いてテレビ周りのHDDもRaspberryPiへ移設の上、どしどし増設して行く予定。smb.confに項目を予め書いてしまって8台分登録してしまうのも良案。上記設定だと同一ハブに繋げた場合に動作テストもOKとなった。

操作感

早見はできないが、チャプターのジャンプと画像あり音声なしの早送りはできるので、見ながら飛ばしはなんとなく出来る。速度の問題は有線だと無いように見えるが、今後要観察。

現在、2TBのドライブ4本をUSBポート4つ全てに繋いでいます。各ドライブを1つのLANハードディスクとして4つ登録していますが、Regza上で全てのドライブが見えています。今後USBハブを使うなどして、台数を増やして行く予定です。