Hias's diagnosis seems good to me .... there are several possible errors in the wiring that are possible and Hias has mentioned errors in the data in/out wiring. You should also check the two clock pins (bit and frame clocks). That you can hear the microphone in headphones is good news in the sense it shows that the Wolfson card is for the most part working but, as Hias says, it does not show that the I2S bus is functionning correctly (amixer programmes the Wolfson over SPI/I2C and your audio connection rests entirely within the 5102).
Do you have a photograph of the modification you have made (which shows the connections)?
1 of 1 people found this helpful
It looks like you have the wires on pin 3/4 and 5/6 of J5 swapped. See the pic in post 131 Re: New reworked driver for Wolfson/Cirrus Logic audio card and pcb layout in post 128 Re: New reworked driver for Wolfson/Cirrus Logic audio card for correct wiring.
I decided to cut off pin12 on the Raspberry Pi board. I was able to install the Cirrus drivers successfully. However, there is no audio output when I use Line Out/headphones .
vcgencmd - https://pastebin.com/js53Fbdq
sudo vcd log msg - https://pastebin.com/hPjHMspV
lsmod - https://pastebin.com/cz15rF7Q
aplay - https://pastebin.com/g82ZBbt1
config.txt - https://pastebin.com/kTjxybSe
Thanks a lot that was it.
I was forgetting that the layout should be reversed
You have made the four connections as per Eric Sorgeri I presume ? (AFTER the revision mentioned by Hias). I am guessing that you are plugging the wolfson direct onto the pi .... in which case you need to solder a wire onto pin 12 of the pi 40 way connector (removing the pin stops you having to modify the wolfson card by microsurgery) and solder or plug three wires onto the 40 way connector ..
P5 Pin 3 to GPIO Pin 12 (taken from a jump wire connected to the solder pad on the 40 way connector)
P5 Pin 4 to GPIO Pin 35
P5 Pin 5 to GPIO Pin 38
P5 Pin 6 to GPIO Pin 40
And be careful, at various stages many of us (me included) have mis-identified which pin is which on P5! Hystrix's post (https://www.element14.com/community/servlet/JiveServlet/showImage/2-218914-388498/Wolfson.PNG ) is a particularly clear photo of how to make the connections ...... the short blue wire in his photo will be a little different for you as he modified his Wolfson. For you this will connect to the wire you have soldered to the pad of pin 12 on the 40 way connector
I have just brought a couple of these extension cables. My intention is to separate out the wires connecting pins 12,35,38,40 and re-route these to J5 on the Wolfson. For one of my applications this gives the benefit of a lower profile solution, no need to hack J5, the Wolfson card itself or the pi, and just 4 easy solder connections. I hope it will be a pretty tidy solution. It just depends on whether you prefer stacked or side by side. Additional cost is 3.90 euros.
I'm getting an error in my kernel log:
[ 11.125024] snd-rpi-cirrus soc:sound: wm5102-aif1 <-> 3f203000.i2s mapping ok
[ 50.773845] arizona spi0.1: ASRC underclocked
[ 47.957605] bcm2835-i2s 3f203000.i2s: I2S SYNC error!
and a device busy when trying to play something with aplay.
do you know what this is Hias?
Those 2 message (ASRC underclocked and I2S SYNC error) are harmless, you can ignore them.
aplay reporting "Device or resource busy" usually means some other application is using the audio device. Are you maybe running pulseaudio?
You can check which program is using the audio device with the following command:
fuser -v /dev/snd/pcmC0D0p
before I came here, I searched the heck out of the internet. But I can't find the hint to the correct solution.
I installed a fresh version of LibreElec (8.2...) to my RPi3 with the Cirrus Logic Card on top of it, enabled the overlay by dtoverlay...wm5102.
The Rpi-Cirrus Analog does not show up in the list of sound devices in the sound settings. What am I doing wrong?
Thanks in advance
First double check that you don't have a typo in the dtoverlay line. It must read
If you're sure that's correct but it still doesn't work post your dmesg
dmesg | paste
So, i found the culprit... i switched the other option:
which then resolved the problem itself...
Thank you so much for your work man!
just tried to get my new installation of MusicBox running with the Cirrus Logic Audio Card on my RaspPi, but failed when I connected via SSH and issued the command "sudo rpi-update" as described in the your very first contribution to this thread.
Putty says: "sudo: rpi-update: command not found".
Do you have any idea what I got wrong???
Thanks in advance
I'm not familiar with MusicBox, but if it's Raspbian based and not too old there's a chance the kernel already includes the driver. In that case you only need to enable the driver via config.txt and download the mixer scripts.
If the kernel is too old and the MusicBox is based on Raspbian you may first need to install rpi-update (via apt-get).
I've been working on a driver rework, mainly to get rid of the requirement to carry around a bunch of patches to upstream driver code, and also to fix some outstanding issues and introduce some new features.
Most issues have been ironed out so here's the first public release.
Edit: the driver has been included in official RPi kernels. Just run sudo rpi-update to install it.
You still have to install the mixer scripts and add the /etc/modprobe.d file. See my website for details
Precompiled kernel: http://www.horus.com/~hias/tmp/cirrus/cirrus-ng-linux-4.9.0.tgz
New mixer scripts: http://www.horus.com/~hias/tmp/cirrus/cirrus-ng-scripts.tgz
- The new driver bases on the rather fresh kernel 4.9.0 which means there's some risk of (yet unknown) issues. Use it at your own risk and please run "rpi-update" to get the latest firmware before installing the new driver.
- The soundcard name has been changed from "snd_rpi_wsp" to "RPi-Cirrus", also several ALSA controls have been removed and new ones were added. This means the old usecase scripts and any custom-made scripts will no longer work. Use the new mixer scripts instead of the old usecase/listen scripts.
- The new driver supports setting (and receiving) of the S/PDIF channel status bits (aka AES bits). If you add an ALSA card configuration file this means applications like Kodi can do proper AC3/DTS passthrough. A sample card configuration file (plus the mixer scripts) can be found here: https://github.com/HiassofT/rpi-cirrus-config
- I haven't fully updated the documentation on my website RPi Linux driver for Wolfson / Cirrus Logic Audio Card yet, will do that during the next weeks/months. But except for the things noted above most stuff should still work as in previous driver versions.
Please report back if you tested the driver (either successfully or unsuccessfully), any feedback will help me!