📚 LinuxDocs
Topics:
All Pages8021X HOWTOACP ModemACPI HOWTOADSL Bandwidth Man..ATA RAID HOWTOATM Linux HOWTOAX25 HOWTOAccessibility Dev ..Accessibility HOWTOAdv Bash Scr HOWTOAdv Routing HOWTOAntares RAID sparc..Apache Compile HOWTOApache WebDAV LDAP..Assembly HOWTOAstronomy HOWTOAthlon Powersaving..Authentication Gat..Autodir HOWTOAviation HOWTOAvr Microcontrolle..BRIDGE STP HOWTOBTTVBackspaceDeleteBandwidth Limiting..Bangla HOWTOBash Prompt HOWTOBattery PoweredBelarusian HOWTOBelgian HOWTOBeowulf HOWTOBocaBogoMipsBootdisk HOWTOBridgeC++ dlopenC C++Beautifier HO..C editing with VIM..CDROM HOWTOCDServer HOWTOCable ModemCaudium HOWTOClone HOWTOCompaq Remote Insi..Compaq T1500 HOWTOConexant+Rockwell ..Cryptoloop HOWTODB2 HOWTODHCPDSL HOWTODVD Playback HOWTODebian Binary Pack..Debian JigdoDebian and Windows..Disk Encryption HO..Disk on Chip HOWTODocBook Demystific..DocBook InstallDocBook OpenJade S..Ecology HOWTOEmacspeak HOWTOEncourage Women Li..Encrypted Root Fil..Euro Char SupportEvent HOWTOFedora Multimedia ..Finnish HOWTOFirewall PiercingFlash Memory HOWTOFont HOWTOFramebuffer HOWTOGCC HOWTOGIS GRASSGlibc Install HOWTOHOWTO HOWTOHOWTO INDEXHP HOWTOHandspring VisorHard Disk UpgradeHardware HOWTOHighQuality Apps H..Home Electrical Co..IBM7248 HOWTOIO Perf HOWTOIP AliasIP Masquerade HOWTOIRCImplement Sys Call..Indic Fonts HOWTOInfrared HOWTOIngresII HOWTOInstall StrategiesInstallation HOWTOInstallfest HOWTOIntkeybItalian HOWTOJabber Server Farm..JavaStation HOWTOKerberos Infrastru..Kernel HOWTOKerneldKodak Digitalcam H..LDAP HOWTOLDP Reviewer HOWTOLILO crash rescue ..LVM HOWTOLeased LineLegoLinksys Blue Box R..Linux+Win95Linux+Win9x+Grub H..Linux+Windows HOWTOLinux Complete Bac..Linux Crash HOWTOLinux Gamers HOWTOLinux Modem SharingLinux Promise RAID..Linux i386 Boot Co..LinuxGL QuakeWorld..Lotus DominoR5MILO HOWTOMMBase Inst HOWTOMP3 CD BurningMail User HOWTOMajordomo MajorCoo..Man PageMasquerading Simpl..Medicine HOWTOMindTerm SSH HOWTOMobile IPv6 HOWTOMock MainframeModule HOWTOModulesMotorola Surfboard..Mozilla OptimizationMulti Distro DevNCURSES Programmin..NFS HOWTONFS Root Client mi..NIS HOWTONetMeeting HOWTONetwork boot HOWTONvidia OpenGL Conf..OLSR IPv6 HOWTOOnline Troubleshoo..Oracle 9i Fedora 3..PA RISC Linux Boot..PCTel MicroModem C..PHP Nuke HOWTOPPP HOWTOPagerPalmOS HOWTOPartitionPartition Mass Sto..Partition Mass Sto..Partition RescuePine ExchangePortSlavePost Installation ..Postfix Cyrus Web ..Pre Installation C..Print2WinPrinting HOWTOProcess AccountingProgram Library HO..Proxy ARP SubnetQmail ClamAV HOWTOQmail VMailMgr Cou..Querying libiptc H..RPM HOWTOReading List HOWTORedHat CD HOWTOReliance HOWTORemote BridgingRemote Serial Cons..SCSI 2.4 HOWTOSCSI Generic HOWTOSLIP PPP EmulatorSRM HOWTOSSL Certificates H..Scanner HOWTOScientific Computi..Scripting GUI TclTkSecure CVS PserverSecure Programs HO..Security HOWTOSecurity Quickstar..Security Quickstar..Serial Laplink HOWTOSerial Programming..Slovak HOWTOSmall MemorySmart Card HOWTOSoftware Proj Mgmt..Software Release P..Sound HOWTOSpam Filtering for..Speech Recognition..SquashFS HOWTOSybase ASA HOWTOSybase ASE HOWTOSybase PHP ApacheTCP Keepalive HOWTOTamil Linux HOWTOTimePrecision HOWTOTimeSys Linux Inst..Token RingTraffic Control HO..Traffic Control tc..UPS HOWTOUnix Hardware Buye..Unix and Internet ..UpgradeUsenet News HOWTOUser Authenticatio..VB6 to TclVMS to Linux HOWTOVPN HOWTOValgrind HOWTOVideoLAN HOWTOVim HOWTOVirtual WebWebcam HOWTOWikiText HOWTOWindows Newsreader..Wireless Link sys ..Wireless Sync HOWTOXDM XtermXDMCP HOWTOXFree Local multi ..XFree86 HOWTOXFree86 R200XFree86 Second MouseXFree86 Video Timi..XML RPC HOWTOXWindow Overview H..XWindow User HOWTOXinerama HOWTOXterminalsHtml singleI810 HOWTOLibdc1394 HOWTOOpenMosix HOWTOPhhttpd HOWTOPpp sshText
Next Previous Contents

