rpi2にpolipoをいれています。
作成されたパッチというのはどのような内容でしょうか。
差し障りなければ私もいただきたいです。
アップロードありがとうございます。
私はbuildroot以外でmakeしており、
Makefileには DNO_DISK_CACHE -DNO_IPv6 -DNO_SYSLOG を指定しています。
polipoが動いているかは、topでpolipoを見たときに
VSZが再生している曲のファイルサイズまで増えていれば
動いているといえると思います。
この状態でLANケーブルを外したとき曲は再生され続けるはずです。
SXX.polipoについては設定内容が分からないため原因は不明ですが、
lightMPDのその他のスクリプトを参考にされているのであれば、
起動に失敗しても
Starting polipo: OK
が表示されます。これはコマンドの戻り値(正常/異常)に関係なく
コマンド終了時に、OKと表示しているためです。
私もRpi2にpolipoを組み込んでいますので、イメージファイルを
アップしておきますので、参考にしていただければと思います。
lightMPDをベースにさせていただいていますので、同様の手順で
お試しいただけると思います。
https://drive.google.com/file/d/0B9LSJY9xM01jbnJWUUNnSXUxTmc/view?usp=sharing
digififanさんの思想からははずれてしまっていますが、
lightMPDをベースにしながらもいろいろといじらせてもらってます。
以下が主な追加項目です。
UPNP対応: upmpdcli, polipo
SDカード再生対応
DLNAサーバ対応: minidlna (SDカード再生時)
WiFiによるAP化: hostapd, bridge, dnsmasq (GW-USNano2専用)
LED制御
今後の展開のお役に立てればと思います。
polipoの設定、お役に立てて幸いです。
ちなみに、digififanさんのlightmpd.confのメモリ周りの設定値の単位は
MB(メガバイト)で、私のものはB(バイト)です。
digififanさんの気配りが垣間見えるところなのですが...
私のアップロードしたファイルで起動できない件、残念です。
一度、電源とLANのみを接続した状態で起動可能か試していただけますか。
このとき、lightmpd.confの[network] セクションのみの変更でとりあえず
起動はするはずなんですが。
SDカードもフォーマットが可能であればフォーマットしていただき
ダウンロードファイルの展開、lightmpd.confの変更
の手順でお試しいただければと思います。
digififanさんのDEFINESの指定とはMakefileの事を指しています。
-DNO_DISK_CACHE -DNO_IPv6 -DNO_SYSLOG
の指定で、ディスクキャッシュ、IPv&、syslogへのログ出力を無効化します。
LANのピコピコはカーネルにパッチを当てています。
インターネット上でどなかが公開されていたものに少し手を加えました。
下記にパッチ(disable-rpi2-network-leds.patch)をアップロードしましたので、
お試しください。
https://drive.google.com/file/d/0B9LSJY9xM01jOHBpSWsxUEZYUXM/view?usp=sharing
以下のコマンドで、ピコピコが無効になります。
echo 0 > /sys/class/smsc95xx_leds/eth_fdx
echo 0 > /sys/class/smsc95xx_leds/eth_lnk
echo 0 > /sys/class/smsc95xx_leds/eth_spd
有効にする場合は0を1に置き換えてください。
コマンド実行結果の内容ですが逆ではないでしょうか。
そしておそらくは関係ないでしょう。
polipoのソースを確認しましたが、
私の使用しているものとdigififanさんに用意していただいたものは
同じでした。
polipo以外での環境面での変更はないでしょうか。
upmpdcliだけに戻し正常動作を確認した後、
再度、注意しながらpolipoを組み込んでいかれてはどうですか。
digififanさんのアドバイスに従い、ひとつひとつ
確認していくのがよいかと思います。
> 確か1GBなはずですが。bbgは512MBですね。
> 1GBなら上記設定でよろしいでしょうか?
詳細を書きますと、squid.confの設定としてはtakobozuさんのものをお借りしました。再生を始めてhtopを観察していると、confでの
maximum_object_size_in_memory 200 MB
あたりにメモリ使用量が近付くとCPUが100%近くなって、再生がおかしくなります。なお、8xオーバーサンプリングしてるので、ここまではすぐ到達します。
推測ですが、メモリが一杯になった時のsquidの動作(たとえば古いデータを放棄する処理など?)が上手く行ってないのではと考えています。現状では、私の場合はpolipoの方がデータの最大サイズには制限があるものの、このあたりは安定しているようです。
(なお maximum_object_size_in_memory を 8MB だとかにすれば再生は問題ないですが、これだとメモリ使用量が増えないのでメモリキャッシュとしてはあまり働かないようです。)
takobozuさんはこの点は問題なくなったとお書きになってるので、本筋のupnpなら大丈夫なのかもしれません。ただ、930MBのファイルということなので、さらに巨大(wavでオーバーサンプリングしたものなど)だと、もしかすると似たようなことが起こるかもしれません。設定を色々いじれば状況も変わるかもしれませんが、とりあえず報告でした。
> 24bit 44.1khz wav ノイズまみれ、しかし音楽そのものは聴こえる
ノイズが発生する場合は、データの順序が異なっていてほとんぞホワイトノイズ状態です。
これはいままでのとちがう現象です。そもそもこのファイルはpolipoを外した状態で再生できますか?
> >これはいままでのとちがう現象です。そもそもこのファイルはpolipoを外した状態で再生できますか?
> これはrenderer側もupnpgw側もpolipoを外すということですか?
> renderer側のpolipoを外すのは、mpd.confで127.0.0.1:8123ではなく、10.0.0.1:8123と
> すればいいんでしたね。
input {
plubin "curl "
}
としてproxyを外して下さい。
wav でホワイトノイズ(サーというノイズ)が出るのとは異なる現象と思われます。
ホワイトノイズの場合はpolipoを外すと直るのでpolipoが原因と判断できましたが、foobar2000で作成した24bit/44.1kの場合はpolipoが原因なのか
それいがいに原因があるのかわかりません。
polipoをはずすとなおるならpolipoに原因があるという事になります。