x86_64用lightMPDにupnpgwの機能を追加しました

3,329 views
Skip to first unread message

donuts...@gmail.com

unread,
Mar 10, 2020, 9:52:00 AM3/10/20
to lightMPD
x86_64版lightMPDにupnpgwの機能を追加しましたので公開します。

【ベース】
 lightMPDx86_64-v1.2.0b2.zip

【対応CPU】
 intel、AMD
 ※AMDでの確認は取れていません。

【主な変更点】
 ①upnpgw機能の追加
  必要なモジュールは lightMPD/upnpgw(apu2) から移植しています。
 ②カーネル変更
  ・upnpgw用の設定追加
  ・LAN用ドライバの追加
   Intel devices
    Intel(R) PRO/1000 Gigabit Ethernet support
    Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support
   Realtek devices
    Realtek 8168 (8111D) gigabit ethernet support
   USB Network Adapters
    ASIX AX88xxx Based USB 2.0 Ethernet Adapters
    ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet
  ・acpi関連追加
  ・グラフィクスドライバー(モニター)削除
 ③電源ボタンによる電源オフ対応
 ④カスタマイズツールを追加

【ダウンロード】

【インストール手順】
 基本的な作りはベースとしているlightMPDx86_64-v1.2.0b2
 に沿っていますので、以下の手順でインストールできます。
  (1)BOOTイメージの書き込み (UEFI, MBR用をそのまま流用)
  (2)ダウンロードしたファイルの中身をUSBメモリへコピー
   ※解凍するとx86_64-upnpgw-20200310ディレクトリが作成されますので
    その中身をUSBメモリへコピーしてください。
  (3)confあるいはconf.upnpgwディレクトリ内の機能別のlightmpd.conf, mpd.confを
   lightMPDディレクトリへコピー
  (4)環境に合わせて(3)のファイルを編集
   ※イーサネット・ポート(eth0, ...)を環境に合わせて変更してください。

【lightMPD.confへの項目追加】
 以下の設定を追加しています。
 上は、acpiデーモンの起動(電源ボタンによる電源オフ動作に必要)
 下はsyslog, klogデーモンの起動を制御します。
   [acpid]
   #  yes | no
       enable=yes
   
   [logging]
   #  yes | no
       enable=yes

【カスタマイズ手順】
 以下の手順でinitrdのカスタマイズが可能です。
  (1)システムイメージの収集 (/var/tmp/imgディレクトリを作成)
    # /var/lightMPD/bin/mkimage.sh
  (2)システムイメージの変更
    # cd /var/tmp/img
    システム内容変更
  (3)initrdファイルの作成 (USBにinitrdを出力)
    # /var/lightMPD/bin/mkinitrd.sh
  (4)/boot/grub/grub.cfg変更で新initrdを指定

イメージは無保証です、個人の責任でご利用ください。

質問などありましたらこのスレッドにお願いします。私が回答いたします。
※正式版とは関係ありませんので、digififanさんに直接問い合わせることはおやめください。

ゴンザエモン

unread,
Mar 11, 2020, 6:12:33 AM3/11/20
to lightMPD
AMD CPUでの稼働、再生ならびにACPI動作確認いたしましたので、取り急ぎご報告まで。

電源ボタンプッシュでのシャットダウン、電源オフはやはり快適です、、、

digififan

unread,
Mar 12, 2020, 10:29:09 AM3/12/20
to lightMPD
donuts.shop73さん

upnpgwの公開ありがとうございます。
まだ、テストできてませんがテスト後にあらためて動作報告したいと思います。
そろそろupnpgwをなんとかしなくてはと考えていたので、この公開はありがたいです。
また、電源スイッチでの電源OFFはlightMPDでも要望を受けているので参考にさせてください。

改めて公開ありがとうございました。

donuts...@gmail.com

unread,
Mar 13, 2020, 11:46:54 AM3/13/20
to lightMPD
digififan さん


「電源スイッチでの電源OFF」の実現のために行ったのは以下の通りです。

(1)カーネル設定にて以下の項目を有効化
  Power management and ACPI options  --->
   ACPI (Advanced Configuration and Power Interface) Support  --->
    [*] Button
  Device Drivers  --->
   Input device support  --->
    [*] Event interface
(2)busybox で acpid を有効化
(3)/sbin/acpid を ../bin/busybox へリンク
(4)acpidデーモン起動スクリプトを作成
  /etc/init.d/S02acpid
(5)acpid の設定ファイル作成
  /etc/acpid/PWRF/00000080
  /etc/acpid は ../var/lightMPD/etc/acpi へのリンク
(6)/var.rom/lightMPD/bin/syssetup.scm へ [acpid] セクション用設定追加
(7)lightmpd.confへ [acpid] セクション追加

choppe...@gmail.com

unread,
Mar 13, 2020, 11:39:11 PM3/13/20
to lightMPD
donuts.shop73さん
こんにちは。

daphileのWAV送信の件ではお世話になりました。
おかげさまで、ありがたく常用させていただいています。

また、upnpgwの公開ありがとうございます。
以下構成で動作確認しました。
upnpgw :lightmpd.confはnasgateで、playerとの接続は2系統です。
     確認した機器は下記です。
・Intel
 supermicro X11SSL + Xeon E3-1260 V5 + 82576-2T-X1 × 2
・AMD
 Asrock B450M Pro4 + Ryzen7 1700 + 82576-2T-X1 × 2

LANカード(82576-2T-X1)は1枚をnas側(eth0)、1枚をplayer側(eth2、eth3)にしました。
 playerは、 ASUS B450M-K + Ryzen7 2700 + 82576-2T-X1 です。
ハードの選択肢が増えてうれしい限りです。
また、電源ボタンでのOff機能は、スタンバイ状態にできるため便利ですね。

ありがたく使わさせていただきます。
ありがとうございました。

uehar...@gmail.com

unread,
Mar 14, 2020, 4:19:23 AM3/14/20
to lightMPD
donuts.shop73さん

