• RPi4 Edition ベータテスト

    @mgroovy さん

    viはインストールするようにしたいと思います。


    rtalsa/xsinkドライバがハングアップすると、通常のrebootを実行してもタイムアウトまで3分ぐらい待つ必要があります。

    ドライバがハングアップすると、以下のようなログが出力されます。

    Mar 15 11:33:34 smpd kernel: Unable to handle kernel NULL pointer dereference at virtual address 000000000000005c
    Mar 15 11:33:34 smpd kernel: Mem abort info:
    Mar 15 11:33:34 smpd kernel:   ESR = 0x96000006
    Mar 15 11:33:34 smpd kernel:   Exception class = DABT (current EL), IL = 32 bits
    Mar 15 11:33:34 smpd kernel:   SET = 0, FnV = 0
    Mar 15 11:33:34 smpd kernel:   EA = 0, S1PTW = 0
    Mar 15 11:33:34 smpd kernel: Data abort info:
    Mar 15 11:33:34 smpd kernel:   ISV = 0, ISS = 0x00000006
    Mar 15 11:33:34 smpd kernel:   CM = 0, WnR = 0
    Mar 15 11:33:34 smpd kernel: user pgtable: 4k pages, 39-bit VAs, pgdp = 00000000f6cd799d
    Mar 15 11:33:34 smpd kernel: [000000000000005c] pgd=00000000f3e18003, pud=00000000f3e18003, pmd=0000000000000000
    Mar 15 11:33:34 smpd kernel: Internal error: Oops: 96000006 [#1] PREEMPT SMP
    Mar 15 11:33:34 smpd kernel: Modules linked in: arc4 ecb md4 md5 sha512_generic aes_neon_blk crypto_simd cryptd aes_arm64 sha256_generic hmac nls_utf8 cifs ccm raspberr>Mar 15 11:33:34 smpd kernel: Process aplay-rt (pid: 453, stack limit = 0x00000000dc73f388)
    Mar 15 11:33:34 smpd kernel: CPU: 1 PID: 453 Comm: aplay-rt Not tainted 4.19.86-v8 #32
    Mar 15 11:33:34 smpd kernel: Hardware name: Raspberry Pi 4 Model B Rev 1.2 (DT)
    Mar 15 11:33:34 smpd kernel: I-pipe domain: Linux
    Mar 15 11:33:34 smpd kernel: pstate: 60000005 (nZCv daif -PAN -UAO)
    Mar 15 11:33:34 smpd kernel: pc : rtalsa_close+0x44/0x80 [rtalsa]
    Mar 15 11:33:34 smpd kernel: lr : __rtdm_dev_close+0x2c/0x50
    Mar 15 11:33:34 smpd kernel: sp : ffffff8009ca3d20
    Mar 15 11:33:34 smpd kernel: x29: ffffff8009ca3d20 x28: ffffffc0f3f81580 
    Mar 15 11:33:34 smpd kernel: x27: 0000000000000000 x26: 0000000000000000 
    Mar 15 11:33:34 smpd kernel: x25: ffffff8008a44448 x24: 0000000000000000 
    Mar 15 11:33:34 smpd kernel: x23: ffffffc0f22d8018 x22: 0000000000000000 
    Mar 15 11:33:34 smpd kernel: x21: ffffff8008a44448 x20: ffffff80008cc748 
    Mar 15 11:33:34 smpd kernel: x19: ffffff80008cc000 x18: 0000000000000000 
    Mar 15 11:33:34 smpd kernel: x17: 0000000000000000 x16: 0000000000000000 
    Mar 15 11:33:34 smpd kernel: x15: 000000000000ba7e x14: 00000000000068f9 
    Mar 15 11:33:34 smpd kernel: x13: 00000000000068f9 x12: 0000000000000400 
    Mar 15 11:33:34 smpd kernel: x11: 0000000000000001 x10: 0000000000000800 
    Mar 15 11:33:34 smpd kernel: x9 : ffffff8009ca3c00 x8 : 0000000000000000 
    Mar 15 11:33:34 smpd kernel: x7 : 000000000000b6d7 x6 : 0000000000000059 
    Mar 15 11:33:34 smpd kernel: x5 : 0000000000000000 x4 : 0000000000000000 
    Mar 15 11:33:34 smpd kernel: x3 : ffffffc0f525c000 x2 : ffffff80008bc000 
    Mar 15 11:33:34 smpd kernel: x1 : ffffff80008bc000 x0 : 0000000000000000 
    Mar 15 11:33:34 smpd kernel: Call trace:
    Mar 15 11:33:34 smpd kernel:  rtalsa_close+0x44/0x80 [rtalsa]
    Mar 15 11:33:34 smpd kernel:  __rtdm_dev_close+0x2c/0x50
    Mar 15 11:33:34 smpd kernel:  __put_fd+0x150/0x190
    Mar 15 11:33:34 smpd kernel:  rtdm_fd_close+0x10c/0x150
    Mar 15 11:33:34 smpd kernel:  CoBaLt_close+0x10/0x20
    Mar 15 11:33:34 smpd kernel:  handle_head_syscall+0xbc/0x310
    Mar 15 11:33:34 smpd kernel:  ipipe_fastcall_hook+0x18/0x20
    Mar 15 11:33:34 smpd kernel:  ipipe_handle_syscall+0x64/0xd0
    Mar 15 11:33:34 smpd kernel:  el0_svc_handler+0x5c/0x1e0
    Mar 15 11:33:34 smpd kernel:  el0_svc+0x8/0x18
    Mar 15 11:33:34 smpd kernel: Code: b9028c5f b902883f b40000e3 f9408865 (b9405ca0) 
    Mar 15 11:33:34 smpd kernel: ---[ end trace a29fc475cd35c490 ]---
    
    

    ドライバがハングアップしたときは、
    sync; umount /bootのあと電源を切っていただければと思います。

    または、forced-rebootを実行してみてください。
    これは、以下のコマンドのエイリアスになっています。

    alias forced-reboot='sync;umount /boot;halt -f --reboot --no-wall;exit' 
    

    ハングアップの状況に依りますが、すぐに再起動してくれる場合もあります。

  • もしかしたら若干間違いがあるかもしれませんが、速報で掲載します。
    公式対応前に色々やってみたい方向けの情報になります。

    Linux For Scratchで追加コマンドを導入したい(公式にて実証済みの場合)

    こちらにSystemd版でのマニュアル(bookといいます)が掲載されています。
    LFSで標準的にビルドが成功したパッケージについては「Post LFS Configuration and Extra Software」以降に掲載されていますので、希望のパッケージをページ内検索で探して下さい。

    各パッケージにはソースコード+パッチのダウンロードリンク、ライブラリの依存性、ビルドの際のコマンドなどが記載されていますので記載の通り実行すればビルドされると思います。
    (正直ライブラリの依存性で一筋縄で行かない場合もあるかもしれませんが、
    自分の環境ではnet-toolsとvimはビルドしてみました。)

    ちなみにソースコードの保存先は/usr/local/src辺りが良いでしょうか。
    またSDカードの領域は事前に拡大しておかないと不具合が発生しますのでご注意下さい。

  • @sunatomo さんのコメントを補足します。

    CPUコアの割り当て

    smpdでは、cpu0〜cpu2の3つのコアはプロセスの割り当て対象外にしています。また、処理を空いているコアに割り振る機能(プロセスマイグレーション)も無効にしてあります。

    ソースからビルドする場合、4コア使いたいというケースがあるかと思います。

    その場合は、まず/boot/cmdline.txt のisolcpusの設定を変更して再起動してください。

    変更前
    isolcpus=0-2
    
    変更後
    isolcpus=
    

    また、sshでログオンした後でload-balance onを実行してください。
    これで普通のLinuxと同様に、空いているコアに処理が割り当てられるようになります。


    パッケージ管理について

    smpdでは、パッケージ管理にporgというソフトを使っています。

    例えばvimをビルドして最後にmake installするときに、

    porg -lp vim-8.2.0190 "make install"
    

    とすると、インストールと同時にファイル操作を追跡してログに記録してくれます。

    インストールされたファイルを一覧するときはporg -f vim、アンインストールするときはporg -r vimとします。

  • @パパリウス さん、お世話になります。
    アルバム名・アーティスト名がunknownになるファイルはaiffで見つかりました。ほぼ全滅のようです。この場合、プレイリストに拡張子も表示されます。ディスクナンバー、トラックナンバーも表示されますね。

    4f35e68c-35b3-40df-98f8-4917d7cd20a1-image.png

    音質についてですが、低域の立ち上がりが早いようで、ベースやドラムの音が鋭いです。すごく好みです。

  • hiroget9さんご報告のAIFFがunknownになる件、同様の症状を私の環境でも確認しました。

  • @mgroovy さん

    ビルド済みのvimを用意しました。
    下記コマンドでインストールしてください。

    cd /run;wget https://mpd.sytes.net/release/extra/vim-8.2.0190.porg.tar.gz;porgball -e -l vim-8.2.0190.porg.tar.gz
    

    アンインストールしたいときはporg -r vimです。


    @hiroget9 さん @ジャイアン さん

    検証いただきありがとうございます。
    AIFFのタグについてこちらでも確認したいと思います。

  • Networkの設定によってAirPlayの挙動が変わるようです。
    DHCPをONにしたら、iOSデバイスパネルにデバイス名が現れました。AirPlayの動作も問題ありません。
    DOHCをOFFにして固定IPアドレスに戻すと、デバイス名こそ現れますが、AirPlayデバイスへの接続に失敗します。

  • パパリウスさん

    vi をありがとうございました!
    今までの操作方法で編集できるので助かります。

    それで、問題の続きなのですが、hifiberry-dacに切り替えた直後はmpdの再生はできるのですが、一度リブートすると、起動音も鳴り、
    mpdの再生も実行するのですが(FifoボードのLEDとD70の液晶で確認)、音量が0になるのか分かりませんが、音が出てきません。
    (mixer_type=noneなので音量は最大ででるはず。。。)
    この時、Spotifyとaplayは再生も実行し音も出ます。

    仕方なく、mpdを聞くときはrpi-dacを選択しています。
    起動音はならなくなり、dsfファイルも再生できませんけど。

    ちなみにI2S DAC 対応表によれば、IanFIFO II --- Altera Max II CPLD --- hifiberry-dac になるかと思われます。

    何かログを取る必要がありましたらおっしゃってください。

    ---追記です---
    hifiberry-dacを選択してリブートした後、dsfファイルは再生でき、音も出てきます。ですのでflacファイルのみ音が0になって再生される感じです。こちらの検証は別のSDカードで最初から焼き直してみた結果で、同じ動きでした。

  • 動作確認、不具合報告にご協力いただきましてありがとうございます。

    引き続き、なにかお気付きの点があればこちらのスレッドに書き込みをお願い致します。

    平日はあまりレスポンスできませんが、ご報告いただいた不具合の調査は順次進めてまいります。

  • 本命の Kali Recloker をRP3B→RP4Bへの載せ替えの際に壊してしまったようで、一日復活の努力をしましたが残念ながらハードレベルの損傷のようで諦めました。iis/HDMI経由でD70で聞いてみたかったのですが残念です。

    代わりに digioneを載せてみました。44.1kHzのFLAC一本槍のせいか設定でも動作でも特に問題は発見できませんでした。
    しばらくききれたソースで試聴してみました。音に関して昨日のSabreberry32pro と合わせますとなんとなくこんな感じかなというところが理解できました。

    とても響きが美しいです。Ver0.9.6 のときよりも更にビュアになっている感じです。そしてその中に強さもきちんとあるように思いました。いつもなら最初のリリースで響きは豊かできれいなんだけど強さが、と感じていた予想を裏切る出来です。ただ、フォルテが軽く上ずる感じがあります。強さはあるけど強靭ではないという感じでしょうか。

    しかしながら、本命のiis/HDMI でD70に送れていないので、この原因がどこにあるのか、あまり自信はありません。なんとかiis/HDMIで行けるように早急に復旧したいと思っております。本当の評価はそれ以降になりますのでさて、いつになるか……

    以上、情けない中間報告であります。

  • パパリウスさま

    早速Raspi4bを購入しAllo Digione sigで試してみましたが今のところ問題なく動作しています。今後のチューニングを楽しみにさせていただきます。
    まずは動作報告させていただきます。

  • 遅ればせながら試聴を開始いたしました。現段階でも「これは!」というほど素晴らしい音ですね。音楽に没頭できます。(Digi+Pro環境)

    また、DSDtoPCM(DSF->176.4/24)が可能となりましたこと、感謝感謝です。
    一点、MPDクライアント(当方の場合はyaMPC)からはDSD音源がジャンル、アーティスト、アルバムのいずれから見ても「存在しない」状態になっています。ympdにてフォルダーをたどればフォルダーは見えるので再生可能ですが、MPDクライアントからの選曲指示が現状ではできない状態です。

    別件となりますが、ethtoolコマンドが実装されていないようですので、ympdのnetwork設定で、LAN速度と全二重、半二重の選択ができるようになると更に嬉しいです。

  • ベータテストに参加いだいている皆様へ

    オンラインアップデートの取得先が古いままになっていました。

    お手数ですが、オンラインアップデートを実行する前に下記コマンドを実行しておいてください。

    sed -i s/ver=\"v0.9.x\"/ver=\"v1.0.0b\"/ /usr/local/bin/inplace_update.sh
    

    v1.0.0b2をオンラインアップデートで配信しました。

    <主な変更点>

    • aiffのタグ情報に対応しました。
    • mDNSの対応を強化しました。
    • ethtoolをインストールしました。
    • rc.localを更新しました。(NICオフロードをオフ)
    • pythonのシンボリックリンクを追加しました。
    • サポートプラグインのログ取得対象を増やしました。
    • appコマンド(アプリインストーラ)を追加しました。

    appコマンドについて

    ビルド済みのアプリケーションやプラグインをインストールするためのツールを用意しました。

    vimのインストールを例として、使い方をご紹介します。

    app showcase
    配布サーバにアップロードされているアプリを一覧表示します。

    app search vim
    配布サーバに"vim"で始まるアプリがあるか検索します。

    app install vim
    配布サーバからvimをダウンロードしてインストールします。

    app remove vim
    vimをアンインストールします。

    app show vim
    vimのインストール情報を表示します。

    app list
    インストール済みのアプリを一覧表示します。

  • @パパリウス さま
    もし私の環境のみで発生していたらゴメンナサイですが、

    Mar 16 21:08:54 smpd mpd[574]: /usr/bin/mpd: error while loading shared libraries: libid3tag.so.0: cannot open shared object file: No such file or directory
    

    が記録されてv1.0.0b2でmpd.serviceが起動できなくなっています。
    (一応、裏で別なSDカードイメージ作成しておきます)

  • @パパリウス さま
    再起動後、ブラウザで接続すると「No such file or directory」のアラートが出続けます。
    sshでログインは可能です。
    sunatomoさんの症状と同じなのかもしれません。

  • @sunatomo さん @hawami さん

    ライブラリのインストールがうまくいかなかったようですね。すみません。

    お手数ですが、下記を実行して手作業でインストールをお願いします。

    app install ethtool
    app install nss-mdns
    app install libid3tag
    

    オンラインアップデートのスクリプトに誤植がありlibid3tagのインストールに失敗していたようです。
    ファイルを差し替えて対策済みです。

  • @パパリウス さん

    アップデート後、ブラウザでアクセスすると「No such file or directory」のアラームが出っ放しになります。hawamiさんご報告の現象と同じです。
    念のため、手作業でのインストールも試みましたが、全て「available」と返ってきます。

  • @パパリウス さん
    すみません、よろしければ教えて下さい。
    記載されたコマンドを入力すると以下の表示となりますが、このファイルはどこに配置されているものでしょうか。

    root [ ~ ]# app install ethtool
    ethtool         ethtool-5.4.porg.tar.gz available
    root [ ~ ]# app install nss-mdns
    nss-mdns        nss-mdns.porg.tar.gz available
    root [ ~ ]# app install libid3tag
    libid3tag       libid3tag.porg.tar.gz available
    
  • β2へのアップデートで問題が発生し、パパリウスさまご提示の方法でも解決しなかった場合の
    手動インストール方法について説明します。
    (私の場合、これで復旧しましたので速報です)

    app list コマンドでlibid3tagがなかった場合

    cd /run
    wget -q https://mpd.sytes.net/release/extra/libid3tag.porg.tar.gz
    porgball -e -l libid3tag.porg.tar.gz
    

    その後、再度app listコマンドでlibid3tagがあった場合は再起動するか

    systemctl start mpd.service
    

    でmpdを起動してみて下さい。
    ちなみにmpdが起動しているかは

    systemctl status mpd.service
    

    でわかります。

    ちなみに、app.listによると今回以下のファイルが配信されているようです。

    vim		vim-8.2.0190.porg.tar.gz
    libid3tag	libid3tag.porg.tar.gz
    nss-mdns	nss-mdns.porg.tar.gz
    ethtool		ethtool-5.4.porg.tar.gz
    

    wget並びにprogballをapp.listのスペースを挟んだ右のファイル名に読み替えて下さい。
    恐らく皆さんlibid3tagのインストールに失敗していると思います。

  • @sunatomo さん

    ご指摘の内容で動くようになりました。
    ありがとうございます。