I have spend the better half of today, trying to get my Raspberry Pi 2 with kernel 4.1 to work with a HiFiBerry DAC+ Light - to no avail.
Here are the details:
- Raspberry Pi 2, fresh install of Raspbian Jessie (Version: November 2015; Release date: 2015-11-21; Kernel version: 4.1)
- Ran firmware and kernel update (Linux pi-b1-kitch 4.1.17-v7+ #834 SMP Mon Feb 1 15:17:54 GMT 2016 armv7l GNU/Linux)
- HifiBerry hardware works fine, tested with test tone generator image
- HifiBerry installation according to https://www.hifiberry.com/guides/configuring-linux-3-18-x/
- Neither speaker-test nor any other tools produce any sound whatsoever.
- Extract from dmesg:
[ 5.036929] snd-hifiberry-dac sound: ASoC: CPU DAI (null) not registered
[ 5.036980] snd-hifiberry-dac sound: snd_soc_register_card() failed: -517
[ 5.652602] bcm2835-rng 3f104000.rng: hwrng registered
[ 5.659996] snd-hifiberry-dac sound: ASoC: CPU DAI (null) not registered
[ 5.660040] snd-hifiberry-dac sound: snd_soc_register_card() failed: -517
[ 5.662263] bcm2708_i2c 3f804000.i2c: BSC1 Controller at 0x3f804000 (irq 79) (baudrate 100000)
[ 5.662594] snd-hifiberry-dac sound: ASoC: CPU DAI (null) not registered
[ 5.662617] snd-hifiberry-dac sound: snd_soc_register_card() failed: -517
- aplay -l:
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
I also tried to deactivate on-board audio yet found no clean way of doing so. In general, I would prefer to keep it active.
- In /etc/asound.conf, I set default to card 1:
pcm.!default {
type hw card 1
}
ctl.!default {
type hw card 1
}
Based on other posts here in the forum, I have the impression there is something generally wrong with the 4.1 kernel and HifiBerrys.
Please advice!
4 comments
-
HiFiBerry team Hi,
I'm not aware of any general problem. However, speaker-test is not a good tool for testing as you need the correct command line parameters to generate a test tone with the correct number of channels. Check out this article about our recommendations to play test tones:
https://support.hifiberry.com/hc/en-us/articles/205322332-Playing-test-sounds
If this doesn't work for you, please post the output of the tool here.
Best regards
Daniel -
Chris S. Hi Daniel
I just tried the sox package's play command (play -n synth sine 1000). Output is generated through Pi's built-in audio module, i.e. the configuration in /etc/asound.conf is obviously being ignored.
Any ideas?
Best,
Chris -
HiFiBerry team Hi Chris,
we strongly recommend to disable the onboard sound as some applications might just use card 0.
Disable the onboard sound by adding dtparam=audio=off to your config.txt.BTW: Is there any reason why you configure the system by hand? The easiest way is usually using the HiFiBerry installer:
https://www.hifiberry.com/guides/hifiberry-installer/
Best regards,
Daniel -
Chris S. Hi Daniel
Disabling onboard audio did the trick - thank you! However, I still do not understand why changing the default sound device just did not work. Something must have changed in Jessie - the whole ALSA configuration looks quite different compared to previous versions.
Re the installers, I prefer to have a setup based on standard distributions plus a number of scripts to setup everything. Makes things a bit harder in the first place (as we can see <g>), but tends to pay off in the long run if you have multiple devices with lots of software on them. :-)
Thanks again for your help!
Best,
Chris