ericさん、パパリウスさん
私はPuTTYでssh接続していますが、symphonic-mpdと出た後
その先に進まず待ちの状態になりました。
仕方ないので一度電源を落として再起動させると正常になりました。
ericさんと同じ症状かはわかりませんが、参考までに投稿させていただきます。
ericさん、パパリウスさん
私はPuTTYでssh接続していますが、symphonic-mpdと出た後
その先に進まず待ちの状態になりました。
仕方ないので一度電源を落として再起動させると正常になりました。
ericさんと同じ症状かはわかりませんが、参考までに投稿させていただきます。
ブルー様 ご指摘の通り電源を落として再起動させたところ問題なくSSHでの接続が出来ました。有難うございました。
パパリウス様 待ちの状態になっていたようです。ブルー様のご指摘通りに電源を落として再起動させたところ問題なくSSHに入ることが出来ました。
しかしまたトラブルです。SSHで入って nano /etc/mpd.confを実行してDSD Modeを有効にしてSystemctl rebootを実行したところConnection refusedが繰り返し出て立ち上がらなくなりました。この失敗を何回となく経験して困っています。シャットダウンして最立ち上げをしても変わりません。
@eric さま
Connection Refused がWebUIで計測されている際は
ほぼ間違いなくmpdが起動出来ない状態です。
mpd.confを手動で変更したようですのでその記述を確認して下さい。
ログとしてはjournalctl, systemctl status mpd.service,cat /var/run/mpd/mpd.log
のいずれかにエラーの原因が書かれているはずです。
@パパリウス さま
ここ数日、自宅のネットワークトラブルでSMPDを起動できておりませんでしたが、かろうじて復旧したためβ7からβ9へとアップデートを行いました。
アップデート画面の一瞬(10/10表示)で終わってしまったため、もう一度updateを押したところ、下記のように表示されアップデートが未完なのか完了しているのかわからない状態となってしまいました。
your version is not supported.
version check succeeded
この後、以下のことを試しましたが状況変わらずです。
・Firefox と Edge にて確認
・Firefoxのプライベートウインドウにて確認
・ブラウザでF5、Ctrl+F5 にて更新
・SSHにて、 /usr/local/bin/inplace_update.sh
・sed -i s/ver="v0.9.x"/ver="v1.0.0b"/ /usr/local/bin/inplace_update.sh
作業の都度、再起動はかけております。
こちらの操作の問題で発生したトラブルではありますが、今後発生する方もいらっしゃるかもしれませんので、一応ご報告まで。
@KSK さま
新しいインストールイメージとしてβ8が作成されたため、β7→β9のアップデートは出来なくなっているのではないのでしょうか?
(私もβ7からアップデートしようとしましたが失敗したので、β8のイメージを焼き直ししてアップデートしました)
ここに返信させてください。
ご指摘ありがとうございます。
SDイメージの更新というのを見過ごしておりました。
お恥ずかしい。。。大変失礼いたしました。
恥ずかしながら、私もSDイメージの更新を忘れてました。
先日の「Prev・Nextボタン動作確認について」ですが、
理解できないままに試してみました。SMPDのバージョンはβ9へのアップデートに失敗したβ7です(笑)
Nextボタンがどれかわからなかったため、そのまま貼り付けております。
お役にたつかどうかわかりませんが、ご報告まで。
※Chrome 80.0.3987.149 での実行です。
VM19 0:1 A preload for 'http://smpd.local/fonts/glyphicons-halflings-regular.woff2' is found, but is not used because the request credentials mode does not match. Consider taking a look at crossorigin attribute.
VM19 0:1 A preload for 'http://smpd.local/fonts/material-icons.woff2' is found, but is not used because the request credentials mode does not match. Consider taking a look at crossorigin attribute.
VM19 0:1 [DOM] Input elements should have autocomplete attributes (suggested: "current-password"): (More info: https://goo.gl/9p2vKq)
mpd.js:24 connected
2
mpd.js:30 execQueue #next show check1
The resource http://smpd.local/fonts/material-icons.woff2 was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.
The resource http://smpd.local/fonts/glyphicons-halflings-regular.woff2 was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.
mpd.js:30 execQueue #next show check1
5
/#/browse/0/NAS/CD_Wave:1 Uncaught SyntaxError: Unexpected token in JSON at position 23
at JSON.parse (<anonymous>)
at WebSocket.socket.onmessage (mpd.js:24)
mpd.js:30 execQueue #next show check1
mpd.js:30 execQueue #next.show check2
4
VM246:1 Uncaught SyntaxError: Unexpected token in JSON at position 23
at JSON.parse (<anonymous>)
at WebSocket.socket.onmessage (mpd.js:24)
mpd.js:30 execQueue #next show check1
mpd.js:30 execQueue #next.show check2
bundle.js:540 [Violation] 'click' handler took 268ms
5
[Violation] Forced reflow while executing JavaScript took <N>ms
bundle.js:540 [Violation] 'mousemove' handler took 178ms
bundle.js:540 [Violation] 'mouseover' handler took 182ms
β9以降のアップデートは、β8のSDイメージで新規インストールしていただく必要があります。
お手数ですが、どうぞよろしくお願いいたします。
@KSK さん
アップデート画面が一瞬で10/10表示になる件は、β9で対策してみました。次回アップデートからは1/10から10/10まで表示が変わるようになっていると思います。
(ympdからsystemd-runでinplace_update.shを実行するときに--no-blockオプションをつけるようにしてみました。)
@ブルー さん
sshログイン時に固まったときは、Ctrl+Cを押してみてください。
ログイン時に温度を取得するためにvcgencmdを実行しているのですが、ここで無応答になることがあります。
vcgencmdは、BCM2835 VCHIQというドライバーを使ってVideo Coreにアクセスしてラズパイの情報を取得しています。
このドライバーはXenomaiには対応していないため、spin_lock時に問題が発生することがあります。
気付いたところはちょこちょこと手直ししているのですが、まだ完璧ではありません。引き続きドライバの修正は続けていきます。
@eric さん
@sunatomo さんからもフォローがありましたとおり、mpd.confの編集ミスが原因でmpdが起動しなくなっているものと思います。
サポートプラグインでログを取得してお送りいただけば、mpd.confの修正内容をこちらで確認させていただきます。
RPi4 Edition ベータテストで@パパリウスが発言 :
sunatomo様
有難うございました。私には手に負えないのでSDカードをフォーマットしてβ8からやり直しをしました。数多くのDSDファイルを何とか鳴らしたいのでmpc.confファイルを編集してしまい、その都度同様の失敗を繰り返しています。当分はPCMファイル利用で楽しみさせていただきます。
自衛対策として完成SDカードのイメージ(v.1.0.0.β9)をハードディスクに保存しました。
オンラインアップデートでβ10を配信しました。
:fa-exclamation-triangle: β7より古いバージョンからアップデートすることはできません。事前にβ8のSDイメージからインストールをお願いします。
<変更点>
Web UIのNEXT/PREVボタンの動作は引き続き対策を進めますが、その他の不具合は一通り解消することができました。
RPi4版を拙宅のメインシステムに組み込み、最適化の作業に着手しております。
最初に着手するのは以下にリストアップしたソフトウェア・ライブラリの最適化です。
| # | ライブラリ | rngd | journald | networkd | resolved | aplay−rt |
AirPlay |
Spotify |
mpd |
|---|---|---|---|---|---|---|---|---|---|
| glibc | libc | ● | ● | ● | ● | ● | ● | ● | ● |
| librt | ● | ● | ● | ● | ● | ● | ● | ● | |
| libpthread | ● | ● | ● | ● | ● | ● | ● | ● | |
| libdl | ● | ● | ● | ● | ● | ● | |||
| libm | ● | ● | ● | ● | ● | ||||
| gcc | libgcc_s.so.1 | ● | ● | ● | ● | ● | ● | ||
| libstdc++.so.6 | ● | ● | |||||||
| systemd | libsystemd-shared-244 | ● | ● | ● | |||||
| acl | libacl.so.1 | ● | ● | ● | |||||
| Util-linux | libblkid.so.1 | ● | ● | ● | |||||
| libmount.so.1 | ● | ● | ● | ||||||
| kmod | libkmod.so.2 | ● | ● | ● | |||||
| attr | libattr.so.1 | ● | ● | ● | |||||
| xz | liblzma.so.5 | ● | ● | ● | ● | ||||
| libcap | libcap.so.2 | ● | ● | ● | ● | ||||
| zlib | libz.so.1 | ● | ● | ● | ● | ||||
| openssl | libcrypto.so.1.1 | ● | ● | ● | ● | ||||
| libssl.so.1.1 | ● | ● | ● | ● | |||||
| systemd | libsystemd.so.0 | ● | |||||||
| expat | libexpat.so.1 | ● | |||||||
| soxr | libsoxr.so.0 | ● | ● | ||||||
| libconfig | libconfig.so.11 | ● | |||||||
| popt | libpopt.so.0 | ● | |||||||
| xenomai | libcobalt.so.2 | ||||||||
| libmodechk.so.0 | |||||||||
| alsa-lib | libasound.so.2 | ● | |||||||
| dbus | libdbus-1.so.3 | ● | |||||||
| cui | libicui18n.so.65 | ● | |||||||
| libicuuc.so.65 | ● | ||||||||
| libicudata.so.65 | ● | ||||||||
| curl | libcurl.so.4 | ● | |||||||
| ffmpeg | libavformat.so.58 | ● | |||||||
| libavcodec.so.58 | ● | ||||||||
| libavutil.so.58 | ● | ||||||||
| id3tag | libid3tag.so.0 | ● | |||||||
| flac | libFLAC.so.8 | ● | |||||||
| audiofile | libaudiofile.so.1 | ● | |||||||
| fdk-aac | libfdk-aac.so.2 | ● |
最適化の進め方は以下のようになります。
使用頻度の低いものや、音楽再生に直接関係しないライブラリについては、PGO(Profile guided optimization) による最適化を試みます。
プロファイルデータ出力を有効にしてビルドし、元のファイルと差し替えます。
そのあと、実際に音楽を再生させてプロファイルデータを蓄積していきます。
最後に、プロファイルデータを使って再ビルドします。
PGOには、プロファイルデータの取り方によって最適化の結果が変化してしまう欠点があります。また、必ずしも狙い通りの最適化がかかるとは限りません。
gcovというカバレッジの測定を行うソフトを活用し、何度も繰り返し実行されているホットスポットをリストアップします。
特定したホットスポットについては、以下の観点でパッチをあてていきます。
上記の1〜3はカバレッジデータから修正方針を判断することができ、機械的に作業を進めることができます。
1箇所改善すれば、1CPUサイクルを稼ぐことができます。
これを数百、数千と積み重ねていくことで、マイクロ秒オーダーの改善に繋げていきます。
4〜7の作業を行うケースは稀ですが、性能上のボトルネックになっている箇所についてはここまでやることがあります。現状では、aplay-rt、rtalsaドライバ、xsinkドライバが該当します。
パパリウスさま
精力的に作業を続けられていることに本当に感謝しております。これ以降の音質改善にとても期待しております。
そのさなかに恐縮ですが、現在のb10について質問とお願いがあります。
遅ればせながら、b8を新たに焼き、b10までupdateいたしました。
きちんと再生されていますが、やはりplaying cue のnextが1500を超えると動作しません。
さらに加えて、そういった場合でも操作可能な MPD clientも接続できなくなりました。
システムは、いつものとおり、以下の2つです。
RP4B/Inno-i2s>HDMI/D70
RP4B/Sabreberry32pro
mpd.confをのぞいてみると、
"# port setting : /lib/systemd/system/mpd.socket"
とありました。mpdサービスでなく、MPD client を受け付けない socket を起動しているということでしょうか。
そしてこれ以降、MPD client は使用不可能になるということでしょうか。
大量ソースをコントルールするときにはMPD clientが便利なこともあるので可能なら利用できる道を残していただけるとありがたいのですが、可能でしょうか?
どうかよろしくお願い申し上げます。
@KSK さま
レス遅れましたが、Consoleログ拝見しました。
Uncaught SyntaxError: Unexpected token in JSON at position 23
というのが気になりますね。この状況、β7でDISK USAGEで個人的にハマっていた際に
目にしていた記憶があります。
このようなログ、β8以降のイメージでは計測されますでしょうか?
@パパリウス さん @sunatomoさん
親ディレクトリに戻ったさい自動でスクロールする件、ありがとうございます。
完璧に作動してます。
@mike さま
大変恐れ入りますが、WebUIにてキューを大量に入れた際に、Developper モードのConsole、お送り頂けいると幸いです。
@KSK さまのようにWebSocketで受信したパケットが正常に受けられていない可能性がありそうです。
mpd.confの設定ですが、上記の通りで
# for Any other mpd clients
ListenStream=6600
の通りコメントアウトを無効化して
systemctl stop mpd.socket
systemctl start mpd.service
systemctl daemon-reload
systemctl start mpd.socket
とすれば、6600ポートの接続は復活します。
@Cresson さま
今回の戻る動作は私がタッチする前に パパリウス さまに対応頂いています(笑)
@mike さん
これまではmpd.confでポートを設定していただいておりましたが、今後は
/lib/systemd/system/mpd.socket
というファイルを編集していただければと思います。
# for Web UI
ListenStream=%t/mpd/socket
# for Any other mpd clients
#ListenStream=6600
6600の方のコメントを外して保存し、再起動してください。
再起動の代わりに
systemctl daemon-reload
systemctl restart mpd.socket
systemctl restart mpd
でも大丈夫だと思います。