お世話になります。残念ながら、わたくしのところのLiva Z、その他のPCでは起動できません。

USBからブートするのですが、すぐに、
vga=current is deprecated 
 unrecognized number  
you need to load the kernel first
と表示され、その後、カーネル選択の画面となり、リターンすると、停止してしまいます。

PCの問題なのか、USBメモリの問題なのか、わからず、悩んでおります。

ちなみに、 デジファイのおと さんのものは、起動できています。
 

kku...@gmail.com

unread,
Mar 14, 2020, 5:53:59 AM3/14/20
to lightMPD
uehar...@gmail.com さん
はじめましてkkumaxと申します。

私のところでも全く同じ症状です。
同じくデジファイのおとさんの正式版では動作します。

条件を確認させてください。自宅では

CPU:Intel(R) Core(TM)2 Duo CPU     E6850  @ 3.00GHz

使用したソースはデジファイさんのところの
mbrboot256m.img.zip と
ドーナツさんの
x86_64-upnpgw-20200310.zip

です。uehar...@gmail.comさんのところではどうでしょう?




donuts...@gmail.com

unread,
Mar 14, 2020, 6:33:28 AM3/14/20
to lightMPD
digififan さんのものから grub.cfg を変更していますが、
それが悪さをしているようです。

変更前:vga=773
変更後:quiet vga=current

vga=current を vga=773 と修正してください。

起動時に
 vga773 is deprecated. Use set gfxpayload=1024x768x8,1024x768 before linux command instead.
とメッセージは表示されますが、起動できることを確認しました。
(Lanが非対応なため、接続確認はできていませんが。)

【確認環境】
mbrboot256m.img.zip + GA-E7AUM-DS2H

uehar...@gmail.com

unread,
Mar 14, 2020, 8:24:44 AM3/14/20
to lightMPD
ありがとうございました。ご指定のように変更したら起動しました。デジファイのおとさんの正式版と違って、vga関係のエラーメッセージの後は、モニターにはなにもひょうじされないのですね。

2020年3月14日土曜日 19時33分28秒 UTC+9 donuts...@gmail.com:

kku...@gmail.com

unread,
Mar 14, 2020, 12:00:42 PM3/14/20
to lightMPD
donuts.shop73さん
ありがとうございました。m(_ _)m
無事に起動出来ました。音出しまでOKになりました。

digififan

unread,
Mar 16, 2020, 11:20:37 AM3/16/20
to lightMPD
donuts.shop73さん

acpiの設定の件ありがとうございました。

遅ればせながら、下記の構成にて動作確認しました。
いずれもplayer側はbbb+botic7 です。

live Z
asrock deskmini a300 + danker usb3.0 to gigabit ethernet
apu2
apu1

kyamajita...@gmail.com

unread,
Mar 18, 2020, 3:41:26 AM3/18/20
to lightMPD
donuts_shop73さん

こんにちは。

Stand Aloneモード(シングルPC構成)ですが、2点ほど。いずれも当方の勘違い、あるいは本来設定が必要な部分なのかもしれませんが。

1.NASマウントのシェルが「permission denied」となります。

  暫定の回避策として;
  post-upにて当該シェルにchmodした後、NASマウントシェルを再起動させています。


2.上記でNASマウントしても音源フォルダー(/var/lib/mpd/Music)が読み込めないようです。

  暫定の回避策としてmpd.confの設定を下記に変更すると読み込めるようになります。

       music_directory             "/var/lightMPD/nas/NASID2"
      #music_directory            "/var/lib/mpd/Music"



(1.の参考資料)

