I have been provided with a new Lenovo ThinkCentre M series machine at my office. The machine has decent specs like Pentium dual core. 1GB RAM and 160GB hdd. It came preloaded with windows vista. As I use Linux , I partitioned the hard disk and installed ubuntu8.04. Unfortunately sound is not working under Ubuntu.
I looked at the lspci output and found out the following.
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
Subsystem: Lenovo Unknown device 100f
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at d0120000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
Capabilities: [70] Express Unknown type IRQ 0
A quick Google search for the card revealed several people reporting problems with ALSA, There are several workarounds reported. I thought of installing OSS4. Here is what I did. ( I think OSS is gpl compliant now, I am not sure)
a) I installed the following packages.
$ sudo apt-get install oss-linux
You can also download the latest package from here
b) I use gnome desktop and for gnome utilises ESD for its sound interface.. I installed the following packages.
$ sudo apt-get install esound esound-clients esound-common libesd0 libesd0-dev gstreamer0.10-esd
c) Next you have to prevent the default Alsa modules from loading up. This can be done via a file named
/etc/modprobe.d/blacklist
Execute the following on command line.
$ sudo chmod 776 /etc/modprobe.d/blacklist $ sudo cat /lib/linux-sound-base/noALSA.modprobe.conf >> /etc/modprobe.d/blacklis
Please take a look at /lib/linux-sound-base/noALSA.modprobe.conf. It contains the modules to be blacklisted for ALSA.
d) I added the following additional lines to /etc/modeprobe.d/blacklist
blacklist snd_hda_intel blacklist snd_mixer_oss blacklist snd_pcm blacklist snd_timer blacklist snd_page_alloc blacklist snd_hwdep blacklist snd blacklist soundcore
Now reconfigure the linux sound base.
sudo dpkg-reconfigure linux-sound-base
You will be prompted to select the sound system. Select OSS.
Now reboot the system. The system will load OSS drivers instead of ALSA
You can verify this with)
# ossdetect -v Detected Intel High Definition Audio (ICH8) Detected Generic USB audio device (BETA
The OSS drivers can be loaded and unloaded using the commands
#soundon #soundoff
You can launch a mixer with
$ ossxmix
If you are on gnome you can create a launcher with ossxmix.