秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル
RaspberryPi5 64bit版 というか、Pi5は32bit版がないので64bitになるのですが、Sabreberry32 ドライバのコンパイルに成功しましたので、その方法を書こうと思います。
< Pi5 のRaspberryPi OSは64bitのみ >
Sabreberry32のドライバソースはkernel 6.1からちょっとだけ変更箇所がありました。
諸事情によりメールでお送りする方針でやっております。必要な方はメールください。よろしくお願いします。
■ kernelのビルド
こちらの方法を参考に最新版、もしくは安定版で一度、セルフビルドしてください。
というのも、rpi-sourceが機能しなくなっていて起動中のkernelソースを取得することができなくなっているからです。現在のLinuxのデバイスドライバはkernelと完全にバージョン一致(config情報含めたハッシュが一致)していないと取り込めないセキュリティが掛かっています。
セキュリティ用のハッシュはkernelをビルドすると生成されます。
この記事の「そもそもの話」という部分に少しだけ詳しいことをかきました。
■ Sabreberry32デバイスドライバのビルド
ソース一式をwinSCPなどにてraspberryPi上の/home/piにコピーしたところから始めます。 macな方はSCPコマンドがターミナルから使えるようです。
unzip Sabreberry32_k6.6.zip
cd Sabreberry32_k6.6/
カーネルソースが/home/pi/linux にあることを前提にMakefileが作られています。必要に応じて編集してください。
sudo make all
make dtbs
sudo make modules_install
sudo make coeff_install
sudo make install_dtbo
これでコンパイルとインストールは完了です。
(※)一発でコンパイルからインストールまで実行するようMakefileを変更しました。
■ Sabreberry32デバイスドライバ組み込み
sudo make install
組み込まれたか見てみましょう。
pi@raspberrypi:~/Sabreberry32_k6.6 $ lsmod | grep sabre
sabreberry32 16384 2
sabre9018q2c 20480 2 sabreberry32
regmap_i2c 12288 1 sabre9018q2c
snd_soc_core 315392 5 sabre9018q2c,vc4,snd_soc_hdmi_codec,designware_i2s,sabreberry32
snd_pcm 143360 8 sabre9018q2c,snd_soc_hdmi_codec,designware_i2s,
snd_compress,snd_soc_core,sabreberry32,snd_pcm_dmaengine
大丈夫そうですね。
■ config.txtにSabeberry32指定
sudo nano /boot/firmware/config.txt で編集します。 以前は/boot/config.txt でした。以下 青文字が追記するところです。
dtparam=i2c_arm=on
dtparam=i2s=on
・・・・・・
#dtparam=audio=on
dtoverlay=sabreberry32
#dtoverlay=hifiberry-dacplus-pro
・・・・・・
dtoverlay=vc4-kms-v3d,noaudio
・・・・・・
「Ctrl+X」 「Y」 「エンター」 で保存して閉じます。
サウンドカードを1つだけにすることでmpd設定を簡単にしています。
※ i2c_arm=on としてもi2cが使えないときがありました。 そんなときは
sudo raspi-config
Interface Options -> I2C -> Enable -> <YES> で設定します。
sudo reboot
再起動して確認します。
:::::起動をまちます:::::
pi@raspberrypi:~ $ dmesg | grep sabre
[ 5.361184] sabre9018q2c: loading out-of-tree module taints kernel.
とくにエラーもない様子。
pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SabreBerry32DAC [SabreBerry32DAC], device 0: SabreBerry32 DAC sabre9018q2c-dai-0 [SabreBerry32 DAC sabre9018q2c-dai-0]
Subdevices: 0/1
Subdevice #0: subdevice #0
認識していますね。
ちなみに、Pi5、Pi4で masterモード動作します。 slave指定すればslaveでも動作します。
以下のコマンドから好みのパラメータに設定してご使用ください。
alsamixer
(※) 10/14 pi5 でmaster 動作するようになりましたので記事を一部修正しました。
« RaspberryPi 5 の公式OSは32bit版でも64bit? | トップページ | 秋の夜長にはRaspberryPi5 RT-linux セルフビルド »
「Raspberry Pi」カテゴリの記事
- MotionEyeと余っているラズパイで監視カメラ(2024.11.21)
- 秋の夜長にはRaspberryPi5 RT-linux セルフビルド(2024.10.13)
- 秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル(2024.10.10)
- RaspberryPi 5 の公式OSは32bit版でも64bit?(2024.10.09)
- 秋の夜長にはRaspberry Pi5 64bit カーネル・セフル・ビルド (2024.10.07)
「Sabreberry32」カテゴリの記事
- 秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル(2024.10.10)
- Moode Audio R8.3.3用のSabreberry32ドライバ(2023.07.30)
- Moode Audio R8.0.1用のSabreberry32ドライバリリース(2022.03.31)
- Volumio3.179用のSabreberry32ドライバをリリース(2021.12.30)
- Moode Audio R7.3.0用のSabreberry32ドライバリリース(2021.08.17)
コメント
« RaspberryPi 5 の公式OSは32bit版でも64bit? | トップページ | 秋の夜長にはRaspberryPi5 RT-linux セルフビルド »
Pi5にのっかってるSabreberry32の姿を見れて嬉しいです。
私自身、今までkernelをビルドした事がなく、というかkernelをビルドする意味も知らず
ラズパイで音楽を聴いてきましたが、先日の記事「秋の夜長〜」を読み、
linuxに対する興味が湧いてきました。
いつも丁寧、かつ分かりやすく、素晴らしい情報を発信してくださり、
ありがとうございます。
linux(というかソフトウェア全般)について知識も能力も不足している自分ですが、
Sabreberry32をより楽しむためにドライバのコンパイルをしてみたいと思っています。
もしよろしければ、ドライバのソースを譲っていただければ幸いです。
投稿: あみのん | 2024年10月11日 (金) 07時15分
たかじんさん、
bcm2712では、SND_SOC_DAIFMT_NB_NFは効かなくなった(無視されている)のでしょうか。逆に、明示的にslaveにしないと動かないものもある。
Pi5が出て暫くたちますが、対応方法はあるのでしょうか。
投稿: AYOR | 2024年10月11日 (金) 07時50分
あみのんさん
ありがとうございます。
音楽を楽しむ上でLinuxの知識は必要ないように思われがちですが、この世界では「必要」です(笑)
Linux開発者のリーナスさんがインタビューに答えていた記事には、RT-linuxの修正依頼をかけた人はギターリストだったらしいです。その人の功績で、標準Linuxに RT-linuxが統合されました。 RT-linuxは音が良いという理由でリーナスさんに依頼したとか・・・
ドライバソースは、new_western_electric@yahoo.co.jpまでメールを頂ければ添付して返信いたします。
色々と自分好みのものに仕上げていければと思います。
よろしくお願いします。
AYOR さん
Pi5でもmasterモードで動作するHAT基板があるのでSND_SOC_DAIFMT_NB_NFが無効化されたわけではないハズです。
現在調査中ではあるのですが、ネットワークが切れまくって思うように作業が進みません。
どうも、最新のkernel 6.6.51はネットワークが不安定なようです。 SSH接続すると普通につながるんですが、5~10分くらいで切れてしまいます。 有線も無線もです。
6.6.31ではそんな事ないので、最新版kernel ソースをgetするのは良くないようです。 ラズパイ公式のビルド方法説明としてはそうせざるを得ないのでしょうけど。
投稿: たかじん | 2024年10月12日 (土) 08時56分
この記事です。 とあるギタリストがRT-Linuxを推したという話。
https://japan.zdnet.com/article/35224173/
投稿: たかじん | 2024年10月12日 (土) 09時17分
たかじんさん、
情報有難うございます。
よろしかったら、masterモードで動作するHAT基板を教えて頂けますか。私は、未だ出会えておりません(特にDAC系)。ソースは見れるものでしょうか。
動作確認ができているカーネルをビルドした方が良さそうですね。
投稿: AYOR | 2024年10月12日 (土) 09時57分
AYORさん
SB32+Pro DoPはDACマスターで動いていますよ。マスターモード時に点灯するLEDが光っているので間違いないです。
投稿: たかじん | 2024年10月12日 (土) 13時50分
たかじんさん、
灯台下暗しといいましょうか。
Pi5、64bitカーネルでマスターモードで動作可ということですか。
となると、私が他のものと混同していた...
ということは、HifiberryDAC+PRO等も上記(slaveの明示なしで)で動作可の可能性があるということでしょうか。BCM2712になってクロック関係が変わってしまったと思っていました。
投稿: AYOR | 2024年10月12日 (土) 16時28分
Hifiberryのサイトでは、5.4以上のカーネルでも、HAT上のEEPROMを読みに行かない(あるいはEEPROMがない?)なら、(Raspi5でも?)以前と同じようにドライバーをロードすれば、カードが認識されるという記載はあります。これは、マスターモードで動作することを意味していたのか確認がとれていませんでした。
投稿: AYOR | 2024年10月12日 (土) 16時42分
たかじんさん
Sabreberry32のドライバソースを送信いただき、ありがとうございます。
Pi4 (raspberrypi 6.6.54-v8)にインストールできました。
mpdはキタムラデザインさんのmuteでインストールし、
マスターモードで音が出ています。
syncモードも使えてとても満足しています。
また、RT-Linuxの記事も興味深く拝見しました。
ギタリストがプログラムの躍進に貢献なんて、夢があって良いですね。
投稿: あみのん | 2024年10月12日 (土) 22時08分
AYOR さん
Pi5が出た当初、そういう話が上がっていました。 IO周りが独立したICになり、Pi4と随分変わったからだと思います。
HATのEEPROM搭載は、あまり積極的ではなくなったように思います。 自動でドライバが取り込まれる仕組みを作っていましたが、結局、対応する基板(EEPROMを搭載する基板)が少なかったからでなないでしょうか。
HifiberryDAC+PROは、私も1枚持っていたはずなのですが誰かに貸したきり行方不明です。 おそらくPi5 でもmasterで動作すると思います。
あみのんさん
なんと。早いですね。 成功おめでとうございます。 カーネルソースに安定板があることに気が付いて、先日の記事を修正しました。 6.6.31です。
そして、ちょうどいま、Fully Preemptible Kernel のRt-Linux起動に成功しました。 問題ないか少しチェックしてから紹介する予定です。
お楽しみに。
投稿: たかじん | 2024年10月12日 (土) 22時38分
たかじんさん
rt-kernelは、やはり良いですよね。
当方も、Pi5で動作する非公式のArchLinuxのrt-kernelをビルドして遊んでいます(^^;
投稿: えふ | 2024年10月13日 (日) 19時09分
えふさん
RT-Linuxで再生すると、確かに音が違うんですよね。 緊迫感というか演奏者の気迫が違って聴こえる。
それにしてもPi5の発熱・・・ 夏には向きませんね。
Pi4はeeprom更新により発熱が下がったそうです。
投稿: たかじん | 2024年10月14日 (月) 15時32分
Raspberry Pi5 + Sabreberry32 で Volumio3 を使用したいのですが、
ソースコードを譲っていただけないでしょうか?
宜しくお願いいたします。
投稿: h-taka | 2024年12月17日 (火) 14時19分
h-takaさん
お手数ですが、以下までメールをお願いいたします。
new_western_electric@yahoo.co.jp
投稿: たかじん | 2024年12月18日 (水) 19時29分