2. The integrated sound board

2.1 ALSA versus the AC'97 Driver

I have used both solutions successfully. However I noticed while working on a speech synthesis system (I was involved in a small accessibility project), that the kernel driver does not seem to be able to re-sample, whereas Alsa does it perfectly. [Open Source XML]

2.2 Alsa

Getting the ALSA drivers

So we will be compiling the latest sources from ALSA, which should work for all other distributions as well... only the kernel sources will change because mandrake uses specific patches.

You may get your kernel sources from your distribution or from .:: writeablog.net ::. http://www.kernel.org

Here can be found Mandrake sources for the kernel used in 8.0: .:: google-index-page-speedyindex.vercel.app ::.

ftp://ftp.univ-savoie.fr/pub/Linux/Mandrake/8.0/i586/Mandrake/RPMS/kernel -source-2.4.3-20mdk.i586.rpm

(link seems to be broken, I wish I had made a copy if someone needed but here is the problem with that distribution, mirrors are not kept long enough) .:: co.pinterest.com ::.

and grab the tarball from ALSA:

ftp://ftp.alsa-project.org/pub/driver/alsa-driver-0.9.0beta10.tar.bz2

Installation

Install your kernel sources, in my case:

rpm -ivh kernel-source-2.4.3-20mdk.i586.rpm

Then decompress alsa drivers:

bzip2 -d alsa-driver-0.9.0beta10.tar.bz2 && tar -xvf alsa-driver-0.9.0beta10.tar

Make them and install them and create the devices files: [Reddit: HTML5 Discussion]

cd alsa-driver-0.9.0beta10 && make install && ./snddevices

Edit /etc/modules.conf to set everything, and add to it the following lines:

alias char-major-116 snd
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias snd-card-0 snd-card-intel8x0
warning: Christian Cardinale rf.libertysurf@elanidrac.naitsirhc reports that he had to change 'snd-card-intel8x0' for 'snd-intel8x0', which corresponds to what I have for my Debian system, I no longer remember, but I think this one is the mandrake name, if it doesn't work, just use to the other, ok?

2.3 Alsa the Debian way

I've switched to Debian some time after writing this howto and wanted to give some instructions about it: Things may change a little depending on which version you're using, I use Debian sarge, currently the testing version.

