From the ALSA wiki
Where are the ALSA drivers installed?
ALSA drivers can be used by the kernel in two ways: either as loadable modules (in which case the kernel should hopefully automatically load them when it needs them, and they can be easily listed and reset) or statically compiled in (in which case they are always present, and certain configuration changes will require a reboot).
Module files whose names start with snd- are ALSA modules; once the module has been loaded into the kernel, the kernel will present the module names as snd_.
If the drivers are modules, then hopefully modprobe knows how to find them. Enter the command
/sbin/modprobe -l snd*
and modprobe should tell you what sound driver module files it knows about.
It's always possible (though not really very likely) that modprobe is somehow failing; to see if the ALSA driver modules are where they should be in on your system, you can go check "/lib/modules/version/kernel/sound" to see if there are any files there. (version means your kernel version, such as "2.4.22" or "2.6.16").
This command should show you all the driver files for your current kernel version:
ls -lR /lib/modules/`uname -r`/kernel/sound
OK, I've got module files, but are they loaded?
While modprobe -l tells you what modules have been built, another command, lsmod, can tell you which ones the system actually has loaded and ready to use.
Entering the command
lsmod | grep snd_
should show you all the currently loaded ALSA driver modules.
Alternatively, if the drivers are statically compiled in to the kernel, there won't be module files for modprobe and lsmod to show you, and there won't be driver files in /lib/modules/version/kernel/sound. In this case, you can still look for them if your system has the file /proc/config.gz. This file is compressed using gzip. To see what sound drivers are (and are not) built in to your kernel, you can type the following:
gunzip -c /proc/config.gz | grep -i snd