事のはじまりはRaspberryPi5でPCIeカードを動作させることが可能になった事だった。
実際にサウンドカードを刺してみるとモジュールがロードされるのにalsaでは認識されない不具合が発生した!
確認のためその環境のままRaspberryPi4で問題なく動作していたI2S出力可能なHATを取り付けてみると
あれ!I2Sデバイスを認識しない!という困った状況が発生!そこから色々弄り始めたが自己破壊モードに入ったり(笑)
何度もやり直しテストが続いた...とにかく思いつく限りのキーワードでネットを検索していたら
前記事を見つけてこれだ!って思った。
この一行が鍵だった!!
dtoverlay=hifiberry-dacを併用すると有効になる
kkuma@raspberrypi:~$ uname -a (※通常のImagerでインストール可能なラズビアンで成功したのが嬉しい!)
Linux raspberrypi 6.6.20+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux
kkuma@raspberrypi:~$ cat /boot/firmware/config.txt
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
dtparam=i2s=on
dtoverlay=hifiberry-dac
dtoverlay=i2s-dac
kkuma@raspberrypi:~$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: vc4hdmi0 [vc4-hdmi-0], デバイス 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: vc4hdmi1 [vc4-hdmi-1], デバイス 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 2: sndrpirpidac [snd_rpi_rpi_dac], デバイス 0: RPi-DAC HiFi pcm1794a-hifi-0 [RPi-DAC HiFi pcm1794a-hifi-0]
サブデバイス: 0/1
サブデバイス #0: subdevice #0
追加でソースからalsacapコマンドを追加して見たが
kkuma@raspberrypi:~$ alsacap
*** Scanning for playback devices ***
Card 0, ID `sndrpirpidac', name `snd_rpi_rpi_dac'
Device 0, ID `RPi-DAC HiFi pcm1794a-hifi-0', name `RPi-DAC HiFi pcm1794a-hifi-0', 1 subdevices (1 available)
2 channels, sampling rate 8000..192000 Hz
Sample formats: S16_LE, S24_LE
Buffer size range from 32 to 131072
Period size range from 16 to 1024
Subdevice 0, name `subdevice #0'
拡張kernelを作りたいが...作リ方が分からない...
※注意事項
自分の環境はサウンドデバイスを使用せずRaspberryPi5のI2S出力ピンから
直接I2S信号を取り出している。
その後にAK4137基板でMCLKを加えDACへ送信している状態で音出し成功...
この記事に対するコメントはありません
Comments