Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6.0 beta 3 broke snd-hifiberry-digi dtoverlay #4238

Closed
foresto opened this issue Jul 17, 2015 · 10 comments
Closed

6.0 beta 3 broke snd-hifiberry-digi dtoverlay #4238

foresto opened this issue Jul 17, 2015 · 10 comments

Comments

@foresto
Copy link
Contributor

foresto commented Jul 17, 2015

I upgraded from 6.0 beta 2 to 6.0 beta 3 on my Raspberry Pi 2, and found that my optical audio output no longer works. The device is no longer listed in Kodi's audio output options, and dmesg reports the following:

[ 4.563762] snd-hifiberry-digi sound: ASoC: CPU DAI (null) not registered
[ 4.563788] snd-hifiberry-digi sound: snd_soc_register_card() failed: -517
[ 4.845912] snd-hifiberry-digi sound: ASoC: CODEC DAI wm8804-spdif not registered
[ 4.845946] snd-hifiberry-digi sound: snd_soc_register_card() failed: -517

Here's the relevant line from /flash/config.txt:

dtoverlay=hifiberry-digi

@HiassofT
Copy link
Contributor

CONFIG_SND_SOC_WM8804_I2C=m is missing in the kernel config.

But there's also another issue, the RPi linux support patches needs updating. The devicetree settings are wrong and I2S cards won't work at all on B+ and RPi2.
raspberrypi/linux#1046

Could you try if this build works (I don't have any Hifiberry cards)
http://www.horus.com/~hias/tmp/OpenELEC-RPi2.arm-6.0-devel-20150717133012-r21123-g4f65955.tar

Here's a tree with updated kernel patches and config (based on master, so 2 commits ahead of 6.0b3).
https://github.com/HiassofT/OpenELEC.tv/tree/rpi-i2s

I've taken the kernel config changes from the Milhouse builds. ping @MilhouseVH could you have a look at them if they are fine?

If the build works fine I can make a PR

@MilhouseVH
Copy link
Contributor

ping @MilhouseVH could you have a look at them if they are fine?

Yep, looks fine, I've been including the Wolfson I2C driver in my builds for a while now and I don't think it's had any positive effect where Hifiberry Digi is concerned.

These are the kernel config patches I'm using on top of OpenELEC master HEAD and rpi-4.1.y:

Mailbox options - See PR1037
Sense HAT Joystick - See PR1043
Wolfson I2C - Enable Wolfson 8804 I2C module

Even after including the Wolfson I2C driver, adding dtoverlay=hifiberry-digi results in the same errors in dmesg, so it may just be that the current driver is incompatible with the 4.1.x kernel.

I'll ask in the test thread for an update on Hifiberry Digi status, as it's not been mentioned for a while now, but suspect it's still broken.

@HiassofT
Copy link
Contributor

@foresto if the RPi2 build I linked above doesn't work could you please post the full dmesg output?

dmesg | pastebinit

Errorcode 517 by itself isn't a hard error, it's EPROBE_DEFER and means that the driver requests to be probed again at later time, usually when it encounters that another driver or subsystem it depends on isn't ready yet.

The order in which modules are loaded by the kernel isn't 100% deterministic, especially if there's no module (soft-) dependency available. With the deferred probing mechanism all parts should finally find together but we might have some of those 517 errors in dmesg before that happens. Not really nice, but that's how it is currently implemented.

This means we have to look at other parts in dmesg for possible errors from the wm8804 module.

It's still a little bit puzzling to me why the wm8804 driver wouldn't work. The Wolfson/Cirrus card also uses the wm8804 driver and I've got it working fine with my kernel 4.1 and OpenELEC trees. With the RPi1 I get a lot of those 517 errors though before the driver finally loads. The only major difference wm8804-wise is that I have voltage regulator support enabled in the cirrus kernel.

@popcornmix
Copy link

@foresto
Also include output of
vcdbg log msg
which might indicate if there is an issue with enabling device tree or loading the DT overlay.

I'm fairly sure HifiBerry has been working on 4.1 kernel (under raspbian). And didn't graealex have HifiBerry Digi+ working with 4.1 kernel:
http://forum.kodi.tv/showthread.php?tid=224025&pid=2033744#pid2033744

@foresto
Copy link
Contributor Author

foresto commented Jul 19, 2015

Could you try if this build works (I don't have any Hifiberry cards)
http://www.horus.com/~hias/tmp/OpenELEC-RPi2.arm-6.0-devel-20150717133012-r21123-g4f65955.tar

Yes, that build seems to work. The device showed up as an option in Kodi's audio settings again, and once selected, I could once again hear GUI navigation sounds. (I was in a hurry, so I didn't check media playback.)

For the record, I'm using a TinyTOSLINK, not a HiFiBerry Digi. Same chip and driver, though.

@foresto
Copy link
Contributor Author

foresto commented Jul 19, 2015

This means we have to look at other parts in dmesg for possible errors from the wm8804 module.

The four lines I posted were the only ones in dmesg containing the strings wm88 or hifi. Here is the full dmesg and vcdbg output from the non-working build (6.0 beta 3, aka 5.95.3).

@javaboyuk
Copy link

Hi I have a Hifi Berry digi+ on rpi-2, it works with the above r21123 build and also the MilhouseVH builds on the forum for rpi-2 up to #701 ( I have not tried the builds based on kodi 16 hence my switch to Beta 3 when it came out :-)).

@comxd
Copy link

comxd commented Jul 25, 2015

@foresto
Copy link
Contributor Author

foresto commented Sep 4, 2015

Looks like it's working again in 5.95.4.

@chewitt
Copy link
Contributor

chewitt commented Sep 4, 2015

closing ticket, thanks for confirming back :)

@chewitt chewitt closed this as completed Sep 4, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants