LIVAにUSB無線子機

とんだ顛末になりそうな感じだったが、諦めず次の手へ。ということはもうひとつLANをLIVAにつなげればできるということ?ということでケーズデンキ行ってBUFFALOのUSB2.0用無線子機、WLI-UC-GNMを買ってきた。ついでにUSBハブも。この無線子機はlinuxでも刺すだけで動くらしいもので957円也。USBハブは4つ口がついているBUFFALOのBSH4U06PKという格安のもので489円也。LIVAはUSBが2つしか口がない。HDDとワイヤレスのキーボード・マウスをつけると埋まるのでUSBハブも買ったのである。

果たしてUSB無線子機、動くのだろうか?ということで日も変わった深夜、試してみる。

  • 子機をさす
  • lsusbで子機が認識されているかどうかを確認する
  • タスクバーの無線マークから「接続を編集する」を選んで「追加」で接続の設定、ここでは「SSID」と認証キーを入力すると接続される

ということでWIFI化完了。

LIVA DLNAサーバー化#2

ここまででLIVAが無事DLNAサーバーになったので、次はコンテンツの登録。今回の肝はFAT32の外付けHDDをMediaTombから扱う方法。コンテンツの登録はMediaTombのブラウザベースの管理画面で行う。管理画面を表示するにはブラウザ上で下記入力。

http://サーバーIPアドレス:49152/

ログイン画面が表示されるので、ユーザー名とパスワードを入力する。

今回はLIVAに接続したFAT32でフォーマットされた外付けHDDを使おうとしている。このHDDはもともとルーターに接続したHDDで既にコンテンツが入っているので、そのまま使いたいということ。

左のフレーム上部で「Filesystem」を選択し、表示されたツリーから外付けHDDのフォルダを選択すると、「Error: could not list directory /media/xxxxxx : Permission denied」と表示されて保存されているはずのコンテンツファイルが見られない。色々ネット上で調べた結果MediaTombからFAT32がそのままでは見られないような感じ(パーミッションの変更ができない)なのだが、マウント時にパーミッションの設定をすればいいとのことで、以下その手順。

