Saturday, March 27, 2010

No Sound (or: What the Plumber Taught Me About Linux)

Last week ended with our downstairs neighbor knocking at our door, to complain about a water leak from our apartment. He's a soft spoken fella, always calm, and always right. He annoys me to no end.

He was right of course. It took a minute to find the leak, close to the apartment's master water tap. It was a slow, but steady, dripping, that caused the trouble. The pipe itself looked all rusted and about to blow.

Quite a bit of water - and a hefty sum of money - went down the drain during the next few days, as a pair of nitwit plumbers worked on fixing the leak. I got a living proof that if anything gets rewarded it is initiative, not intelligence.

With a looming deadline at work, this was pretty much too much for my taste. Imagine my annoyance when I found, after a casual reboot of my Debian box, that I had no sound.

I noticed this one evening after that reboot, while trying to relax - I was attempting to view animated films over at NFB.ca. I tried turning up the volume with the knob on the speakers, verified that they were turned on and connected properly, and then used the volume multimedia keys on the keyboard to turn the volume up, and then used alsamixer at the command line to turn the volume up, and then... Nothing worked. There was no sound.

There were no obvious errors in the log files at /var/log. lspci listed the device as
00:08.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 02)
lsmod told me that the relevant Kernel module, snd_ali5451, was loaded.

All is well, but still no sound.

I rebooted the box. Nothing.

I shut down the box and then turned it on again. Nada.

What now? I was stumped. I was pissed. I was tired. Can't a guy enjoy a cartoon when he feels like it?

Well, as I said, it's initiative that gets rewarded, so I continued fuzting around until I found alsactl:
root@machine-cycle:~# alsactl init
Unknown hardware: "ALI5451" "Analog Devices AD1886" "AC97a:41445361" "0x0e11" "0x00b0"
Hardware is initialized using a guess method
and voilĂ ! sound was working again.

I have no idea what went wrong, and I guess it's likely to happen on the next reboot, but till then I have sound and I really don't care.

No comments:

Post a Comment