SOLVED: Pi Musicbox can't find any sound cards

Hello folks:

My Pi Musicbox lost track of its (built-in) sound card when I went from a USB audio chip back to the built-in analog audio, but I solved it with some advice from the internet. I was surprised that I couldn’t find the solution here (what, this has never happened to anyone else?), so I thought I would post my experience here.

After removing a broken USB audio device from my Raspberry Pi B running Pi Musicbox v0.7.0 RC5, I was puzzled to find that the device would no longer fully boot up. Right after it said:

***********************
Initializing MusicBox...
************************

it launched in detecting the sound devices, dying when it couldn’t find any:

Setting sound configuration...
Card=  i2s=  output=auto  usb=  intc=
No output was specified/found, falling back to auto detection
Card=  i2s=  output=analog  usb=  intc=
****************************
WARNING: No audio card found
****************************

Diagnosing the problem was difficult, since the sound card detection is the first thing that Pi Musicbox does, even before starting the ssh daemon, so it was hard to get in once the detection failed.

I finally traced it to the

aplay -l

call, which wasn’t finding any devices, even the built-in analog sound card.

I searched on ‘aplay no soundcards found’, which led here for the following suggestion:

Try adding dtparam=audio=on to /boot/config.txt

Being that, in Pi MusicBox, /boot/config.txt doesn’t exist, you can simply:

echo "dtparam=audio=on" > /boot/config.txt

and reboot, and the built-in analog card is once again detected.

I have no idea what went wrong, or why this works, but here it is for those who might have a similar problem.

Keith

Very weird, because it does always exist! I’ll see if it’s possible to get in a state where the automatic editing of that file fails (power loss, bad sd card?) and see if that could result in the original file being deleted.

Thanks for looking into this.

I made a mistake in my sentence: /boot/config.txt existed, but was empty.

Keith