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での不具合の対応

パッケージ

lightMPDbb-v1.1.0.zip

仕様

    • 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を参照して下さい。