# /var/lightMPD/etc/nasmount.sh
-sh: /var/lightMPD/etc/nasmount.sh: Permission denied
# chmod -R 777 /var/lightMPD/etc/nasmount.sh
# mount
/dev/root on / type romfs (ro,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=1586272k,nr_inodes=396568,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,relatime,mode=777)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /var type tmpfs (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
# /var/lightMPD/etc/nasmount.sh
mkdir: can't create directory '/var/lightMPD/nas/NASID2': File exists
# mount
/dev/root on / type romfs (ro,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=1586272k,nr_inodes=396568,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,relatime,mode=777)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /var type tmpfs (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
//192.168.1.zzz/MusicFiles on /var/lightMPD/nas/NASID2 type cifs (rw,relatime,vers=default,cache=strict,username=xxxx,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.1.146,file_mode=0644,dir_mode=0755,iocharset=utf8,soft,nounix,serverino,mapposix,rsize=61440,wsize=65536,bsize=1048576,echo_interval=60,actimeo=1)
#

kku...@gmail.com

unread,
Mar 18, 2020, 4:48:25 AM3/18/20
to lightMPD
どなたに質問して良いやら^^;
毎度勘違いでご迷惑をおかけしていますm(_ _)m

Intel-CPU搭載PCにlカーネルで認識可能なNICを二枚搭載して
最終形態で音を出したいと取り組んでいるのですが...
(APUからLANケーブルが3本出た状態でプレーヤーに2本繋がった状態)

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 68:05:CA:92:AD:AC 
          inet addr:10.0.0.2  Bcast:10.0.0.3  Mask:255.255.255.252
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:82424 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8614 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2000
          RX bytes:117108620 (111.6 MiB)  TX bytes:1003241 (979.7 KiB)
          Interrupt:16 Memory:fdec0000-fdee0000

eth1      Link encap:Ethernet  HWaddr 00:1B:21:63:ED:5C 
          inet addr:10.0.1.2  Bcast:10.0.1.3  Mask:255.255.255.252
          UP BROADCAST RUNNING MULTICAST  MTU:4000  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:17 Memory:fdcc0000-fdce0000

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2000
          RX bytes:104 (104.0 B)  TX bytes:104 (104.0 B)

これを見る限りLANが一本遊んでいます((泣))
今回ドーナッツさんのconfが入ったホルダーが追加されていますが
使うべきconfファイルは lightmpd.cof  mpd.conf  はどれなんでしょう?
フロントとプレーヤー側それぞれ教えていただけるとありがたいです。
混乱してますm(_ _)m

choppe...@gmail.com

unread,
Mar 18, 2020, 5:42:27 AM3/18/20
to lightMPD
kkumaxさん
こんにちは。

自分は、以下設定で動作確認しました。
upnpgw側:\ lightmpd \ upnpgw-nasgate \ lightmpd.conf をベースにしました。
       \ lightmpd \ mpdgw-nasgate \ lightmpd.conf はpolipoを使用しない設定のようです。
      同フォルダのsystem-image.txt を参考にさせていただきました。

player側: \ lightmpd \ conf \ upnpplayer \ lightmpd.conf-line2 をそのまま使用しています。
     mpd.confは、\ lightmpd \ mpd.conf をベースにしました。

上記LANは、player側は、合っていると思います。
eth0が10.0.0.2、eth1が10.0.1.2でeth2は使用しません。
なので、player側は2ポートのnicであれば、1枚でokです。
upnpgw側は、3ポート使用するので、自分は、2ポート品を2枚使用しました。
upnpgw側デフォルトでは、eth1と、eth2でplayerと接続するので、nicを分けるため、eth1→2、eth2→3としました。

参考になれば幸いです。

kku...@gmail.com

unread,
Mar 18, 2020, 6:16:49 AM3/18/20
to lightMPD
choppe...さんありがとうございますm(_ _)m
またやらかした様ですね。

eth0が10.0.0.2、eth1が10.0.1.2でeth2は使用しません。

イーサーネットの分離(UPnPモード)
APU1,2と同じ様に接続出来る様になったと思い込んでいました。
アドバイスありがとうございます。
今設定を変更、音出ししながら書いています。

可能であればこの流れでイーサーネットの分離(UPnPモード)まで可能にしていただけると
嬉しいです(個人的希望)

ゴンザエモン

unread,
Mar 18, 2020, 6:19:23 AM3/18/20
to lightMPD
acpiによる電源オフについてご教授いただけますでしょうか。

現在、UPnPモードとStand Aloneモードの両方の環境を作っているのですが、Stand Aloneモードの時のみ電源ボタンプッシュでの「電源オフ」ができません。(mpdを含めてシステムは停止しているように見えます)

タイミングの問題? かなと思い両方の構成で何度も試しましたが、UPnPでは問題無く電源オフします。Stand Aloneモードでは不思議なことに電源オフしないのです。PC自体は同じものなので???状態です。

動作モードによって何か違いがあるのかもしれませんが、あれこれやってみましたが解決に至らずです。どこを確認すれば良いのかなどサジェスチョンいただければ幸甚です。

ゴンザエモン

unread,
Mar 18, 2020, 8:23:58 AM3/18/20
to lightMPD
電源オフの件、追記です。

Stand AloneモードとUPnPモードの違いはNASのマウントかな? と思い、試しにNASを手動アンマウントしてから電源ボタンを押してみました。この時はすんなりと電源オフされるようです。(数回試行レベル)

telnetで入ってアンマウント指示を出してから、という運用は考えにくいので、何か適当な回避策はございませんでしょうか。


(アンマウント指示)
#/bin/umount /var/lightMPD/nas/NASIDx

donuts...@gmail.com

unread,
Mar 18, 2020, 9:02:12 AM3/18/20
to lightMPD
> kyamajitaku.japanid さん

/var/lightMPD/etc/nasmount.sh の再実行でマウントできるのであれば
「ラズパイ4にてマウントに失敗?」スレッドが参考になると思います。

また、/var/lightMPD/etc/nasmount.sh はシステム的には
sh /var/lightMPD/etc/nasmount.sh
で呼び出しているため、実行権限がなくても問題になりません。


> ゴンザエモン さん

当方でも、nasがmountされている状態だと電源オフ
とならないことを確認しました。

本来は /etc/init.d/S61netmount で umount すべきですが
対応できていませんでした。
対応したものをアップしましたのでお試しください。
x86_64-upnpgw-20200318.zip

なお、私の公開しているものはカスタマイズ用のスクリプトを用意しています。
今回のように、ご自身で対応方法が判明している場合などには役に立つと思います。

今後も引き続き不具合の報告などよろしくお願いいたします。

kku...@gmail.com

unread,
Mar 18, 2020, 11:41:28 AM3/18/20
to lightMPD
書き忘れましたが
今回のLdonutsさんのAN用ドライバの追加によるものだと思いますが
インテル Gigabit CT Desktop Adapter EXPI9301CT が認識されました。

kyamajita...@gmail.com

unread,
Mar 18, 2020, 7:14:51 PM3/18/20
to lightMPD
Stand Aloneモードでの電源オフの件、早速のご対応いただき深謝です。

20200318日版にて電源オフの動作確認取れましたので、取り急ぎご報告と御礼まで。

uehar...@gmail.com

unread,
Mar 19, 2020, 11:21:24 AM3/19/20
to lightMPD
donuts.shop73さん

Liva ZでUEFI方式によるブートがうまくいきません。デジファイのおとさんの正式版がブートするUEFI方式のUSBメモリにupnp版をインストールするとブートしません。MBR方式ではブートするので、問題はないのですが。

kku...@gmail.com

unread,
Mar 23, 2020, 11:36:04 PM3/23/20
to lightMPD
digififanさん こんにちはkkumaxです。何時も大変お世話に鳴っていますm(_ _)m

lightmpd/intel-cpuを使った新境地は非常に魅力的です。
当初はLIVA Z,LattePanda版での副産物だった?と思うのですが
使用者側からみれば専用マシンを用意すること無く
lightmpdのテスト、恩恵を得ることが出来て思わぬ反響も結構あって
digififanさんもびっくりしたのではないでしょうか。

donuts.shop73さんの今回の投稿もあり
専用マシンを使わなくてもあるいはAMD-CPUを使用しAudioに特化したPCの一部でも
lightmpdの優れた音質を限定的ではありますが楽しめるようになったと思います。

ただ、この方向はdigififanさんの望む方向なのか?という事があると思います。
専用PCを指定することでサポートが的確に出来る様にして
多くの方々にlightmpdを楽しんで貰うという意図がdigififanさんにはあるのだと
自分は勝手に思っています。
サポートするPCを広げてしまうとリソースが足りなるという問題が出て来るように思います。

uehar...@gmail.comさんの「Liva ZでUEFI方式によるブートがうまくいきません。」という投稿は
回答が付かず時間が経過していますが...これは本来どなたがサポートするべきなのか?良く分かりません。
商業目的でやっている訳ではないので誰もしなくても良いというのはある意味正しいとは思いますが
それだと悲しいです^^;

自分も一般的なintel-cpuを使える様になればlightmpd/upnpgwを強力ハードで試すことが出来て
また違った新しい世界が見えて来るんじゃないか?と
サポート供給側の方々の苦労を考えずに浮足立ちました。

長くなりましたが結論というか確認(質問)をさせてください。
今後のdigififanさんの方針としては

intel-cpuでもligjtmpdは使える事もあるが
この方向については推奨しない。サポートも基本的にしないという事で良いでしょうか?

LIVA Z,LattePanda(RaspberryPix等)を推奨機種として
これらについては今までの延長線上で進めていくと
いう事で良いでしょうか?

digififan

unread,
Mar 25, 2020, 8:12:12 AM3/25/20
to lightMPD
kkumaxさん

まず、

> uehar...@gmail.comさんの「Liva ZでUEFI方式によるブートがうまくいきません。」という投稿は
> 回答が付かず時間が経過していますが...これは本来どなたがサポートするべきなのか?良く分かりません。

の件は

> MBR方式ではブートするので、問題はないのですが。

とあるので、緊急ではないとの認識だと思います。

intel-cpuに関してはAPU1,APU2のCPU能力の不足を感じていたので開発しました。
ether関連のドライバーは手持ちのものだけを組み込んでいます。
特にUSBtoEtherのドライバーを組み込んだのでこれを用意すればほとんどのPCで動作可能になると睨んでいます。
さらに、APU1,APU2でも動作確認ができたので、今後はAPU1,APU2版は廃止し、intel-cpuに統一します。
現在私が所有している,Liva Z,LattePanda,APU1,APU2,DeskMini A300 + Ryzen 以外のPCに関してはあくまでも自己責任
となりますが、なるべくサポートしたいと考えています。
しかし、実機がないのでbootしないなどの場合は、少なくともbiosの設定ができる事が前提になります。
さらに、テストしていただくのが前提になりますが、etherのドライバーはリクエストがあれば追加したいと思います。

lightMPDではいろいろなシステムに対応していましたが、apu,raspi,beaglebone以外はあまり使われていないようです。
今後特に需要のある

intel-cpu版(APU1,APU2を含む)
raspi3,4版
beaglebone版

に絞ることにしました。
beagleboneはアップサンプリングを併用するとUSBのDACはほとんど使い物になりません。
一方i2s接続のDACでは8倍のアップサンプリングでも問題なく動作します。
以前、boticは正式に対応しないと言いましたが、今後はbotic専用で対応する予定です。

kku...@gmail.com

unread,
Mar 25, 2020, 10:30:52 PM3/25/20
to lightMPD
digififanさん こんにちはkkumaxです。

>緊急ではないとの認識だと思います。
余計な心配でしたm(_ _)m了解です。

お忙しいところ、ご回答ありがとうございます。
今後のlightMPDの方向が自分が思っていたものと
殆ど差異が無かったので安心しました。m(_ _)m

最近、APU1,2やRaspberryPi4関連の電源を変更したところ
「あれ!...こんな音が入っていたんだ。」という体験が出来て
片っ端から手持ちの音楽ソースを聴き直しています。
「まだまだlightmpdの音はイケてる。」強く感じました。

そして欲が出て来てこの先の音が聴きたくなっています。
メインDACをAK4499EQを使ったマルチ2chタイプへ移行するための準備をしています。
加えて強力パワーintel-cpuマシンにlightmpd/upnpgwをインストールしたら
音がどうなるだろう??もう考えただけでドキドキします。

ここで、またお願い事項(質問)があります。
可能かどうか?予定は存在するのか?
教えてください。m(_ _)m

前にも書いた事ですが
イーサーネットの分離(UPnPモード)動作可能な(NIC二枚使用)の
intel-cpu対応lightmpd/upnpgw player仕様は
今後リリースされないでしょうか?
されないとして
性能的、音質的にNIC一枚仕様と大差ないのでしょうか?

面倒な事ばかり書いてすいませんm(_ _)m
でも...lightmpd/upnpgw は現状最高の再生ソフトだと思っているので
こんな次第となりました。お許しをm(_ _)m

PS
何か機会があれば手前味噌ですが自分の電源基板を試していただければと
考えています。

ysek...@gmail.com

unread,
Mar 26, 2020, 5:41:01 AM3/26/20
to lightMPD
横から失礼します。
digififanさん yseki118です。

〉以前、boticは正式に対応しないと言いましたが、今後はbotic専用で対応する予定です。

boticへの正式対応ありがとうございます。
「lightMPDのBBBのI2Sへの対応」を執拗にお願いしてきた者にとっては、嬉しいコメントです。
できましたら、LINUXCOMさんのDACで動作可能なものをお願いしたいです。現状では、たかじんさんのDACよりもLINUXCOMさんのDACを使われていらっしゃる方のほうが多いと思いますので……
また、Piへの対応ですが、電源ぶち切りができるのはlightMPDの大きなアドバンテージだと思います。Pi-ZEROでも動作可能なバージョンも作っていただけると、バッテリーで動作させている方には嬉しいのではないでしょうか。(私のことです)
可能でしたら、お願いしたいと思います。

donuts...@gmail.com

unread,
Mar 26, 2020, 10:23:48 AM3/26/20
to lightMPD
kkumax さん

「イーサーネットの分離(UPnPモード)」とはどのような構成のことを
言われているのでしょうか。

choppersjoe69 さんが説明してくださっている構成とは
どう違うのでしょうか。

kku...@gmail.com

unread,
Mar 26, 2020, 10:46:48 AM3/26/20
to lightMPD

choppe...@gmail.com

unread,
Mar 26, 2020, 4:45:59 PM3/26/20
to lightMPD
kkumaxさん
こんにちは。

自分が説明したのは、その構成です。
追加説明します。

・upnggw(フロント)側:
 PCに、2枚2ポートNICを挿します。
 NIC1 eth0:192.168.*.*
 NIC2 eth2:10.0.0.1 eth3:10.0.1.1 とします。
  NIC1がNASに繋がる方ですが、lightmpd.confで"eth1"を"eth2"、"eth2"を"eth3"に書き換えます。
  eth1は使用しない設定とします。
  lightmpd.confのデフォルトでは、NIC1がNASと繋がる方、playerと繋がる方を兼ねてしまうため、
  上記設定の方が分かりやすいと思います。
 (PCによってPCIEレーンの優先順番が違うのでマニュアルを見るか、起動後のLEDアクセスランプを見て確認します。
  また、PCIEレーンの挿す場所/順番が違っていれば、作動しないので、作動しない場合は、挿すPCIEレーンを逆にします)
 lightmpd.confは、上述の通りです。
 mpd.confは、使用しないので、設定はしません。

・player(プレーヤー)側:
 PCに、1枚2ポートNICを挿します。
 eh0:10.0.0.2 eth1:10.0.1.2 とします。
 lightmpd.conf、mpd.confは、上述の通りです。
 
本構成で、APU1、APU2と同じくupnpgw(フロント)側がLAN3本、player(プレーヤー)側がLAN2本で繋がるイーサーネットの分離(UPnPモード)
となります。

参考になれば幸いです。

choppe...@gmail.com

unread,
Mar 26, 2020, 5:02:41 PM3/26/20
to lightMPD
補足です。

PCは2基使用します。
upnpgw(フロント)側に1基、player(プレーヤー)側に1基です。

choppe...@gmail.com

unread,
Mar 27, 2020, 12:48:32 AM3/27/20
to lightMPD
補足2です。

NIC:EXPI9301CTということは1ポート品ですね。
であれば、upnpgw(フロント)側3枚、player(プレーヤー)側2枚必要となります。
または、EXPI9402Tを2枚追加し、
・upnpgw(フロント)側:EXPI9301CTをNAS側(eth0)、EXPI9402Tをplayer側(eth1、eth2)
・player(プレーヤー)側:EXPI9402T(eth0、eth1)
とするかですね。
自分が確認したNICは82576-2T-X1ですが、値段が上がってますね。。
なお、EXPI9402Tは、Intel(R) PRO/1000なので、donuts.shop73さんの本Verで認識するとは思いますが、
保証はできませんので、自己責任でお願いします。

kku...@gmail.com

unread,
Mar 27, 2020, 1:29:47 AM3/27/20
to lightMPD
choppersjoe69さんありがとうございます。
アドバイスを読み直して動作しない間抜けな理由が分かりました。

自分は
プレーヤー側 intel-cpu ギガバイトマザー EXPI9301CTx2 に
フロント側 APU1 を組み合わせていました。

なので今回のx86_64-upnpgw-20200310.zipをフロント側で使っていません。
lightmpd-upnpgw-apu1-v1.0.0.zipを使っていました。

パワーのあるintel-cpu PCをプレーヤー側に当てたいので
もう一台 intel-cpu のパソコンを調達すべきだと思うのですが?
どうでしょうか。
APU1をフロントに使って構築するのはたぶんダメですよね。

digififan

unread,
Mar 27, 2020, 8:29:01 AM3/27/20
to lightMPD
kkumaxさん

lightMPDx86_64-v1.2.0b2 とx86_64-upnpgw-2020310はapu1で動作します。
私はapu1にx86_64-upnpgw-2020310をliva zに lightMPDx86_64-v1.2.0b2をインストールして
使っています。

x86_64-upnpgw-2020310はlightmpd-upnpgw-apu1-v1.0.0より音はいいと思います。
また、x86_64-upnpgw-2020310はプレーヤー側でもつかえます。

Message has been deleted

kku...@gmail.com

unread,
Mar 27, 2020, 10:25:49 AM3/27/20
to lightMPD
digififanさん
ありがとうございますm(_ _)m

どうしても上手く行かないので
フロント側のSDカード作成を最初からやり直しをしたら
今度はLANが上手く動作していない様で
シリアルコンソールを接続しても途中で真っ暗に...
というわけで???
初歩的な質問をいくつか...

使う材料,組み合わせは
フロント側APU1C2:  apuboot256m.img x86_64-upnpgw-2020310
プレーヤー側※intel-cpuPC :  mbrboot256m.img.zip  x86_64-upnpgw-2020310

この組み合わせで動作するでしょうか?
digififanさんのところで実際に動作している環境構築に使った材料明細を
教えていただけないでしょうか?
何時も申し訳ありませんm(_ _)m

digififan

unread,
Mar 27, 2020, 10:44:31 AM3/27/20
to lightMPD
kkumaxさん

> フロント側APU1C2:  apuboot256m.img x86_64-upnpgw-2020310
> プレーヤー側※intel-cpuPC :  mbrboot256m.img.zip  x86_64-upnpgw-2020310
フロント側APU1C2もmbrboot256m.img.zipを使ってください。

apuboot256m.imgとmbrboot256m.imgではgrubのバージョンが違っていて設定ファイルのファイル名が違っています。
mbrboot256m.imgの設定ファイルは/boot/grub/grub.cfgになります。
apuでmbrboot256m.imgを使う場合は grub.cfgの

vga=current

部分を

vga=773

に変更して下さい。
2箇所あります。





kku...@gmail.com

unread,
Mar 27, 2020, 7:53:21 PM3/27/20
to lightMPD
digififanさん 
choppersjoe69さん
donuts.shop73さん

ありがとうございます。
お陰様で音出しまで出来ましたm(_ _)m
DSD再生まで試したところ音切れが発生(泣)
古いマシンだとやはり厳しいです。
やはり専用の新Intel-CPUマシンが欲しいです(笑)

digififan

unread,
Mar 30, 2020, 3:53:18 AM3/30/20
to lightMPD
kkumax さん

> DSD再生まで試したところ音切れが発生(泣)
> 古いマシンだとやはり厳しいです。
dsdの再生でdsd2pcmを使っている場合は、mpd.confをconf/apu2内のものを使って下さい。
native dsdまたはdopを使っている場合はusbのirqの設定が間違っているのかもしれません。
パッケージ添付のlightmpd.confはusb3のポートにdacが接続されることが前提になっています。
お使いのマザーボードに何をつかっているのかわかりませんが、多分usb2のポートにdacがつながっていると思われます。

再生中に
telnetでつないで

cat /proc/interrupt

を実行してその内容を教えていただければirqの設定を調べる事ができます。

apu2でもnative dsdではdsd256でも音切れしません。性能がapu2より劣ることはないと思います。

digififan

unread,
Mar 30, 2020, 11:38:54 AM3/30/20
to lightMPD
yseki118さん

> できましたら、LINUXCOMさんのDACで動作可能なものをお願いしたいです。
下記の基盤でテストしています。

new_western_elecのB4-DAC
LINUXCOMのB3D-A4495

boticのカーネルはバージョンアップしていないので、果たして1.2.0を出す必要があるのか迷いましたが、
1.2.0で改造したsoxrを使うと192Khz->384Khzのアップサンプリングも可能になるので1.2.0を出すことにしました。
dsd2pcmはbbbの能力では実用になりません。
8fsにアップサンプリングしてNOSの設定をしたB3D-A4495で聞くのが気に入っています。
apu1でdonuts.shop73さんのupnpgwを使うとさらによくなります。

> Pi-ZEROでも動作可能なバージョンも作っていただけると、バッテリーで動作させている方には嬉しいのではないでしょうか。(私
のことです)
Pi-ZEROの存在は知っていましたが、個人的にどのように使うか思いつかなかったので、詳しくは調べていませんでした。
今回調べてみて、Pi-ZERO用のDACもあるという事をしりました。
raspi2と同じ仕様のusb->etherアダプターを用意すれば、rasberry pi 2用のlightMPD-v1.0.2なら動作しそうです

lightMPDではraspi2の更新を止めました。
raspiだけで3通りのものを用意するのは大変なのと、raspi2できちんと動作させるのは意外に大変なのです。
ですので、ご要望にはお答えできません。

beaglebone版に関しては、まだ、入手していないのですが、
SanCloud BeagleBone Enhanced(https://beagleboard.org/enhanced)というボードもサポートの
対象にすることを検討しています。
このボードはメモリが1GB,Gigabit Ethernetに対応しています。wifiにも対応していますが、
同じシリーズでwifiのないSanCloud BeagleBone Enhanced Industrialというのもあります。
こちらのほうが本命なのですが、何故か値段は高くなります。

kku...@gmail.com

unread,
Mar 30, 2020, 10:39:11 PM3/30/20
to lightMPD
色々とお気遣いありがとうございますm(_ _)m
やはり普段使いのPCをプレーヤーとして使うには不便なので
しょうがなく?中古のi5-PCを購入して到着待ちです(笑)

到着しましたら今まで教えて頂いたノウハウを盛り込んで
intel-cpu inside lightmpd/upnpgw 環境を構築する予定です。
安定した環境で実験をすれば情報の確度も上がると思います。
このアドバイスはその時に実施します。
たぶんまた何かやらかす可能性が高いので
その時は何卒よろしくお願いいたしますm(_ _)m

ysek...@gmail.com

unread,
Mar 31, 2020, 5:12:53 AM3/31/20
to lightMPD
digififanさん、お返事ありがとうございます。yseki118です。

〉8fsにアップサンプリングしてNOSの設定をしたB3D-A4495で聞くのが気に入っています。

良いことを教えていただきました。B3D-A4495は私も使っているので、是非「192Khz->384Khzのアップサンプリング」を試してみたいと思います。
それから、LINUXCOMさんのDACなら、ダイレクトDSD再生も可能ですよね。

audio_output {
        type            "alsa"
        name            "uda"
        device          "hw:0,0"
        priority        "FIFO:54"
      mixer_type      "disabled"
        dsd_usb         "no"
        dsd_native      "yes"
        dsd_native_type "3"
buffer_time      "150000"
period_time      "37500"
}

で可能になるはずです。

〉wifiのないSanCloud BeagleBone Enhanced Industrialというのもあります。こちらのほうが本命なのですが、何故か値段は高くなります。

赤いボードのやつですね。今なら、白いボードの「BeagleBone AI」も出ています。
・BeagleBone Black mechanical and header compatibility
・TI AM5729 processor featuring 2x A15 CPU, 2x C66 DSP, 4x M4 MCU, 2x SGX544 3D, GC320 2D, IVA-HD, 4x PRU and 4x EVE
・1GB RAM and 16GB on-board eMMC flash with high-speed interface
・USB type-C for power and superspeed dual-role controller; and USB type-A host
・Gigabit Ethernet, 2.4/5GHz WiFi, and Bluetooth
・microHDMI
・Zero-download out-of-box software experience

y2blogさんによると$125.00(US) で入手されたそうです。
これでlightMPDが動くと面白いことになりそうですね。

kku...@gmail.com

unread,
Mar 31, 2020, 8:57:50 AM3/31/20
to lightMPD
今日届いたのでやってみました。
mpd.confはAPU2のものに入れ替えました。
音は凄いです...

# cat /proc/interrupts 
            CPU0       CPU1       CPU2       CPU3       
   0:          6          0          0          0   IO-APIC    2-edge      timer
   8:          1          0          0          0   IO-APIC    8-edge      rtc0
   9:          0          0          0          0   IO-APIC    9-fasteoi   acpi
 120:      45996          0         10          0   PCI-MSI 520192-edge      eth0
 121:     182590          9          0          0   PCI-MSI 524288-edge      eth1-rx-0
 122:          0          0          1          0   PCI-MSI 524289-edge      eth1-tx-0
 123:          0          0          0          2   PCI-MSI 524290-edge      eth1
 127:          0    2782961          0        343   PCI-MSI 327680-edge      xhci_hcd
 NMI:          0          0          0          0   Non-maskable interrupts
 LOC:      42593      42557      42564      42545   Local timer interrupts
 SPU:          0          0          0          0   Spurious interrupts
 PMI:          0          0          0          0   Performance monitoring interrupts
 IWI:          0          8          0          0   IRQ work interrupts
 RTR:          0          0          0          0   APIC ICR read retries
 RES:         35          0        578        655   Rescheduling interrupts
 CAL:         55         37         30         33   Function call interrupts
 TLB:        261          0       2407        287   TLB shootdowns
 ERR:          0
 MIS:          0
 PIN:          0          0          0          0   Posted-interrupt notification event
 NPI:          0          0          0          0   Nested posted-interrupt event
 PIW:          0          0          0          0   Posted-interrupt wakeup event

いまDSD256再生して途切れています。
プレーヤー側ですよね?

kku...@gmail.com

unread,
Mar 31, 2020, 8:21:28 PM3/31/20
to lightMPD
PCM再生でも時々途切れる事が分かりました。
その時APU1(フロント側)の3つのLANのランプが同時に消えて
ロックされた様な状態になります。そのまま放置すると復活します。
音は物凄く綺麗です。なので何とかしたいです。
よろしくお願いします。

digififan

unread,
Apr 1, 2020, 9:30:13 AM4/1/20
to lightMPD
kkumaxさん

> # cat /proc/interrupts 
>            CPU0       CPU1       CPU2       CPU3       
>    0:          6          0          0          0   IO-APIC    2-edge      timer
>    8:          1          0          0          0   IO-APIC    8-edge      rtc0
>    9:          0          0          0          0   IO-APIC    9-fasteoi   acpi
>  120:      45996          0         10          0   PCI-MSI 520192-edge      eth0
>  121:     182590          9          0          0   PCI-MSI 524288-edge      eth1-rx-0
>  122:          0          0          1          0   PCI-MSI 524289-edge      eth1-tx-0
>  123:          0          0          0          2   PCI-MSI 524290-edge      eth1
>  127:          0    2782961          0        343   PCI-MSI 327680-edge      xhci_hcd
....
....
....

xhci_hcdがusb3のirqでcpu1に割り当てられているので問題ありません。
etherは2ポートあるようですが、eth1の方は使われていないようです。apuとは1本のetherでつないでいるのですか?

> その時APU1(フロント側)の3つのLANのランプが同時に消えて
> ロックされた様な状態になります。そのまま放置すると復活します。
3つ同時というのが不思議ですが、linkが一度きれて再度link upしているようです。
これはソフトというよりハードの問題のような気がします。ケーブルとか大丈夫でしょうか?
シリアル回線でPCと接続できる環境があるなら、シリアル回線経由でloginしてifconfig -aを実行するとその結果として
ethの状況がわかります。その中にerrors,dropped,overrunsという項目があって、その値が多いと接続に問題があると
考えられます。telnetで接続でもいいのですが、link down しているとtelnet も動作しなくなります。

apu,player側のPCの切り分けを行うために、apuを外してplayer側のPCをupnpmodeで動作させて下さい。
これで動作すればplayer側のPCは問題ないと判断できます。

Message has been deleted

kku...@gmail.com

unread,
Apr 1, 2020, 10:31:25 AM4/1/20
to lightMPD
digififanさん ありがとうございます。

>apuとは1本のetherでつないでいるのですか?
いいえ2本接続して緑LEDも点滅しているので上手くいっていると思っていました。
やはり片側動作していますか?
マザーボードのLANが怪しいので二個とも追加カードにして
もう一度取り直しましたが

どこを見て判断しているのか?教えていただけると嬉しいです。
# cat /proc/interrupts 
            CPU0       CPU1       CPU2       CPU3       
   0:          6          0          0          0   IO-APIC    2-edge      timer
   8:          0          0          0          1   IO-APIC    8-edge      rtc0
   9:          0          0          0          0   IO-APIC    9-fasteoi   acpi
 120:        594          0          0          0   PCI-MSI 524288-edge      eth0-rx-0
 121:       3891          1          0          0   PCI-MSI 524289-edge      eth0-tx-0
 122:          3          0          3          0   PCI-MSI 524290-edge      eth0
 123:       9453          0          0          5   PCI-MSI 1048576-edge      eth1-rx-0
 124:          2          0          0          0   PCI-MSI 1048577-edge      eth1-tx-0
 125:          3          3          0          0   PCI-MSI 1048578-edge      eth1
 126:          0    1163251        350          0   PCI-MSI 327680-edge      xhci_hcd
 NMI:          0          0          0          0   Non-maskable interrupts
 LOC:     118549     118524     118530     118520   Local timer interrupts
 SPU:          0          0          0          0   Spurious interrupts
 PMI:          0          0          0          0   Performance monitoring interrupts
 IWI:          0          8          0          0   IRQ work interrupts
 RTR:          0          0          0          0   APIC ICR read retries
 RES:         37          0         47         28   Rescheduling interrupts
 CAL:         51         40         39         35   Function call interrupts
 TLB:        279          1       1027        284   TLB shootdowns
 ERR:          0
 MIS:          0
 PIN:          0          0          0          0   Posted-interrupt notification event
 NPI:          0          0          0          0   Nested posted-interrupt event
 PIW:          0          0          0          0   Posted-interrupt wakeup event

>apu,player側のPCの切り分けを行うために、apuを外してplayer側のPCをupnpmodeで動作させて下さい。
>これで動作すればplayer側のPCは問題ないと判断できます。
テストしてまた報告させていただきますm(_ _)m

kku...@gmail.com

unread,
Apr 1, 2020, 12:49:28 PM4/1/20
to lightMPD
スタンドアロンモードでDSD連続再生で音切れが発生しないことを確認出来ました
(LANカードも個別に試験をして問題ないです。) 困ったな...
これでAPU1側が怪しい事になりそうです。

kku...@gmail.com

unread,
Apr 2, 2020, 8:13:59 AM4/2/20
to lightMPD
自己解決?かも ダメならばご指摘下さいm(_ _)m

障害発生時のLANのLED点滅を何回も見ているうちに
これはフロント側とプレーヤー側でLANがうまく噛み合っていない状態なんだろうと推測して
DSD再生時に落ちてしまう方のLANを遅くする様にplayer側のこの部分をコメントアウト
post-up=/usr/sbin/ethtool -s eth1 speed 100 duplex full

これで音飛びは解消しましたが?良いのでしょうか?音質に影響はないですか?

digififan

unread,
Apr 2, 2020, 10:59:44 AM4/2/20
to lightMPD
kkumaxさん

> DSD再生時に落ちてしまう方のLANを遅くする様にplayer側のこの部分をコメントアウト
> post-up=/usr/sbin/ethtool -s eth1 speed 100 duplex full
> これで音飛びは解消しましたが?良いのでしょうか?音質に影響はないですか?
この設定を行うとイーサーネットのスピードが100Mbpdになります。
これで問題が解決となると、ケーブル等に問題があると考えられます。

音はご自身で判断していただく他ないのですが、私は100Mbpsで使っています。
ただし、1Gbpsでも問題なく動作することは確認しています。

kku...@gmail.com

unread,
Apr 3, 2020, 3:05:08 AM4/3/20
to lightMPD
LANケーブルはカテゴリー6A/10G  0.3mをPC-APU1C2の間に2本使いましたが
改善されません。

digififan

unread,
Apr 4, 2020, 4:39:02 AM4/4/20
to lightMPD
kkumaxさん

> LANケーブルはカテゴリー6A/10G  0.3mをPC-APU1C2の間に2本使いましたが
> 改善されません。
cubox-i4での話ですが、再生中にcifsでマウントされたファイルシステムがアンマウントされてしまうことがあり、
STPケーブルからUTPケーブルに交換したら1Gbpsでも安定した事がありました。
ハブやPCの機種も違うので、STPケーブルが悪いとは言い切れませんが、もし、STPケーブルを使っている場合は、
apuのeth2のケーブルを違うケーブル(UTP)でテストして下さい。
(UTPケーブルをお持ちの場合、わざわざ買うことはないと思います)

あと、できることは
  • apu単体でupnpmodeでのテスト
  • player側をraspi4などのGigabite etherの機種を使ってのテスト
です。

upnpgw -> upnpplayerではデータがpolipoを経由するので、upnpgw -> upnpplayerのデータはmaxに近いスピードがでます。
player側の性能を落とすとまた違った状況になるかもしれません。


前後しますが、

> >apuとは1本のetherでつないでいるのですか?
> いいえ2本接続して緑LEDも点滅しているので上手くいっていると思っていました。
> やはり片側動作していますか?
> マザーボードのLANが怪しいので二個とも追加カードにして
> もう一度取り直しましたが
> どこを見て判断しているのか?教えていただけると嬉しいです。

player側の/proc/interruptsで

> # cat /proc/interrupts 
>             CPU0       CPU1       CPU2       CPU3       
>    0:          6          0          0          0   IO-APIC    2-edge      timer
>    8:          1          0          0          0   IO-APIC    8-edge      rtc0
>    9:          0          0          0          0   IO-APIC    9-fasteoi   acpi
>  120:      45996          0         10          0   PCI-MSI 520192-edge      eth0
>  121:     182590          9          0          0   PCI-MSI 524288-edge      eth1-rx-0
>  122:          0          0          1          0   PCI-MSI 524289-edge      eth1-tx-0
>  123:          0          0          0          2   PCI-MSI 524290-edge      eth1
>  127:          0    2782961          0        343   PCI-MSI 327680-edge      xhci_hcd
CPU0,CPU1,CPU2,CPU3の項目は各コアで発生した割り込みの数を示しています。
eth0はCPU0で45996になっていますが、eth1はCPU3で2になっていてeth1がほとんど動いていないと判断したのですが、
eth1-rx-0が182590となっているのでeth1も動いているようです。
私の勘違いでした。


kku...@gmail.com

unread,
Apr 4, 2020, 10:37:22 PM4/4/20
to lightMPD
LANケーブルにシールド有り無しの規格があるとは知りませんでした^^;
各種ケーブルには興味がなくメーカー品を使っていれば問題なかろう状態でした。
手持ちのLANケーブルはシールド有り無しが混在していました。

このアドバイスをいただく前に何かやれる事は無いか?と
パーツボックスをかき回していたらLANクロス接続アダプターが出てきて
ダメ元で落ちるLAN側に付けてDSDファイルの長時間再生をしてみました。
なんと落ちません(笑)理屈も何もないのですが...

それと前述のケーブル混在についてAPU1C2に接続されているLANケーブルを確認してみると
外部(WAN側というのか)に接続されるLANケーブルがシールド無しタイプになっていて「あらら」...

環境を整備して
これからLANケーブルの組み合わせを色々試して一番安定する組み合わせを探してみたいと思います。
アドバイスありがとうございましたm(_ _)m

Reply all
Reply to author
Forward
0 new messages