• RPi4版 v1.0系 不具合報告スレッド

    @nzato さん
    @tokkari さん

    確かv1.0.0の時からLANのLEDが消灯するのがデフォルトだったと記憶してます。これが仕様ではないでしょうか。

  • @ジャイアン さん

    そうでしたか!安心しました。
    いつもブログを楽しみに見ております。
    今後ともよろしくお願いします。

  • @tokkari さん

    LEDの消灯は/boot/config.txtで指定しています。

    点灯させたい場合は以下の行をコメントアウトしてください。

    dtoverlay=act-led
    dtparam=act_led_trigger=none
    dtparam=act_led_activelow=off
    dtparam=pwr_led_trigger=none
    dtparam=pwr_led_activelow=off
    dtparam=eth_led0=4
    dtparam=eth_led1=4
    
    
  • パパリスさん                     CC.皆様

    V1.0.6、air playを含めて快調です! (ベータドライバーの課題は解消されているように思います)

    vcgencmdに係る問題もover_voltageの設定によって一段落して正直ホっとしています。お疲れさまでございした、、、
    (電圧が低いと挙動不審が起こるというように単純にも理解してみましたが、正しい理解なのか判らずにいますが)

    なお、ちょっと解説していただければと思うのは「core_freq」の設定についてです。
    2019年8月1日(?)バージョンのブートローダーではcore_freqの指定通りのcore clockで稼働するようですが、2019年11月19日のバージョンではこの設定がconfig.txtにあるにも関わらず指定のcore clockにはなりません。不思議に思ってドキュメントなど確認したところ、後段のような記述がありました。

    core clockが想定の設定値にならない場合、どのような内部処理と絡んでの音への影響が出来るものなのか当方中身が判っておりませんが、一方で何らかの内在された問題を抱えているファームウェアを継続するというのも少し気になるところです。音質に係るファクターが大きい部分にようにも思われますので後学の為にも簡単にご教授いただければ幸甚です。(あるファームウエアのバージョン以降は固定クロックではなく、自動的に可変クロックになってしまう、ということなのでしょうか?)

    (記載場所)
    https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md

    に記載されている「Overclocking op;tions in config.txt」に次のような一文があります。

    ---引用開始

    Specific to Pi 4B

    The core_freq of the Raspberry Pi 4 can change from the default if either hdmi_enable_4kp60 or enable_tvout are used, due to relationship between internal clocks and the particular requirements of the requested display modes.

    Display option Frequency
    Default 500
    enable_tvout 360
    hdmi_enable_4kp60 550

    Changing core_freq in config.txt is not supported on the Pi 4, any change from the default will almost certainly cause a failure to boot.

    It is recommended when overclocking to use the individual frequency settings (isp_freq, v3d_freq etc) rather than gpu_freq, as since it attempts to set core_freq (which cannot be changed on the Pi 4), it is not likely to have the desired effect.

    ---引用終了

  • @ゴンザエモン さん

    検証にご尽力いただき誠にありがとうございました。

    vcgencmdが応答しなくなる問題、ダッシュボードが表示されない問題、シャットダウン・再起動に時間がかかる問題の原因は全て同じです。
    内部の電圧のミスマッチでVideo Coreの動作が不安定になっていたと言うことです。

    これはv1.0.0から(もっと正確に言えば正式リリース前のベータテストの段階から)内在していた問題ということになります。

    smpdのconfig.txtで指定しているcore_freq=598というのは、RPi4のデフォルト値からみてもかなり高い設定です。
    電圧不足がおきても不思議ではありません。
    たまたま当方の環境で問題の発生率が低かったためそのまま見過ごしていましたが、今回問題提起いただいたことで原因を深掘りできたという次第です。


    RPi4のファームウェアは省電力・低発熱を優先して改良が続けられています。

    config.txtでのクロック指定はRaspberry Piの保証外の使い方となります。
    例え動いていたとしても、将来に渡ってその動作が保証されるわけではありません。

    そして実際に、2019-11-18版のGPUブートローダで後方互換の無い仕様変更が行われ、config.txtでのクロック指定が従来のようには動作しなくなってしまいました。

    つまり、「クロックや電圧は必要最小限に自動設定してあげる。全部ファームウェアに任せろ。configを弄るな。」と言うわけです。


    新ファームウェアの採用には次のようなメリットがあります。

    • 省電力化
    • 新機能の追加 (例えばネットワークブートの強化など)
    • 不具合の修正
    • 新ハードのサポート (例えば8GBモデルへの対応など)

    smpdは他のディストリビューションと比較して消費電力は低く抑えられており、空冷で40℃〜50℃に保つことも容易です。

    今後、smpdが新バージョンのGPUブートローダを採用することは恐らくないでしょう。2019-08-01版を使い続けることになると思います。

    その他のファームウェア(EEPROMファームウェアやドライバ)に関しては、音質に影響しない限りは必要に応じて追従していきます。

  • smpdでなぜcore_freqを高く設定しているか、補足いたします。

    Raspberry Piに搭載されているGPUとその周辺機能はVideo Coreと呼ばれています。

    Video CoreはただのGPUではなく、Raspberry Pi本体のレジスタを読み書きするインターフェースとしての機能が動いています。GPU・メモリの一部を間借りして、マイコンのような機能を実装してしまったというわけです。

    ラズパイ内部の温度や電圧、CPUクロックなど、様々な情報をVideo Core経由で読み取ることができます。
    そのためのフロントエンドとなるツールの一つがvcgencmdです。

    Video Coreの動作が不安定になると、vcgencmdからの問い合わせに応答がなくなり、フリーズしたような状態になってしまいます。


    core_freqはVideo Coreの周波数を設定するパラメータです。
    このcore_freqは、GPUの処理速度に影響するのはもちろんですが、もう一つ重要なのがメモリバスの速度でもあるという点です。

    smpdで高いcore_freqを設定しているのは後者の性能を引き上げるために他なりません。

    RPi3版を開発していたころにDMA性能のベンチマークを行ったことがありますが、core_freqの影響は無視できないものでした。
    (実際にメモリバスの速度がDMA性能に効いていたのか、それともDMAアクセスそのものではなくて何らかの周辺処理の性能に影響していたのか、、、簡易的なベンチマークだったため、細かい切り分けはできておりません。また、RPi4ではDMA性能の実測はできておりません。RPi3版と比べ、core_freqの重要性は変化している可能性があります。)

  • パパリウスさん

    詳細な解説大変ありがとうございました。

    2019-11-19版以降は「根幹に係る」大きな改変が行われ、音質を左右する本パラメータの任意の設定ができなくなってしまった、と良く理解できました。

    音楽再生に特化する「スペシャルディストリビューションであるSymphonic-MPD」は最大公約数的な機能・仕様に確かに縛られる必要もないものと考えます。

    それにしても難しいものですね、、、
    ほんの一端ではありますが、今回の件でパパリウスさんのご苦労が良く判りました。

  • @ゴンザエモン さん

    ファームウェアがアクセスできる機能は限られており、様々な制約があるはずです。そのような制約を乗り越えて高度な省電力機能をファームウェアだけで実現してしまったのですから、Raspberry Pi開発スタッフの尽力には頭が下がります。

    幸いにも過去のバージョンに遡ってファームウェアを入手することは可能ですから、用途にマッチしたものを自分たちで選ぶという選択肢が残されていることに感謝したいと思います。

    これまでCore Voltageの個体差がこれほどあるとは想像しておりませんでした。
    怪我の功名ですが、この点を認識することが出来たのはとても幸運だったと思います。

  • パパリウス様
    ericです。v.1.0.6にアップをさせて戴きました。音はいつもどおり素晴らしくて気に入ってます。しかし、1時間もしないうちにダッシュボードが表示できなくなり音源の選択もできなくなります。
    先に選択してったMusicデータは支障もなくなり続けています。私はRAPI4(2GB)空冷ファンをつけて、その上にallo-digioneをつないで同軸出力をES9038PROで音出ししています。
    原因と考えられるのはover_voltage=0となっています。over_voltage=1位に変更したいのですがやり方が分かりません。教えていただけませんか?

  • @eric さん

    over_voltage=0になっている理由が分かりませんが(仕様ではover_voltage=1になるはず)config.txtを編集することで問題を解消させることができるかもしれません。

    sshでログイン後

    nano /boot/config.txt
    

    を実行しconfit.txtの編集画面に入ります。
    over_voltage=の行を探しover_voltage=1と編集します。
    Ctrl + oキーを押しreturnキーで保存。
    Ctrl + xキーを押して編集画面から抜けます。

    reboot
    

    で再起動させてみてください。

  • RPi4版 v1.0系 不具合報告スレッドで@ジャイアンが発言 :

    over_voltage=1

    ジャイアンさん ご教示有難うございました。config.txtの中にover_voltage=0の項目はありませんでしたがover_voltage=1を記入後、再起動後ダッシュボードを見たらover_voltage=1に更新されていました。しばらく様子を見たいと思います。
    助かりました。ありがとうございました。

  • @eric さん

    私もまったく同じ状況でした。
    設定、その他のプラグイン項目を探したのですが
    over_voltageを変更できるよう場所は見当たりませんでした。
    結果、私もconfig.txtの中にover_voltage=1を記入して安定動作しております。

  • ジャイアン、パパリウス様
    over_voltege=1に変更後2時間ほど鳴らしていますがダッシュボードも正常に機能していますし音源の選択他の機能も全て正常に動作をしています。ゴンザエモン様がallo-digi-signetureでover_voltage=0はNG,over_voltage=1はOKと書き込みをされていたのに合致します。
    以上報告させて頂きます。有難うございました。

  • @パパリウス さん

    nzatoです

    v1.0.6 のアップデートですが config.txt を書き換えていません。

    私の古い config.txt はテストのため #over_voltage=1 とコメントアウトしていたのがそのままでした。

    dt-blob.bin をマスターモードにしていたので、その関係があったのかもしれません。over_voltage=1を書き込んで問題なく働いています。

  • @パパリウス さん、詳細な解説ありがとうございます。
    COREの電圧の件は、私の空耳ではなかったようですね。
    どんどん迫力のある音になってきているように感じています。
    初回プレスのレコード盤の雰囲気に近づいてきていると思います!
    素晴らしい再生能力です。
    以前は、スピーカー>アンプ>トランスポートといった影響力で音が変わると思っていましたが、今では、そこそこのスピーカー、アンプがトあればランスポートに相当に影響を受けるものだと思っています。

  • @eric さん @tokkari さん

    現状では設定画面からover_voltageを変更することはできません。
    config.txtを直接編集していただく必要があります。
    (近いうちに設定画面に追加したいと思っています。)

    over_voltageが未設定の場合は、デフォルト設定であるover_voltage=0として動作します。ダッシュボードにもこのように表示されます。ご参考まで。

  • @パパリウス
    I replaced dt-blob.bin with dt-blob.bin.master.v105 but when I look at the dash board after rebooting it still shows the unit as being in Slave Mode. The master blob file was renamed to dt-blob.bin and the original slave file renamed to something else. Using V106 with an IanCanada FifoPi.

    RaspPi4b x 2 / IanCanada Stack powered by LiFEPo4 & Ultracaps /
    Bisek Output Transformers

  • @Castle

    To make it work with DAC Master, you need to use a DAC and driver for it.
    Switching between DAC Master and DAC Slave is the driver's job.

    The dt-blob.bin changes the PLL frequency.
    This improves the sound quality of the DAC Slave.

    As I understand it, Fifopi does not have the ability to operate in Master mode.
    FIFO, that is, it is an asynchronous re-clock of I2S.
    This approach makes sense.
    If Fifopi is able to elimidate any level of jitter, then whatever the PLL frequency of the RPi, it won't affect the sound quality.
    However, I recommend using the default dt-blob.bin.

  • @パパリウス
    Makes good sense. I didn't know if the FifoPi would work in Master mode or only in Slave mode. Didn't notice any difference in system sound when in Master mode. Will shift back to the Slave blob.

    RaspPi4b x 2 / IanCanada Stack powered by LiFEPo4 & Ultracaps /
    Bisek Output Transformers

  • いつも拝見させていただいております。

    V1.0.4で標準的なインストールをした場合、Sabreberry32の挙動として、青いLED(I2C通信)が最初ついてすぐ消えてしまいます。その後、起動時の音=>出さないに設定変更すると一旦は青LEDが点きますが音出しすると瞬間に消えてハングします。

    over_voltage=1設定を行ったV1.0.6の場合、一旦点いたLEDは音出ししても消えず音楽が聴けています。
    再起動しても問題ありませんでした。

    over_voltage=2の場合はLANのLEDが消えるところまで来られず起動できませんでした。

    まずはご報告まで、いろいろありがとうございます。