/etc/fstabに以下を追加。
(参考:https://wiki.archlinux.org/index.php/Fstab_(%E6%97%A5%E6%9C%AC%E8%AA%9E)
/dev/sda1    /home/usdhdd    vfat    user,rw,umask=111,dmask=000   0    0

/dev/sda1の部分はデバイス名なのであらかじめ次のコマンドで確認。
$ sudo fdisk –l

/home/usbhddの部分はマウントする場所なので予めそのディレクトリーを作成しておく。
$ mkdir /home/usbhdd

あとの手順は色んなところで説明されているので省略する。

 

ところがここで大きな落とし穴らしきことが!なんとVPN経由だとつながらないのだ。もちろんVPN越しのDLNAクライアント接続が可能なクライアントソフトを使っているし、今までルーターのDNLAサーバー機能を使っていた時はVPN越しに接続できていた。

かなり手こずった結果、次の結論らしい。VPNサーバーに割り当てられているLANデバイスはVPN経由での他のサービスに使えない、という感じの制限。それを可能にするためには別のLANデバイスを用意する必要があるとかないとか。完全には理解できてないけど、こういうこと。

Linux オペレーティングシステム内部での制限事項により、VPN 側 (仮想 HUB 側) からローカルブリッジしている LAN カードに割り当てられる IP アドレスに対して通信を行うことはできません。この制限は SoftEther VPN が原因ではなく、Linux の内部構造に原因があります。もし VPN 側 (仮想 HUB 側) から Linux でローカルブリッジに使用しているコンピュータ本体と、何らかの通信を行いたい場合 (たとえば VPN Server / VPN Bridge サービスと HTTP サーバーサービスを両方動作させており、VPN 側からもサーバーサービスにアクセスさせたい場合) は、ローカルブリッジ用の LAN カードを用意して接続し、その LAN カードと既存の LAN カードの両方を物理的に同じセグメントに接続してください (この他の場合においても 「3.6 ローカルブリッジ」 で解説したように、ローカルブリッジに使用する LAN カードはそのための単独のものを用意することが推奨されています)。

だめそうでしょ?なんだったんだ、この一日作業!

LIVA DLNAサーバー化#1

ということでさっそくLIVAのDLNAサーバー化作戦に取り掛かる。MediaTombはsqlite3とMySQLを利用できデフォルトではsqlite3を使うようになっているが、登録するファイルが多くなると重くなるとのことなので、今回は最初からMySQLを使うことにする。

1. MediaTombのインストール

初めにリポジトリを最新の状態に更新し、MediaTombをインストールする。
$ sudo apt-get update
$ sudo apt-get install mediatomb

 

2. MySQLのインストール

$ sudo apt-get install mysql-server

インストール中にMySQLのrootユーザーのパスワードを聞かれるので入力が必要。

次にMediaTombで使用するデータベースを作成する。MySQL monitorを起動しパスワードはインストール時に入力したものを入力する。

$ sudo mysql -u root –p

データベースを作成。ここではデータベース名はmediatombを例とする。

mysql> create database mediatomb;

データベースへのアクセス権限を設定。onの後ろはデータベース名、toの後ろはユーザー名、byの後ろはパスワード。ここでもこれらはmediatombを例とする。

mysql> grant all privileges on mediatomb.* to mediatomb@localhost identified by ‘mediatomb’;

設定の反映。

mysql> flush privileges;

一旦終了。

mysql> quit

次にデータベースにテーブル情報を取り込む。以下のコマンドを使いMediaTombで用意されている’mysql.sql’をデータベースに取り込む。-uの後ろはユーザー名、-pの後ろはデータベース名。コマンドを入力するとパスワードを聞かれる。

$sudo mysql -u mediatomb -p mediatomb < /usr/share/mediatomb/mysql.sql

 

3. MediaTombの設定

MediaTombの設定ファイル(/etc/mediatomb/config.xml)を編集して、MediaTombの設定をする。今度はnanoとは別のテキストエディタgeditを使ってみた。
$ sudo gedit /etc/mediatomb/config.xml

(作業後のコメント:何やら端末にオーナーがrootじゃないとかなんとかエラーメッセージが表示されるも、一応編集できるようなのでとりあえず気にしない。)

  • ユーザー名とパスワードの設定
    管理画面でのアカウント利用の有効化とユーザー名、パスワードを設定する。
    <accounts enabled=”yes” session-timeout=”30″>
    <account user=”mediatomb” password=”mediatomb”/>
  • データベースの指定
    sqlite3を無効にし、MySQLを有効にする。MySQLのデータベース作成時に指定したデータベース名、ユーザー名を指定する。パスワードは行を追加して指定。
    <sqlite3 enabled=”no”>
    <mysql enabled=”no”>
    <host>localhost</host>
    <username>mediatomb</username>
    <password>mediatomb</password>
    <database>mediatomb</database>
    </mysql>
  • PS3対応
    <protocolInfo extend=”yes”/>
  • 日本語対応
    日本語ファイルに対応するため、以下の2行を <import hidden-files=”no”> の後に追加する。
    <filesystem-charset>UTF-8</filesystem-charset>
    <metadata-charset>CP932</metadata-charset>
  • mimetypeの追加
    デフォルトでは対応していない拡張子を追加する。拡張子は大文字と小文字を区別するので注意。
    <extension-mimetype ignore-unknown=”no”> へ追加する。
    <map from=”avi” to=”video/divx”/>
    <map from=”m4v” to=”video/mp4″/>
    <map from=”mp4″ to=”video/mp4″/>
    <map from=”mpg” to=”video/mpeg”/>
    <map from=”mpeg” to=”video/mpeg”/>
    <map from=”m2p” to=”video/mpeg”/>
    <map from=”jpg” to=”image/jpeg”/>
    <map from=”jpeg” to=”image/jpeg”/>
    <map from=”png” to=”image/png”/>
    <map from=”gif” to=”image/gif”/>
  • トランスコーディング有効化
    DLNAクライアントに合わせてトランスコーディングを行うかの設定。 “yes”で有効化。
    <transcoding enabled=”yes”>

編集が完了したら/etc/mediatomb/config.xml を保存する。

 

3. MediaTombの起動

MediaTombを再起動する。
$ sudo /etc/init.d/mediatomb restart

起動後、DLNAクライアントからDLNAサーバーが見えるかどうか確認し、見えれば導入・設定は完了。

とりあえずここまでをこれからやってみることにする。実はまだインストールはこれからでこれは手順書代わり。

ということでやってみたのだが、なぜかDLNAクライアントから見えない。きっとファイアウォールの設定が必要ということだろう。

 

4. ファイアウォールの設定

LIVAのファイアウォール(ufw)にローカルネットワーク:192.168.x.0/24からDLNAサーバーが見えるようにファイアウォール設定をする。これで見えるようになった。

$ sudo ufw allow from 192.168.x.0/24

 

(これでも見えない場合)

/etc/default/mediatombを編集し、ネットワークデバイスを修正する。

INTERFACE=”eth0″

MediaTombを再起動する。
$ sudo /etc/init.d/mediatomb restart

LIVA DLNAサーバー化作戦

ルーターのメディアサーバー機能のコンテンツ最大数が1000ということが分かったので正直使いもんにならん!ということで、思いついたのがLIVAのubuntuにDLNAサーバーを入れるということ。

MediaTombというソフトウェアが結構いろいろなサイトで紹介されていてよさそうなので、LIVA DLNAサーバー化作戦を始めることにしようと思う。MediaTombを使えばネットワークHDDも行けそうだし、もしだめなら直接LIVAにHDDを接続すれば行けるだろうし。

メディアサーバーの制限

昨日あれっ?と思ったメディアサーバーにあるはずの曲、コピーし忘れたのかと確認したらちゃんとHDD上にあった。じゃあなぜプレイヤーに表示されないんだ?

調べてみると、なーんとルーターのメディアサーバー機能にコンテンツ最大数が1000という制限があったのだ。なんてこった!せっかく2TBのHDD接続してるのにコンテンツが1000個まで、しかもMP3じゃ容量あまりまくって意味ないじゃん。これってDLNAサーバーの規格上の制限なのか、それともこのルーターがそうなのか?ちょっと調べた感じだとDLNAの規格の問題ではないっぽい。

VPNでDLNAであれっ?

先日セットアップしなおしたVPNで自宅ネットワークに接続して、ルーターのDLNAメディアサーバーのMP3を聞いてたんだけど、あれっ?おかしいなと思うことが。メディアサーバーに接続したHDDドライブにどんどんMP3ぶっこんでるのに、入れたはずの曲がプレイヤーに表示されない。コピーし忘れた?