How to get a patched alsa kernel module installed on your Linux system ---------------------------------------------------------------------- This document describes how you can build and install a patched Linux alsa kernel module on a Debian GNU/Linux (or Ubuntu) system. You need this if stock alsa does not support your sound card or microphone. Suppose your hacked alsa-driver sources are in alsa-driver-1.0.23-5.15rc21-1.tar.bz2. Unpack this tarball: $ tar jxf alsa-driver-1.0.23-5.15rc21-1.tar.bz2 Next to these patched sources, get the sources as used by Debian: $ apt-get source alsa-source Now, Debian's sources are in alsa-driver-1.0.23+dfsg, our hacked sources are in alsa-driver-1.0.23. We "steal" the Debian packaging: $ mv alsa-driver-1.0.23+dfsg/debian alsa-driver-1.0.23/ $ cd alsa-driver-1.0.23 (NB: This is a very crude way to Debianize our initial tarball. It only works as long as Debian's own patches for the alsa-driver code do not conflict with our. We're lucky this time: the patches in alsa-driver_1.0.23+dfsg-2's debian/patches are ok for us. Furthermore, extracting a nice patch from our tarball and adding that to debian/patches/ and debian/PATCHES.Debian would be The Right Way to do it. Since this is a local package, we choose the quick and dirty approach.) Update the version, to reflect our changes: $ dch -l local "Added patch which does foo." Build our Debianized patched sources: $ debuild -us -uc This yields in directory .. : alsa-base_1.0.23-5.15rc21-1-0local1_all.deb alsa-driver_1.0.23-5.15rc21-1-0local1_i386.changes alsa-driver_1.0.23-5.15rc21-1-0local1.debian.tar.bz2 alsa-source_1.0.23-5.15rc21-1-0local1_all.deb alsa-driver_1.0.23-5.15rc21-1-0local1.dsc linux-sound-base_1.0.23-5.15rc21-1-0local1_all.deb alsa-driver_1.0.23-5.15rc21-1-0local1_i386.build NB: The kernel modules have not been build yet. Only the part which is independent of the specific kernel version has been build. Install these packages: # dpkg -i *.deb NB: Among others, we installed alsa-source_1.0.23-5.15rc21-1-0local1_all.deb. This "binary" package contains the C source code; it installs these sources in /usr/src/alsa-driver.tar.bz2 . # m-a update Check wether module-assistant knows about our new package: # m-a list alsa Our version should show up. # m-a build alsa This yields alsa-modules-2.6.32-5-686_1.0.23-5.15rc21-1-0local1+2.6.32-44_i386.deb. It contains kernel modules like: /lib/modules/2.6.32-5-686/updates/alsa/acore/snd.ko /lib/modules/2.6.32-5-686/updates/alsa/pci/hda/snd-hda-codec-realtek.ko /lib/modules/2.6.32-5-686/updates/alsa/pci/hda/snd-hda-intel.ko Install it: # dpkg -i /usr/src/alsa-modules-2.6.32-5-686_1.0.23-5.15rc21-1-0local1+2.6.32-44_i386.deb Now run alsamixer to adjust your settings. Press F5 so that both soundcards _and_ microphones are shown. Does it work? ------------- Test the soundcard by running $ aplay /usr/share/sounds/alsa/*.wav Test the microphone by running $ arecord -v -v /tmp/sound.wav Make some sound. Press ^C. Listen to the recording: $ aplay /tmp/sound.wav Author, copyright ================= Copyright (C) 2012 Joost van Baal-Ilić Redistribution and use, with or without modification, are permitted provided that the above copyright notice, this condition and the following disclaimer are retained. This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # http://git.mdcc.cx/ad1810-doc.git