ご無沙汰しています。
dsdでの音消え現象について、nasをあれこれ変えて試していました。
たまたま手元にあったalix3d2/voyage、cubox-pro/arch、amd-e350-pc/archなどにsambaを入れ、mpdは停止し、smb/cifsサーバを構築してみましたが、今のところ、どれも音消え解消には至っていません。
私の環境でのbbbは、qnap ts-212をcifsで使う場合に限ってdsdの音消え現象が(ほぼ)皆無ですが、次にマシなのは3.8.11-rt8にしたcubox/archでした。cpuパワーがあるe-350/archは、cubox/archより高頻度にdsdで音が消えます。
この過程で、サーバが変わると音も大幅に変わる経験をしました。音で比較すれば、cuboxRT >> e-350 > ts-212 >> alix3d2の順に劣化すると思います。nasをts-212からcuboxRTに変えたときの印象は、mpdでcuboxからbbbに変えたときの差より大きい気がします。録音側の機材の固有音がはっきり認識できます。
bbbの影で遊んでいるcuboxをお持ちの方は(^^;;;;、お試しのうえ、ご意見をお聞かせください。
sambaの設定は以下のようにしました。
#nano /etc/samba/smb.conf
workgroup = WORKGROUP
server string = Samba Server
log file = /var/log/samba/%m.log
max log size = 1024
dns proxy = no
[Public]
comment = Public
read only = no
locking = no
path = /Public
guest ok = yes
※ /Publicの下に/Musicがあります。
arch linuxでは pacman -S samba で必要なものはすべて入りますが、梅雨入り版の公開以後にarch linuxのファイル構造が変更になっていますので、pacman -Syu で怒られます。
https://www.archlinux.org/news/binaries-move-to-usrbin-requiring-update-intervention/" target="_blank">https://www.archlinux.org/news/binaries-move-to-usrbin-requiring-update-intervention/
対策はあるのですが、面倒ですので、新しくインストールした方が楽だと思います。
cuboxではarch以外まだ試していませんが、cubox/3.8.11-rt8/archでsamba向けにts212の安定性に迫るべくチューニングするとしたら、どんな手段があるのか、ご意見をお聞かせください。
ベテランの皆さんには余計なことですが、私自身のミス発見のため、私がやったsambaインストールの方法を記しておきます。
まずは、yoさんの「サルでも作れる MPD on Arch Linux」を参考にしてください。
http://www.symphonic-net.com/kubotayo/articles/articles015.html#001" target="_blank">http://www.symphonic-net.com/kubotayo/articles/articles015.html#001
次にarch-wikiの「Samba (日本語)」を参考に、作業します。
https://wiki.archlinux.org/index.php/Samba_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29" target="_blank">https://wiki.archlinux.org/index.php/Samba_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29
# pacman -Syy
# pacman -Syu
# pacman -S samba
usb-hdd(/dev/sda1)をマウント
# mkdir /Public
# nano /etc/fstab
(追加)
/dev/sda1 /Public ext4 defaults 0 0
# mount -a
smb.confを設定
# nano /etc/samba/smb.conf
workgroup = WORKGROUP
server string = Samba Server
log file = /var/log/samba/%m.log
max log size = 1024
dns proxy = no
[Public]
comment = Public
read only = no
locking = no
path = /Public
guest ok = yes
ユーザーを追加
# pdbedit -a root
smbd、nmbdサービスを開始
# systemctl enable smbd.service
# systemctl enable nmbd.service
# systemctl start smbd.service
# systemctl start nmbd.service
これだけですが、間違いを発見された方は、よろしくご指摘お願いします。
syu さん
NAS の実験、大変興味深く拝見しました。
(私も NSC2100GT>>EX490 という経験をしたので分かります)
そうですか、CuBox はサーバとして使っても良いですか(もう1台ポチっちゃおうかな?)
本題のdsdでの音消えについて
症状は No.2414 の ① に似ていたりしますか?
私の環境では、結局 Hub の交換で解決しました。
(確か Buffalo → アライドテレシス)
参考になれば幸いです。
Syu さん
同じこと考えてる方がいらしたんですね~
実は私も余った CuBox で NAS していました(笑)
今まで、MZK-USBSV という簡易NASみたいなものがあまりにしょぼいので、急遽切り替えた次第です。
nfsd を追加して BBB とは nfs で接続し、CD Ripping 用のPCとは samba で cifs で接続しています。
それから、eSATA 接続とUSB接続で2台のハードディスクをつないでいて、rsync でバックアップを取っています。
現在、それを crontab で真夜中にバッチ処理しようとして調べているところでした。
こちらは、まだrt化はしていないarch linux を使用していますが、
確かに安心して聞いていられる音になっています。
syuさん&皆様
実は僕も同じようなことをやっていました。ただ結果が非常に不思議なのですよね。
SheevaPlugとRaspberryPIをサーバ機にして二台のnasを作成し、運用しているのですが、問題のdsd再生でSheevaPlugは簡単に発生、RaspberryPIはほとんど発生しないという現象に遭遇しています。
不思議なのはこの二台のnas、性能にかなりの差があります。CrystalDiskMarkというWindowプログラムでの測定結果です。上がSheevaPlug、下がRaspberryPIです。
-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 (C) 2007-2013 hiyohiyo
Crystal Dew World : http://crystalmark.info/" target="_blank">http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 9.250 MB/s
Sequential Write : 11.544 MB/s
Random Read 512KB : 8.067 MB/s
Random Write 512KB : 11.366 MB/s
Random Read 4KB (QD=1) : 0.577 MB/s [ 140.8 IOPS]
Random Write 4KB (QD=1) : 3.531 MB/s [ 862.2 IOPS]
Random Read 4KB (QD=32) : 0.629 MB/s [ 153.6 IOPS]
Random Write 4KB (QD=32) : 6.828 MB/s [ 1667.1 IOPS]
Test : 1000 MB [Z: 71.8% (1277.6/1780.0 GB)] (x5)
Date : 2013/08/24 10:08:26
OS : Windows 7 Home Premium Edition SP1 [6.1 Build 7601] (x86)
-----------------------------------------------------------------------
Sequential Read : 7.376 MB/s
Sequential Write : 10.976 MB/s
Random Read 512KB : 6.501 MB/s
Random Write 512KB : 10.619 MB/s
Random Read 4KB (QD=1) : 0.433 MB/s [ 105.8 IOPS]
Random Write 4KB (QD=1) : 1.699 MB/s [ 414.9 IOPS]
Random Read 4KB (QD=32) : 0.467 MB/s [ 114.0 IOPS]
Random Write 4KB (QD=32) : 2.776 MB/s [ 677.8 IOPS]
Test : 1000 MB [Y: 36.9% (676.3/1833.8 GB)] (x5)
Date : 2013/08/24 11:04:10
OS : Windows 7 Home Premium Edition SP1 [6.1 Build 7601] (x86)
ご覧の通りRaspberryPIの方が多少性能が低いのですが、問題は発生しないのですよね。謎です。
ちなみにRaspberryPIで再生し、nexus7にcuboxのtop画面を表示しぱなっしにすると、まず再生中断しません。
この場合ネットワーク負荷の条件も通常時より悪くなっているはずなので、「どうなっているのだろか」と狐につままれたという心境です。
syuさん
最近お見かけしないと思っていたら、なんか楽しそうなことやってたんですね。
すでにご覧になっているかと思いますが、3.10のRT化で新しい発見がありました。BBBでも効果があるかもしれません。
以上、ちゃちゃ&お知らせでした。
mさん
nasで音質はかなり変わりますよね <(^^;
○ gmpc は再生を続けているように見えるが演奏はstop
○ fs=2.8MHz だったのが、fs=176kHz に変わってしまう。
○ gmpc stop→play で再生再開する
○ エラーメッセージなくランダムに発生
まったく同じ症状です。スイッチの安定性ですかね・・
mさんの情報、ちょうど良いタイミングでした。mpdまわりだけハブを専用にしようと、何が適当か考えてた所でした。アライドテレシス良さそうですね。ポート毎にあれこれ設定できるので、CentreCOM GS908XLにしようかと思っています。
No.2451によれば、ハブでも音が変わるのですね。音消えが減って音が静かで透明感が増す可能性がある。ぜひとも試さなければ(笑
まさまささん
さすが、いろいろ試されたんですね。
実は、うちでは、cifsとnfsの共存が出来なくて、おかしな状態です。も少し調べてから、あらためて教えていただこうかと思っていますので、よろしく。
yoさん
>結果が非常に不思議
わたしの場合も、alixがダメで、比較的パワフルなe350にしてもダメで、e350よりかなり遅いMarvell 6281 1.2GHzのts-212が消えないのですから、不思議なんですよね。
インテル系だとダメなのかと、ts-212と同じarm系のcuboxにしたら、音消えがかなり減少。これは上手く行ったと最初は思った位、音消えの頻度は減りました。
今度は、ハブ追加を試して見ます。
syu さん
ビンゴでしたか(笑)
同じ規格の Hub だったので不思議ではありますが、アライドテレシス良かったです(というかたぶんこれが正常)。
私は(光メディアコンバータの 100M 律速で)1G は試していませんが、100M の方が音がよいという記事を見たことがあります。
アライドテレシスの中で幾つか試した結果、今は FS708XL を使っています。
古いモデル>新しいモデルという傾向はあるようです(省エネもやり過ぎると?)。
それから、HDD にも結構な音質の違いがあります。(^^;
つまり何をいじっても変わるってことで、
この辺はしばらく楽しめそうですね(笑)。
tinkerさん
3.10-rtがbbbで使えて、結果が改善されると嬉しいです。期待してます。(^^;;;
syuさん
> 実は、うちでは、cifsとnfsの共存が出来なくて、おかしな状態です。も少し調べてから、あらためて教えていただこうかと思っていますので、よろしく。
この記事
http://www.symphonic-net.com/kubotayo/articles/articles015.html#006" target="_blank">http://www.symphonic-net.com/kubotayo/articles/articles015.html#006
の方法で駄目ですか。僕のところはこの方法で同じハードディスクをcifs/nfsどちらでも使えるようにしています。ただdsdの演奏中断に関してはnfsは効率が良すぎるためか、全敗です。
syuさん
3.10は今のところ無理ですが、以下のpatchをBBBの3.8-rtに当てます。
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=c72a0e036f9d80c609e608a723751343f1f5e9fc" target="_blank">https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=c72a0e036f9d80c609e608a723751343f1f5e9fc
さらにrtopの当たっていないmpdを使用すると音切れがなくなるかもしれません。
それとtwlさんが使われているmpd-dsdを使ってみましたが、すーっと伸びる感じで好印象です。
https://github.com/lintweaker/mpd-dsd" target="_blank">https://github.com/lintweaker/mpd-dsd
これだけだとスレの趣旨にあわないので・・
音が良くなるかは分かりませんが、sambaとして使うのであれば、RTでないkernelのほうが多分安定します。またSDでbootしているのであれば、logは接続したHDD(or SSD)に書きだすようにしたほうが良いかと思います。
syuさん
私もTS212を使っているので中を覗いてみました。
何に使っているのまでは調べていませんがramdiskを使っているようです。
/dev/ram0 32.9M 15.2M 17.7M 46% /
この辺りにも秘密があるかもしれません。
tinkerさんのno.3449のご提案から思いついて、cuboxRT-serverで chrt -f -p 53 `pgrep smbd`とやってみました。53が適切かどうかは判断できませんが、1時間以上、dsdが機嫌良く鳴って、ストライキなし。この状態のサーバ側のtopです。
top - 05:32:12 up 1:11, 1 user, load average: 0.13, 0.06, 0.06
Tasks: 68 total, 1 running, 67 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 98.6 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem: 2073524 total, 1499616 used, 573908 free, 4420 buffers
KiB Swap: 0 total, 0 used, 0 free, 1373636 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
190 root -51 0 0 0 0 S 2.3 0.0 1:07.47 irq/29-eth0
352 root -54 0 33204 5968 4412 S 0.7 0.3 0:35.54 smbd
383 root 20 0 4612 1272 1004 R 0.7 0.1 0:12.54 top
1 root 20 0 4772 2596 1800 S 0.0 0.1 0:01.50 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root -2 0 0 0 0 S 0.0 0.0 0:02.69 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kworker/u:0
7 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/u:0H
8 root rt 0 0 0 0 S 0.0 0.0 0:00.00 posixcputmr+
このまま続けてみます。
logの保存先はusb-hddに変更しました。やっぱり晒してみると良い事がありましたね。
おはようございます。
tinkerさん
>sambaとして使うのであれば、RTでないkernelのほうが多分安定
わたしも最初はそう考えて、arch linuxをインストールしたままの状態(3.5.7)でsambaの設定をしたのですが、数分置きにdsdでの音消え現象が発生。3.8.11-rt8に変えても発生頻度はほぼ同じでした。
今朝、もう一度3.5.7を試しましたが、7分ほどで音が消えました。3.8.11-rt8で確認しても同じ程度の発生頻度。
で、chrt -f -p 53 `pgrep smbd` とやってみたんですが、今朝はダメですね。(笑
昨夜は連続7時間越え(cuboxはバッテリ駆動だったのでここで打ち切り)まで試して、音消えは発生しませんでしたが、あれは「深夜には音が良くなる」現象と同じだったのかも。
外来ノイズの量と質がハブなどに影響しているのかもしれませんね。
mpd-dsdトライしてみます。
yoさん
別スレッドでのtinkerさんのお話では、ts212はnfs3だとのこと。
これで気付いたのですが、cifsとnfsが混在できないと誤認していたのは、あれこれやってるうちに、わたしの頭が混乱していたからのようです。
最初、yoさんの記事を参考に、alixとvoyage linuxでnfsだけ入れて試してみました。記事での /etc/exportsは
nano /etc/exports
/mnt/sdb 192.168.0.*(rw,no_subtree_check,all_squash,sync)
ですから、NFSv3だと思います。この時bbbからマウント出来たのは、rootfsがdebianだったからなのかも。
NFSv4にするには、fsid=0 を指定するとのことで、未検証ですが、例えば、
nano /etc/exports
/mnt/sdb 192.168.0.*(rw,no_subtree_check,all_squash,sync,fsid=0)
とやるらしいです。
yoさんもご指摘のように、nfsだとdsdが散々でした。そこでvoyageにsambaを追加し、cifsで接続できる状態にしたのですが、ここでnfsに戻したところ、接続できなかったのです。
混在できないと誤認したのは、途中で無自覚に、bbbをarch-linuxに切り替えていて、archからはデフォルトでNFSv4になっているので接続できず、サポートしてないと叱られたのだと思います。
これに懲りて、cubox/arch/serverでは、まだnfs入れて試していません。後でやってみようと思います。
syuさん
>わたしも最初はそう考えて、arch linuxをインストールしたままの状態(3.5.7)でsambaの設定をしたのですが、~
なかなか考えたとおりに動かないですね^^;
TS-212はNFS3でdebianもubuntuも文句言わないんですよね。
最近Archをアップデートしたら、mpdのライブラリが変わったみたいで以前作ったものが使えなくなってるし(PKGBUILDを見て解決)、Archは慣れていないので大変です。
皆様
まだ良い結果は確定していませんが、中間報告。
手元にあった古いハブを総動員してmpd周辺だけ独立させてみましたが、古い100M switchは、ことごとくダメでした。dsdで音消え頻発します。期待のアライドテレシスGS908XLも改善なし(^^;
クロスケーブルで直結してみるかな。
qnapで音消えしないことは私の環境では確実ですので、cifsサーバに秘密があることは確定的かと思います。しかしnas専業メーカの企業秘密が解明できるなど夢想できませんので、現実的にはcuboxのsambaにチューニングでチャレンジするしかない。(qnapに普通のlinux入れてテストしてみる手はある)
いくつか試してみました。まず、smb.confの変更です。
# nano /etc/samba/smb.conf
[global]
; workgroup = WORKGROUP # windowsから使わないのでコメントアウト
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # 定番のチューニング。100M対応で8192
server string = Samba Server
log level = 0 # logアクセスで遅れが出ないようにlog使わない。
log file = /Public/log/samba/%m.log
max log size = 1024
dns proxy = no
[Public]
comment = Public
read only = no
locking = no
path = /Public
guest ok = yes
# systemctl daemon-reload
# systemctl restart smbd.service
必要ないので、nmbdも停止
# systemctl stop nmbd.service
# systemctl disable nmbd.service
これで、約180分間dsd連続再生できていますが、なにしろ夜ですからね。明日は違う結果が出るかも。
素直にqnap使えば良いわけですし、悪いわけではないのですが、cubox-rt-serverの、滑らか/高コントラスト/高細精が好みなんですよね。
syuさん
> qnapで音消えしないことは私の環境では確実ですので、cifsサーバに秘密があることは確定的かと思います。しかしnas専業メーカの企業秘密が解明できるなど夢想できませんので、・・・
ご明察の通りでしょう。
qnapはいろいろなクライアントからの要求に問題なく対応できるよう、最適にチューニングされていて、結果として、再生中断が発生しないということだと思います。ネットワーク周りのドライバも専用なのかもしれませんね。
今回の再生中断は (1)通常のカーネルでは発生しない、(2)rtカーネルであってもrtoptパッチをかけないmpd(mpd-dsd)では発生しない ということを考慮するとかなりレアケースの処理ですね。そういう例外的な処理に対応できるという意味では、「さすがqnap。だてに高いわけじゃない」と思います。
sambaのチューニングだけで対応できるかどうかは分かりません。ネットワークの帯域制御に関してはlinuxは結構いろいろな技が使えるようです。「linux nas 帯域制御 or 制限」とか「linux tc 使い方」などをキーワドにして検索するといろいろな情報が出てきます、基本になるドキュメントのリンクは以下の通りです。
http://linuxjf.sourceforge.jp/JFdocs/Adv-Routing-HOWTO.txt" target="_blank">http://linuxjf.sourceforge.jp/JFdocs/Adv-Routing-HOWTO.txt
リンク先を読んだのですが、根性の無い我が身には「どうすればいいのかサッパリ分からん」状態で止まっています(^^;;;。
僕の環境(cubox 3.10.9+rt5)でmpd-dsdにrtoptパッチをかけてcifsのraspberrypiサーバ実験したのですが、再生中断はsacd一枚で一回起きるかどうかというレベルですね。他の場合より、再現確率はかなり低くなります。面白いですね。
yoさん
カーネルが新しいほど良さそうな気がしたので、サーバ側のuImageとmoduleを3.10.9に入れ替えてみました。 .configは梅雨入り版のものを使用し、rt5、Low-Latency、voluntary-Preemptionの3種を試しました。
dsdでの音消えは、どれでも3時間ぐらいは発生しませんが、起き始めると頻発します。bbbをrebootすれば、また3時間以上はOKです。この3種では差はなさそうです。音消えが始まる時点でbbb側に何かあるようで、それを見つけられると良いのですが・・・
面白いのは、それぞれ音質が違うこと。わたしの好みはrt5ですが、疲れたときにはVoluntary-Preemptionがおとなしくて良さそうです。
No Forced Preemption (Server) という選択肢もあるのですが、梅雨入り版の.configでこれを指定してmakeしても、起動途中で止まってしまいます。他にconfigのどこかを変えなければいけないようですね。
>僕の環境(cubox 3.10.9+rt5)でmpd-dsdにrtoptパッチをかけて
さりげなく書いてありますが、これはどうやるのでしょう。わたしにはmpd-dsdのコンパイルの方法からしてわかりません^^;;
時期が来たら、教えてください。
>ネットワークの帯域制御
これは全く手が出ませんが、dstatなるものがあるのに気付きました。topみたいな感じでnetの状態などもモニタ出来るんですね。dsd再生中の負荷もそれほど高いものではなさそうです。
[root@arch-smb ~]# dstat -cdngy
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
1 2 94 1 0 1| 613k 4821B| 0 0 | 0 0 | 557 1053
2 1 93 0 0 4| 768k 0 | 22k 796k| 0 0 | 808 1529
1 0 96 0 0 3| 512k 0 | 15k 525k| 0 0 | 443 815
1 2 93 0 0 4| 768k 0 | 21k 791k| 0 0 | 671 1206
1 1 96 0 0 2| 768k 0 | 22k 791k| 0 0 | 749 1367
1 1 96 0 0 2| 768k 0 | 22k 789k| 0 0 | 614 1185
1 0 97 0 0 2| 384k 0 | 14k 527k| 0 0 | 429 791
2 1 95 0 0 2| 768k 0 | 22k 794k| 0 0 | 754 1419
1 2 94 0 0 3| 768k 0 | 23k 792k| 0 0 | 630 1226
1 0 98 0 0 1| 768k 0 | 22k 794k| 0 0 | 642 1223
1 2 94 0 0 3| 768k 8192B| 22k 791k| 0 0 | 794 1472
1 0 97 0 0 2| 512k 0 | 14k 527k| 0 0 | 441 832
1 0 98 0 0 1| 640k 0 | 22k 789k| 0 0 | 631 1162
3 1 94 0 0 2| 768k 0 | 21k 786k| 0 0 | 798 1460
1 1 96 0 0 2| 768k 0 | 22k 791k| 0 0 | 628 1179
1 0 98 0 0 1| 512k 0 | 14k 528k| 0 0 | 433 803
2 1 94 0 0 3| 768k 0 | 22k 791k| 0 0 | 748 1406
1 3 95 0 0 1| 768k 0 | 22k 795k| 0 0 | 634 1201
1 2 96 0 0 1| 640k 0 | 21k 791k| 0 0 | 640 1197 ^C
[root@arch-smb ~]#
前回起動に失敗した3.10.9-No Forced Preemptionですが、初めからやり直したら、起動しました。
[root@arch-smb ~]# uname -a
Linux arch-smb 3.10.9_CuboxNFPsever #1 Fri Aug 30 00:14:46 JST 2013 armv7l GNU/Linux
さすがに安定していますね。10時間以上トラブルなく連続再生できています。
smb.confのコメントアウトや追加部分をすべて元に戻し、nmbdも起動しましたが、問題ありません。音も良好。
結局、最近のsamba(4.0.9-1)と最新のサーバ用カーネル(3.10.9-no forced preemption)を使いさえすれば、 dsd再生向けに特別なチューニングは不要という結果です。(もちろん、わたしの環境に限定してですが)
ローノイズ5V電源を追加調達する必要が生じてしまいました(^^)
皆様、ご支援ありがとうございました。
syuさん
書き忘れましたが、tc(traffic-control)のJFdocsのありかです。
http://archive.linux.or.jp/JF/JFdocs/traffic-control.txt" target="_blank">http://archive.linux.or.jp/JF/JFdocs/traffic-control.txt
> さりげなく書いてありますが、これはどうやるのでしょう。わたしにはmpd-dsdのコンパイルの方法からしてわかりません^^;;
これは普通のmpdのビルドといっしょです。僕はsyuさんのBBBイメージ環境でビルドしました。やり方は
http://www.symphonic-net.com/kubotayo/articles/articles015.html#001" target="_blank">http://www.symphonic-net.com/kubotayo/articles/articles015.html#001
に書いた通りですが、注意点を補足すると
事前にcubox梅雨入り版のdebian /root/mpdcuboxに置いてあるmpdビルド用のパッチ一式とmy-configを持ってきておきます。
git clone git://github.com/lintweaker/mpd-dsd
cd mpd-dsd
rtoptパッチをかける場合は(0.17用のものを使います)
patch -p1 < ../mpd-0.17git-20120226rtopt.diff
patch -p1 < ../buffer.c.diff
my-configを環境にあわせて修正
nano ../my-config
最終行(archの場合、gccの指定は不要なので)の
CC=gcc-4.4 CXX=g++-4.4
とその直前の\を削除。以下の行を適当な場所に挿入(こいつをやらないと、ライブラリがないと怒られます。何でcdio-paranoiaが入っていたのかは不明です)
--disable-cdio-paranoia \
あとは通常とおり
pkill mpd
./autogen.sh
sh ../my-config
make && make install
作成されたバイナリはcuboxでも動きます。
というところです。mpd-dsdはmpdのdsd対応の作者のjurgenさんが作成された私家版のようです。とても音が良く、安定していますので、お勧めです。別にdsd再生でなくても使えますので、これに入れ換える一手だと思います。僕はcuboxについては、rtoptパッチをかけなければ、再生中断は発生しませんので、とりあえずはこれで逃げることにしました。
dstatの情報ありがとうございました。これは使えそうですね。
syuさん
安定したみたいですね。お疲れ様でした。
>ローノイズ5V電源を追加調達する必要が生じてしまいました(^^)
どこの物を使われていますか?良かったら教えてください。
wandboardもcuboxももうひと伸びがありません。上が詰まった感じなので下も良くないです。
BBBだとバランスとれてるので、スーパーツイータ追加は踏みとどまってます(手持ちでT90A有り)
syuさん
> さすがに安定していますね。10時間以上トラブルなく連続再生できています。
これはクライアントがBBBの場合もOKでしょうか。
PaspberryPIも3.10.10にできるようなので、挑戦してみますかね。
yoさん
>これはクライアントがBBBの場合もOKでしょうか。
クライアントはbbbだけを試しています。0806rtで、mpdは梅雨入り版の174sを使いました。
>mpd-dsd
github、まだオリエンテーションがついてない状態で、どこから落とせるのかなど、理解できてないんですよね。
教えていただいたところから取得し、rtoptパッチの当たったmpd-0.17.5-dsd-rtoptをbbbで作ってみました。音は174sより良いです。また、0.17.4-rtoptでは、e-onkyoで販売している2Lレーベルのdffでは曲の終わりにノイズが出ていましたが、0.17.5-dsd-rtoptではノイズも出なくなっています。
2L音源のサンプルがここにありました。
http://www.e-onkyo.com/music/album/sample02/" target="_blank">http://www.e-onkyo.com/music/album/sample02/
安定性は、まだ試行回数が少ないですが、音消えが発生し始めるまでの時間が、0.17.4-rtoptよりやや短い印象です。2時間半ぐらいかも。
10時間越えたのは3.10.9でno forced preemptionを指定した場合だけで、それ以外では3時間ほどで音消えが発生し始めました。3.10.10-no forced preemptionも試してみます。
tinkerさん
>ローノイズ5V電源
あれこれ試したわけではないので、これが良いのかどうか不詳なんですが、Fidelixの6wタイプです。cuboxでも6wので問題ないです。このページの下の方。
http://www.fidelix.jp/technology/HiFi%20USB%20filter.html" target="_blank">http://www.fidelix.jp/technology/HiFi%20USB%20filter.html
能書きが多いのが怪しげ^^;;ではありますが、電圧は安定しています。実は、そこにあるusbノイズフィルタの同等品を自作しようとして部品を集めてみたら、サイズのあまりの小ささにメゲて、買うことにしたので、そのついでです。割引のあった時期に買いました。
この他、AC電源まわりは、トランス切り替え式で安定化したり、大型LCフィルター入れたり、あれこれやってます。空間ノイズも多いようなので、アンプ類も高周波ノイズ対策を固めて、普通に言えば、「ガチガチに音を殺した」状態です。この状態の方が「伸び伸びする」気がするので、わたしは好きなんですよね。
syuさん
> 安定性は、まだ試行回数が少ないですが、音消えが発生し始めるまでの時間が、0.17.4-rtoptよりやや短い印象です。
cuboxの場合は、rtoptパッチをかけなければ、再生中断は発生しません。rtoptと同じように優先レベルの設定をシェルスクリプトで行う手があるので、実験しているところです。これでOKなら、この方法がお勧めですね。ただ、BBBでは効かないようですね。
nasサーバをraspberry + kernel 3.10.10で動かす方法も試行中です。動くカーネルはビルドできたのですが、sambaを4にするのに悪戦苦闘しています。
syuさん
電源の件、ありがとうございます。検討してみます。
BBBのほうは、initrdを使い始めました。
音には関係ないですし安定度も変わりませんが、selpartでの切り替えに失敗することはなくなったような気がします。
yoさん、tinkerさん
BBBでrtoptなしのmpd-0.17.5-dsdを作成して聴いています。これでも十分良い音ですね。ストレスなく聴けて気分良いです(笑
>sambaを4
cuboxのarch-linuxだと、pacman -S sambaで4.0.9-1が入るんですが、raspberry + kernel 3.10.10だと大変そうですね。
syuさん
> BBBでrtoptなしのmpd-0.17.5-dsdを作成して聴いています。これでも十分良い音ですね。ストレスなく聴けて気分良いです(笑
僕の環境だと、rtoptなしのmpd-dsdは cubox 3.10.9+rt5では再生中断は発生しないのですが、BBB 3.8rt(3.8.13)だと発生します。この理由が分からないのですよね。
> cuboxのarch-linuxだと、pacman -S sambaで4.0.9-1が入るんですが、
ということに気が付きまして(^^;;;、raspberry用のarchイメージを使ったら、あっさりインストールできました。syuさんのsambaインストール方法の書き込みに助けられました。raspberryでは enable smbd(nmbd).serviceとstart smbd(nmbd).serviceは不要でした。カーネルの更新も楽ですね。こういう使い方だと、raspberryもなかなか便利です。
cubox 3.10.9+rt5 rtoptパッチありmpd-dsdで試していますが、今のところ再生中断は発生していません(1時間位経過)。
linux-3.11.1が公開されていましたので、No Forced Preemption指定でコンパイルし、cubox/arch-smbのuImageとmodulesを切り替えてみました。
https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.11.1.tar.xz" target="_blank">https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.11.1.tar.xz
bbb/archのmpd-0.17.5-dsd/rtoptでdsdファイルも問題なく再生できますが、3.10.10との差は識別できませんでした。bbb/archとの組み合せでは、サウンドステージが深く、実体感の高い音になっていると思います。
私の環境ではyoさんの#3403のイメージでdsd連続再生できていますので、目下混乱しているBBB/archを公開できても、結果は同じような気がします。
そこで、先に、cubox/archNFPserverをtar.gzで公開します。
rootのパスワードはcuboxです。
usb-hddを接続する設定になっています。
デフォルトのマウント先は/Publicです。
dhcpにしてあります。固定した方が良いかもしれません。
nfsは上手く設定できていませんのでよろしく。
母艦側にてrootで作業
$ sudu su
# mkdir CuboxArchServer
# cd CuboxArchServer
# mkdir arch
CuboxArchNFP.tar.gzをCuboxArchServerディレクトリにダウンロード
※ ubuntuのfirefoxでは落とせない。要Chrome.
https://docs.google.com/file/d/0B76eZMZnaUS-VWQ0Y1BvMEdYbEE/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0B76eZMZnaUS-VWQ0Y1BvMEdYbEE/edit?usp=sharing
新しいsdカードをリーダーに装填しシングルパーティションを作成
# fdisk /dev/sdX
type o This will clear out any partitions on the drive
type p to list partitions. There should be no partitions left
type n
then p for primary
type 1 for the first partition on the drive
enter twice to select the default first and last sectors
type w Write the partition table and exit
ext3でフォーマット
# mkfs.ext3 /dev/sdX1
書き込む
# mount /dev/sdX1 arch
# tar -xvf CuboxArchNFP.tar.gz -C arch
# umount arch
取り出しをして、Cuboxに装填。
syu さん
どうもありがとうございました♪
今朝までかかって、いままで使っていたのとほぼ同じ環境にセットすることができました。(NFS server 以外)
以前のバージョンは
Linux nas 3.5.7-12-ARCH+ #1 PREEMPT Sat May 4 01:04:13 UTC 2013 armv7l GNU/Linux
syuさんにいただいたバージョンは
Linux nas 3.11.1_CuboxNFPserver #1 Mon Sep 16 13:52:25 JST 2013 armv7l GNU/Linux
それで、BBB/Debian(0731pe)/mpd
Linux beagle 3.8.13-rt9_0731pe-00899-g258c085 #19 SMP PREEMPT Tue Aug 6 01:00:37 PDT 2013 armv7l GNU/Linux
と cifs で接続した結果ですが、
残念ながら私の耳では違いは分かりませんでした。。。
それからパチ音ですが、192K flac で聞き比べましたが
同じくらいの確立で発生していました。
0731rt での発生確率も前のNAS serverと同じくらいでした。
ということで、私の環境では FLAC に関しては NAS server 側バージョンによって変化は無いということになるかと思います。
接続形態ですが、Buffalo LSW4-GT-8NS を中心にして、CuBox と Ether(1G)、BBB と Ether(100M)、Buffalo AirStation と Ether(100M) で接続され、AirStation と iPhone は WiFi 接続して、MPoD でコントロールしています。
NFS に関してですが、/boot をのぞいてみると格闘された跡がありましたので、たぶんご存じとは思いますが、
http://archlinuxarm.org/forum/viewtopic.php?f=33&t=6049" target="_blank">http://archlinuxarm.org/forum/viewtopic.php?f=33&t=6049
に記載がありますが、uname -a で表示されるバージョンと pacman -Q linux-cubox で表示されるバージョンが異なると発生するみたいですね。
linux-cubox の最新バージョンを調べてもわからず、
pacman -S linux-cubox を実行する勇気がなく、このままにしています(軟弱者ですw)
まさまささん
お試しいただいて、感謝。
やはり変化はほとんど無いようですね。
>uname -a で表示されるバージョンと pacman -Q linux-cubox で表示されるバージョンが異なると発生する
ちょうど今、nfsの件でお尋ねしようと、下書きしていたところでした。
[root@arch-smb ~]# pacman -Q linux-cubox
linux-cubox 3.5.7-12
[root@arch-smb ~]# uname -a
Linux arch-smb 3.11.1_CuboxNFPserver #1 Mon Sep 16 13:52:25 JST 2013 armv7l GNU/Linux
ご指摘の通りでした。
私はイノシシなので、やってみました。(^^;;;
[root@arch-smb ~]# pacman -S linux-cubox
warning: linux-cubox-3.5.7-12 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...
Packages (1): linux-cubox-3.5.7-12
Total Download Size: 14.24 MiB
Total Installed Size: 16.05 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n] n
止めました。(^o^">
/bootに置いてある357uImageが3.5.7-12-ARCH+ですので、これでuImageを上書きして起動したら、nfsのエラーメッセージは出なくなりました。
http://archlinuxarm.org/forum/viewtopic.php?f=33&t=6049" target="_blank">http://archlinuxarm.org/forum/viewtopic.php?f=33&t=6049
これ、知りませんでした。今から解読してみます。
ありがとうございました。
syuさん
Cubox-nasアップロードありがとうございました。早速、チューニングしたBBB(3.8rt + arch)に繋ぎ、試してみました。
結果ですが、残念ながらdsd再生でのハングや再生中断は止まりませんでした。
トラブルが発生するまでの時間も同じ位(10分位)です。どうもnasが原因というわけではなさそうですね。音もなかなかさんのご指摘と同じで、僕の環境では玄柴nasと差はないですね。再生状況も同じような感じで、cpu負荷が20%前後と高いです。
top - 09:49:23 up 2 min, 1 user, load average: 0.31, 0.25, 0.11
Threads: 82 total, 1 running, 81 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.8 us, 18.5 sy, 0.0 ni, 77.3 id, 0.0 wa, 0.0 hi, 1.4 si, 0.0 st
KiB Mem: 513408 total, 204696 used, 308712 free, 10784 buffers
KiB Swap: 0 total, 0 used, 0 free, 124748 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
64 root -56 0 0 0 0 S 14.1 0.0 0:13.36 irq/35-musb-hdr
373 root -54 0 0 0 0 S 2.3 0.0 0:02.17 cifsd
76 root -54 0 0 0 0 S 1.6 0.0 0:02.00 irq/57-4a100000
403 root -48 0 85916 82228 31080 S 1.3 16.0 0:01.26 mpd
399 root -46 0 85916 82228 31080 S 1.0 16.0 0:00.81 mpd
445 root 20 0 5092 1340 1008 R 1.0 0.3 0:00.74 top
17 root -50 0 0 0 0 S 0.3 0.0 0:00.15 kworker/0:1
77 root -54 0 0 0 0 S 0.3 0.0 0:00.49 irq/58-4a100000
398 root -47 0 85916 82228 31080 S 0.3 16.0 0:00.48 mpd
439 root 20 0 23892 5804 4656 S 0.3 1.1 0:00.57 sshd
1 root 20 0 4796 2680 1808 S 0.0 0.5 0:02.04 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
Cubox(3.10.9rt5 + arch)だとこんな感じです。
top - 15:22:43 up 6 min, 1 user, load average: 0.61, 0.63, 0.31
Threads: 76 total, 1 running, 75 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.1 us, 4.7 sy, 0.0 ni, 90.0 id, 0.0 wa, 0.0 hi, 4.3 si, 0.0 st
KiB Mem: 1032724 total, 472136 used, 560588 free, 5364 buffers
KiB Swap: 0 total, 0 used, 0 free, 333788 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
68 root -55 0 0 0 0 S 8.123 0.000 0:25.84 irq/24-ehci_hcd
233 root -56 0 0 0 0 S 2.924 0.000 0:11.09 irq/29-eth0
14 root -50 0 0 0 0 S 1.625 0.000 0:05.58 kworker/0:1
387 mpd -28 0 101532 19756 3024 S 0.975 1.913 0:04.53 mpd
386 mpd -29 0 101532 19756 3024 S 0.650 1.913 0:02.47 mpd
3 root -2 0 0 0 0 S 0.325 0.000 0:00.64 ksoftirqd/0
1 root 20 0 4796 2720 1796 S 0.000 0.263 0:01.91 systemd
2 root 20 0 0 0 0 S 0.000 0.000 0:00.01 kthreadd
5 root -50 -20 0 0 0 S 0.000 0.000 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.000 0.000 0:00.00 posixcputmr/0
8 root 20 0 0 0 0 S 0.000 0.000 0:00.00 kcmosdelayd
cpu負荷で10%以上の差があります。cpuの利用比率でみるとusb2ドライバが差を発生させる原因のようで、やはりnasはあまり関係がなさそうです。
BBBの負荷に関してはNo.3512のsyuさんの負荷状況も似たようなものですので、ハードも同じ、動きも同じ、なのに何故僕の環境でだけ問題が発生するのか、本当に不思議です。
あと、nfsも設定を僕の環境に合わせて試して見ましたが、確かに動きませんね。皆様ご指摘の通りの状況かなと思います。やはり、archは手強いですね。
yoさん
すぐにご返事できなくてすみません。お試しいただき感謝。
>cpu負荷で10%以上の差
私の環境では、起動する度に負荷は変化します。2.8MHz-dsdでも、最大で10%以上は変動するようです。良いときは10%以下になりますし、20%近くに達するときもあります。再生を継続していると負荷は少しずつ低下する傾向がありますが、初期の状態にずっと引きずられたままです。どちらでも音は大差ないのが不思議です。そちらでは、どうですか。
起動シーケンスのちょっとした差が影響している印象です。ここを安定化できると良いんでしょうが、この原因が判明しないことには、対策もしにくいですね。