beaglebone
[履歴]
2018.06.06 v1.1.0 公開
TIのbeagleboneシリーズで動作するlightMPDです。
動作環境
対応機種
beaglebone black
beaglebone green
対応DAC
USB Audo Class 1.0対応のDAC(DDC)
USB Audo Class 2.0対応のDAC(DDC)
I2S接続のDAC(オプション)
パッケージ
lightMPDbb-v1.1.0
前バージョンからの変更
- カーネルの切換機能を追加した
- 一部のDDCでの不具合の対応
パッケージ
仕様
- root file system
- buildroot 2017.11
- kernel
- F4.14.35rt27
- mpd
- mpd-0.20.18rt
- standalone,upnpmode,upnpgw-nas,upnpplaydeで利用できます。
- mpdupnp-0.20.18rt
- upnpmode,upnpplayerで利用できます。
- mpd-0.21.xrt
- mpdのgitからbuildしました。standalone,upnpmode,upnpgw-nas,upnpplaydeで利用できます。
インストールおよび設定
インストール
- パッケージのダウンロード
- FAT32でフォーマットしたMicroSDメモリを用意する
- パッケージ(zip形式)をMicroSDメモリに解凍する
設定
利用目的に合わせて/lightMPD/lightmpd.conf,/lightMPD/mpd.conf を修正します。
/lightMPD/conf ディレクトリに用途毎の設定ファイルがあるのでそれをベースに環境に合わせて編集して下さい。
- standalone
- NAS上のデータを再生します。
- upnpmode
- dlnaのレンダラーとして動作します。
- upnpgw-nas
- NAS上のデータを再生しますが、upnpgwでNASとはネットワークを分離します。
- upnpplayer
- upnpgwと連携してdlnaのレンダラーとして動作します。
standaloneとして設定する場合は/lightMPD/conf/standalone内のlightmpd.conf,mpd.confを/lightMPD/lightmpd.conf,/lightMPD/mpd.confにコピーしてら/lightMPD/lightmpd.conf,/lightMPD/mpd.conf を編集して下さい。
カーネルの切換
v1.1.0から/boot内の配置が変わりました。カーネル(zImage)およびdtbはカーネルのバージョン毎に用意したディレクトリに格納されています。
<boot> ----+--- uImage
|
+ -- <kernel-1> ---+----- zImage
| |
| + ----- <dtbs>
+ -- <kernel-2> ---+----- zImage
|
+ ----- <dtbs>
/uEnv.txtのkernel_version で起動するカーネルのバージョンを指定します。
上記の構成の場合、/uEnv.txtの kernel_version=kernel-1 とすると kernel-1内のzImageが起動します。
使用上の注意
mpdの異常終了について
以前のバージョンでは一部のDAC(DDC)で曲の切換時にmpdが終了するという現象が報告されていました。私の所有するJlSounds の I2S over USB でもその現象は発生していました。
v1.1.0のカーネル 4.14.35rt27 ではその現象は発生しなくなりました。特にバグとして報告されているわけではないので たまたま I2S over USB ではうまくいっているという可能性もあります。
以前のバージョンでこの現象が発生していた場合は、v1.1.0のカーネル(4.14.35rt27)を試して見て下さい。
4.14.35t27でもこの現象が発生する場合は、オプションで公開しているbotic7-4.9.38/zImage-xenomai を使って下さい。
polipo(キャッシュサーバー)について
upnpmpde,upnpplayerではpolipoというキャッシュサーバーを介してdlnaサーバーと通信します。beagleboneの様なシングルコアーのCPUでハイレゾを再生するとpolipoの負荷が一時的に増加し、再生が途切れる場合があります。(接続するDACによります)
この場合はpolipoを外して下さい。
mpd.confの
input {
plugin "curl"
proxy "127.0.0.1:8123"
}
を
input {
plugin "curl"
# proxy "127.0.0.1:8123"
}
とする事によりpolipoを外す事ができます。
botic-7 kernel
boticプロジェクトで開発されているkernelを使う事によりbeagleboneでI2S接続のDACを使う事ができます。
lightMPDでは非サポートのオプションとしてbotic対応のkernelを公開しています。
botic-7 kernelについてはbeagleboneのbotic kernelを参照して下さい。
パッケージ
lightMPD-v1.1.0のkernel切換機能に対応したパッケージを作成しましたので、v1.1.0以降でbotic kernelを利用する場合は下記のパッケージをつかって下さい。
このパッケージに含まれるkernelはbeagleboneのbotic kernelで公開したものと同じ物です。
lightMPD-v1.1.0-botic7-4.9.38.zip
インストール
上記パッケージをlightMPDをインストールしたMicro SDメモリに解凍して下さい。
/boot ディレクトリが下記のようになります。
/boot --+---- mainline-4.14...
|
+---- botic7-4.9.38
/uEnv.txt の kernel_version を下記のように変更します。
kernel_version=botic7-4.9.38
botic7-4.9.38には以下の2つのkernelがあります。
- zImage-rt
- full preemptive kernel
- zImage-lowlatency
- lowlatency kernel
- zImage-xenomai
- xenomai realtime kernel
kernelの選択は kernel_imageで行います。
kernel_image=zImage-xenomai
fdtfile,optargsについてはbeagleboneのbotic kernelを参照して下さい。