Can the original (previously Wolfson) Cirrus Logic audio card be made to work with Volumio 3.449?

I edited the file as you suggested from the desktop, but when I checked it I used ssh from the desktop into the pi.

I’ve checked the card is firmly attached, run the commands again, but got the same result.

editing from a linux system is fine, it’s not the problem

please make sure the connections are good

Yes, seems firmly attached. I’ve run the commands again, but same result.

Is there another command to check it’s seen by the OS?

PS When last used (years ago) it was definitely working. At that time I used Max2play as the OS and it recognised and deployed the card.

I think I’ve found the problem.

the dt-overlay has been renamed in the most recent kernels, for the kernel 5.10.x we use on Volumio, the name is the old one.

please edit the string on /boot/userconfig.txt as following

dtoverlay=rpi-cirrus-wm5102

and do again the procedure

Here we go:

volumio@volumio-rpb:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
card 2: RPiCirrus [RPi-Cirrus], device 0: WM5102 AiFi wm5102-aif1-0 [WM5102 AiFi wm5102-aif1-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
volumio@volumio-rpb:~$ amixer controls
numid=4,iface=MIXER,name='Master Playback Switch'
numid=3,iface=MIXER,name='Master Playback Volume'
numid=2,iface=MIXER,name='Capture Switch'
numid=1,iface=MIXER,name='Capture Volume'
volumio@volumio-rpb:~$ 

That seems to have got a result at last. Though no change from the amixer controls command - were you expecting something related to the audio card?

the amixer request was an attempt, not 100% required to have this HAT in the DAC list.

you should be able to use the HAT right now, keeping I2S DAC OFF and selecting the new entry from the drop-down selection.

Maybe you have to change the default control for volume or change something from Alasamixer to enable the SPDIF output. Please let me know, so I can move forward with creating a pull-request

OK, thanks, definite progress, in that, as you say, I can now choose the cirrus card from the drop-down menu; but no sound! Checking that all connections are good, I took the jack out the cirrus line-out, plugged it into the pi headphones socket, and immediately plenty of sound.

Is the fact that the Cirrus card now appears in the Output Device drop-down menu due simply to that userconfig.txt edit, or is it also dependent on the system finding the actual hardware card? (If the latter, we know it’s probably not a HAT connection problem but more likely software configuration?)

PS I’m not needing the SPDIF output as it’s a purely analogue amplifier.

1 Like

if the card is listed with aplay -l, it means it’s recognized and configured by the OS.

some HATs require to change settings via alsamixer, but not having the board in my hands I can’t tell you what to change

looking at the previous thread from @pauljwells , he downloaded this collection of scripts and run “./Playback_to_Lineout.sh” to have sound coming out from the green connector

Thanks, that’s helpful.

I see @pauljwells is posting for a Pi B and with Volumio v. 2.861. Mine’s a B+ running Vol. 3.449 . Could it cause problems to follow his guide step by step?

I later installed v3 without problems. I found the json file mod was not working but I could still get sound. Follow the thread down, it’s a bit of a journey.

Feeling an utter muppet, but having got as far as downloading the .tgz scripts, I couldn’t extract, because I assume at that crucial step after having created the bin folder, you assume everyone will know how to extract to it, as represented by your three dots, but muppets like me, who follow to the dot instructions they don’t fully understand, I simply got “No such file or directory”.

I’m assuming I need to find where the scripts file was downloaded to and extract it to the new bin folder. I can probably work out how to do that, but for fear of screwing up I thought it best to check first.

It should be in the same directory you were in when you executed the download command, most likely your home folder.
To extract it use tar -xf

Thanks. OK, got that done, but now run into a fresh problem: after rebooting I can’t access the web interface any more! It shows up as connected to the router, with same IP address, and I can still connect with SSH, but web interface stubbornly refuses connection. I’ve cleared the cache in Firefox, but still same result: Problem loading page / Unable to connect

I tried finding it with the Android app on my phone too, but nothing found. I don’t understand it.

Could this be related to the changes I’ve made or bad luck timing of a completely separate issue?

It shouldn’t have been caused by anything you’ve done! Try turning off Volumio, phone and router then switching them back on. Wait for the router to come up fully before turning Volumio on.

Thanks. I’ll try that, though I’ll have to wait (probably quite some time) before I can turn off router and phone without inconveniencing others.

The opportunity came sooner than expected, but sadly no joy. Grr!

Reflash the sd card and start again? Give up? Any other suggestions? :sweat_smile:

yes, better to flash again and start from a fresh system

1 Like

Finally had success after a fresh install of Volumio. Cirrus card now recognised and outputting that sweet sound. Thanks so much for all the help along the way.

2 Likes

At this stage after a fresh install I was still uncertain about unpacking the tgz file, probably because I’ve not done much moving around of stuff in the terminal. I figured it wouldn’t be necessary to create a bin folder if one wasn’t going to use it for something, so instead of < cd bin > I stayed where I was and ran
< tar -xf cirrus-ng-scripts.tgz -C bin > which did the trick. (And in case anyone else comes to look at this, don’t confuse the bin folder you created with /bin. I did that and had to carefully remove all the cirrus bash scripts from /bin!)

well done!

enjoy your Volumio system!