Banana Pi + MPD + SSD
HOME BACK

はじめに

Banana Piは、 SATAポートがあるので、HDDやSSDを組み込んだミュージック・サーバーにするつもりで購入した。
しかし、Banana PiではI2Sがサポートされておらず、DAC-ICをI2S接続できない。
そのため、新たにBanana Proを導入してDAC-ICをI2S接続し、楽曲格納用のHDDも組み込んだミュージック・サーバーを作った。
やはり、ミュージック・サーバーには楽曲ファイルを格納したHDDやSSDが同居していると便利で、これにスマホやタブレットをリモコンにするだけでシステムが出来上がる。
それならば、Banana PiもせっかくSATAポートがあるのでSSDを接続して、外付けのDACと組み合わせるミュージック・サーバーを作ってみることにする。
大容量HDDを内蔵すればNASにも転用できそうである。

ケーシング

Banana Piについては、 「Banana Pi + MPD について」でいろいろといじっているので、先にケーシングを行い、それから設定することにした。
ケースにはBanana Pi本体と2.5インチのHDD又はSSDを収納することになる。
120GBのSSDが余っていたので、これを使用したが、HDDでもまったく問題ない。
ケースはタカチのYM-200(150 x 200 x 40mm)とし、写真のように配置したが、これでもSATAケーブルの取り回しがタイトである。

Bananian

今回、使用するOSは 「Banana Pi + MPD について」でも使用したBananianである。
最新version 15.08(Debian 8/Jessie) をダウンロードし解凍すると
bananian-1508.img
というイメージ・ファイルが得られるので、Win32DiskImagerを使用して4GBのSDカードへ書き込んだ。
書き込み等の詳細はRaspberry PiへRaspbianへのインストールを解説した「Raspberry Piのいたずら」を参照してもらいたい。

bananian-1508.imgを書き込んだSDカードをBanana Piに装着し電源を接続するとブートが始まる。
bananian-1508でもデフォルトでsshサーバーが動作しているので、 DHCPサーバーで割り当てられるIPでアクセスし
ユーザー名: root
パスワード: pi
とすると以下のように認証される。
Linux bananapi 3.4.108-bananian #2 SMP PREEMPT Thu Aug 13 06:08:25 UTC 2015 armv7l
------------------------------------------------------------------------
Welcome to Bananian Linux!
For news and updates check: https://www.bananian.org
Any questions? Read the FAQ first: https://www.bananian.org/faq
Run 'bananian-config' to set up Bananian Linux
Run 'bananian-update' to check for distribution updates
------------------------------------------------------------------------
Last login: Mon Aug 31 21:55:14 2015 from 192.168.0.108
root@bananapi ~ #

最初にbananian-configを実施してtimezoneと expand the root file systemを変更した。
root@bananapi ~ #bananian-config

次に IPを固定する。
#vi /etc/network/interfaces
として以下の内容を書き込んだ。
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
# dhcp configuration
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.0.92
netmask 255.255.255.0
gateway 192.168.0.1
# static ip configuration
#iface eth0 inet static
# address 192.168.6.241
# netmask 255.255.255.0
# gateway 192.168.6.1

リブート後は192.168.0.92でアクセスできることになる。

MPDの設定

最初にmpdとmpcをインストールする。なお、mpcはクライアント・ソフトである。
# apt-get install mpd mpc
次にalsa-utilsをインストールする。
# apt-get install alsa-utils

次に接続したUSB-DACの状態を確認しておく。
# cat /proc/asound/cards
root@lemaker:~# cat /proc/asound/cards
0 [sunxicodec ]: sunxi-CODEC - sunxi-CODEC
sunxi-CODEC Audio Codec
1 [DAC ]: USB-Audio - USB Audio DAC
Burr-Brown from TI USB Audio DAC at usb-sw-ohci-1, full speed
デバイス番号1がUSB Audio DACであり、確かに接続した自作DACはTI Burr-Brown製のチップを使用している。
次に /etc/modprobe.d/alsa-base.conf というファイルを作り、以下を記述する。
# vi /etc/modprobe.d/alsa-base.conf
options snd-usb-audio index=1