Using a Debian package with a precompiled kernel

First of all, you can directly download the appropriate precompiled alsa modules: find out which kernel you're using

uname -r

2.4.20-3-k7 (should be 2.4.18-k7 or something like that for a woody/stable)

apt-get install alsa-modules-2.4.20-3-k7

the card is the "intel8x0 (PCI: Intel i810/i820/i830/i840/MX440 integrated audio)"

you should also install the recommended package alsa-utils

apt-get install alsa-utils

now, check the file /etc/alsa/modutils/0.9 against the one given further on this howto. It may also be necessary to run update-modules as root to ensure that these lines get into /etc/modules.conf, although the package installation probably does it itself. .:: podcasts.apple.com ::.

Using a Debian kernel source package

I was forced to recompile my kernel when I got an usb adsl modem. (make-kpkg binary --initrd is something you want to look at someday, but it's off topic)

I'm assuming, you've done at least the following steps:

install the alsa sources and two useful packages: apt-get install alsa-source alsa-utils alsa-base debconf will ask you the following questions:

Say Yes if you want to build ALSA driver with ISA PnP version.
If your computer doesn't support ISA PnP, you may say No. 
Build ALSA driver with ISA PnP?

You can safely select 'no'

Say Yes if you want to build ALSA driver with debugging code.
Build ALSA driver with debugging code?

We don't need that either, so select 'no'

You can choose cards to be built by selecting cards you want.
Each selection is a same name to a option of configure script '--with-cards'.
The following list are short descriptions of the options to show what they mean.
Select cards to be built.

Select card intel8x0 (PCI: Intel i810/i820/i830/i840/MX440 integrated audio) and exit.

cd /usr/src

tar xzvf alsa-driver.tar.gz

cd modules/alsa-driver

./configure

make && make install

now, check the file /etc/alsa/modutils/0.9 against this following one.

/etc/alsa/modutils/0.9

I only remember changing the cards_limit from 4 to 1, to prevent warnings, any modification of it should be followed by running update-modules in order to regenerate /etc/modules.conf

### DEBCONF MAGIC
# This file was automatically generated by alsa-base's debconf stuff

alias char-major-116 snd
alias char-major-14 soundcore
alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-card-0 
options snd major=116 cards_limit=1 device_mode=0660 device_gid=29 device_uid=0

alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

2.4 Kernel Approach: The AC'97 Driver

If you are using a 2.4 or later kernel you can use the Audio Codec '97 (AC'97) sound driver, as the integrated sound card is AC'97 complaint. .:: podcasts.apple.com ::. .:: orcid.org ::.

You may enable your soundcard with a kernel module, as a matter of fact, you should be able to just use the module without even recompiling your kernel, because most GNU/Linux distributions have it already, just type:

modprobe i810_audio

and you should see something like this in your syslog:

  Intel 810 + AC97 Audio, version 0.21, 21:31:04 Apr 15 2002
  i810: SiS 7012 found at IO 0xd800 and 0xdc00, IRQ 11
  i810_audio: Audio Controller supports 2 channels.
  ac97_codec: AC97 Audio codec, id: 0x414c:0x4710 (ALC200/200P)
  i810_audio: AC'97 codec 0 supports AMAP, total channels = 2

or type

dmesg | less and scroll to see the kernel messages.

If everything went fine, you may add i810_audio to /etc/modules so it will autoload everytime you boot:

echo "i810_audio" >> /etc/modules

or you like monolitic kernels (no modules), follow the step above to install the kernel sources and say Y to Sound card support and Y to Intel ICH (i8xx) audio support compile your kernel, install, reboot and now your integrated soundcard is working.

If you don't know how to compile a kernel, read the Kernel HOWTO, it's easy and you'll get a optimized kernel for you system, also you'll learn a bit about that talk of using the source code (yes you are already taking advantage of it :-)


Next Previous Contents

Share or Research:

Share on FB Post to X LinkedIn 🤖 Ask AI about this