MPDの設定ファイルである /etc/mpd.conf を編集する。
# vi /etc/mpd.conf
最初に bind_to_address という行を探し#でコメントアウトし、以下のコメントを追加する。
#bind_to_address "localhost"
bind_to_address "127.0.0.1"
bind_to_address "192.168.0.92"
192.168.0.92は本機に割り当てたIPである。

次の箇所を赤字のように編集する。
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:1,0" # optional
# format "44100:16:2" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "1" # optional
}

設定が終わったら、MPDを下記のコマンドで再起動する。
# /etc/init.d/mpd restart
[ ok ] Stopping Music Player Daemon: mpd.
[ ok ] Starting Music Player Daemon: mpd.


次は / に music ディレクトリーを作りマウントし、/var/lib/mpd/musicへリンクする。
# mkdir /music
# mount -a
# ln -s /music /var/lib/mpd/music

次にcif関連のソフトをインストールする。
# apt-get install cifs-utils

MPDのバージョンは0.19.1である。
# mpd -V
Music Player Daemon 0.19.1

OSのバージョンは以下のとおりである。
# uname -a
Linux bananapi 3.4.108-bananian #2 SMP PREEMPT Thu Aug 13 06:08:25 UTC 2015 armv7l GNU/Linux

SSDの接続

組み合わせたSSDは2.5インチ120GBでSATAケーブルを使用して接続する。
このSATAケーブルには電源用のコードもあるので、これをBanana Piのコネクターに差し込めばOKである。

接続したSSDのデバイス名を確認する。
# dmesg
[ 2.035217] sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
[ 2.046430] sd 0:0:0:0: [sda] Write Protect is off
[ 2.055209] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 2.063327] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.069331] sw-ehci sw-ehci.2: new USB bus registered, assigned bus number 3
[ 2.089672] sw-ehci sw-ehci.2: irq 72, io mem 0x01c1c000
[ 2.099311] sda: sda1
120GBSSDはsda1であることが分かった。

このSSDをfdiskで全体を一つのパーテーションとして再構築し、ext4で再フォーマットする。
# mkfs -t ext4 /dev/sda1

これを/musicにマウントするために/etc/fstabに以下の行を追加した。
/dev/sda1 /music ext4 defaults 0 0

筆者は楽曲ファイルの管理はWin7PCのiTunesで行い、楽曲ファイルは自作NASに格納しているが、本機にもsambaをインストールしておけば、このNASに格納した楽曲ファイルをWin7PC上でドラッグするだけで簡単に移動させることができる。
samba関連の2つのソフトをインストールする。
# apt-get install samba
# apt-get install samba-common-bin

sambaの設定ファイルを編集し下記を追記する。
# vi /etc/samba/smb.conf
[music]
comment = music
read only = no
locking = no
path = /music
guest ok = yes
force user = root

次にpasswdを設定する。
今回はsambaとした。
# smbpasswd -a root
New SMB password:samba
Retype new SMB password:samba

sambaを再起動して完了である。
# service samba restart
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.

Win7PCから本機の /music へアクセスする場合、スタートボタンのすぐ上の検索窓に \\192.168.0.92(本機に設定した固定IP) と入力し、次に検索されたコンピュータをクリックし、 ID:root、PASSWD:samba とタイプすると共有フォルダー /music が見えるはずである。
これで楽曲ファイルをNASから本機の /music へドラッグするだけでコピーすることができる。

まとめ

トランス式平衡出力のDACを接続し、Win7のGMPCやアンドロイド・タブレットのMPDクライアント・アプリを使い、SSDに格納した楽曲ファイルを再生している。

ところが、Win7のTera Termでは問題なくSSHで本機に接続できているが、アンドロイド・タブレットから接続しようとするとうまく認証できないようである。
別のミュージック・サーバーではアンドロイド・タブレットからでも問題なくSSHで接続 できるので調べてみた。
その結果、本機の方がsshdのバージョンが新しく、/etc/ssh/sshd_configもよりセキュアーな設定となっているようである。 SSHはLAN内だけしか使わないので、sshd_configのこの部分をコメント・アウトしたところ、 アンドロイド・タブレットからも接続できるようになった。

HOME BACK

Last Update 4/Sep/2015 by mac