Загрузка драйвера
Существует два способа использования звуковых модулей ALSA. Я предпочитаю делать это, как описано в инструкции, этот метод подразумевает, что во время запуска системы модуль подгружается. Драйверы ALSA были спроектированы как двоякие, то есть существует возможность их применения как догружаемых модулей, так и не подгружаемых (установленных). После загрузки они не сбивают настроек микшера, поэтому вы можете воспользоваться другим способом их эксплуатации - при помощи kerneld.
Если у вас старое ядро, то для обеспечения поддержки звука прочтите главу Разд. Обратная совместимость.
Установка modprobe
Замечание: если у вас карта PnP, то вам надо сначала правильно ее настроить на IO/IRQ/DMA. Для этого прочтите Plug-and-Play-HOWTO. Теперь вам следует запустить "modprobe snd-card-<soundcard>".
Замечу, что не все дистрибутивы включают в путь /sbin. Если вы получили сообщение "bash: modprobe: command not found", это означает, что modprobe не включен в путь. Попробуйте найти утилиту modprobe в ``/sbin/modprobe snd-card-sb16'' или где-либо еще.
Самые большие проблемы могут возникнуть с чипсетами Crystal -для них у драйверов ALSA нет автоматического определения. Более подробную информацию можно прочитать в файле INSTALL, который находится в каталоге драйвера. Вот два примера: первый для Gravis UltraSound (GUS) и аналогов:
/sbin/modprobe snd-card-gusclassic |
Для всех карт 16-bit Soundblaster (SoundBlaster 16 (PnP), SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 (PnP):
/sbin/modprobe snd-card-sb16 |
Если вы используете драйвер 0.3.0-pre4 , драйвер GUS Classic называется ``snd-gusclassic'', а модуль SoundBlaster 16 называется ``snd-sb16'' (без уточнения конкретной модели карты).
Какой модуль для какой карты?
Не забудьте, что в версиях ALSA до 0.4.x иногда употребляют названия моделей карт. Это отмечено звездочкой (*).
Gravis UltraSound Extreme
Разд. ForteMedia FM801modprobe snd-card-gusextreme
Gravis UltraSound MAX
Разд. ForteMedia FM801modprobe snd-card-gusmax
ESS AudioDrive
Разд. ForteMedia FM801Карты ESS AudioDrive ES-1688 и ES-688
modprobe snd-card-audiodrive1688
ESS AudioDrive 18xx
Разд. ForteMedia FM801Карты на основе ESS AudioDrive ES-18xx
modprobe snd-card-audiodrive18xx
Gravis UltraSound PnP
Разд. ForteMedia FM801Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32, ExpertColor MED3201 и другие карты, основанные на чипе AMD InterWave™.
modprobe snd-card-interwave
UltraSound 32-Pro
Разд. ForteMedia FM801UltraSound 32-Pro (карты STB используемые Compaq) и другие карты, основанные на чипе AMD InterWave (tm), с улучшенной схемой управления низкими частотами TEA6330T, управлением высоких частот и громкостью
modprobe snd-card-interwave-stb
Soundblaster
Разд. ForteMedia FM801Карты 8-bit Soundblaster (SoundBlaster 1.0, SoundBlaster 2.0, SoundBlaster Pro)
modprobe snd-card-sb8
Soundblaster 16
Разд. ForteMedia FM801Карты 16-bit SoundBlaster (SoundBlaster 16 (PnP), SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 (PnP). Замечание: этот модуль не поддерживает карту SoundBlaster VibraX16.
modprobe snd-card-sb16
OAK Mozart
Разд. ForteMedia FM801modprobe snd-mozart
OPTi 82C9xx
Разд. ForteMedia FM801Группа карт, использующих чипсет OPTi 82C9xx, такие как Audio 16 Pro EPC-SOUN9301 (основанная на 82C930), ExpertColor MED-3931 v2.0 (основанная на 82C931), ExpertMedia Sound 16 MED-1600 ( AD1848, основанная на 82C928 ), Mozart S601206-G ( CS4231, основанная на OPTI601) и Sound Player S-928
modprobe snd-card-opti9xx
AD1847/48 and CS4248
modprobe snd-card-ad1848
Yamaha OPL3-SA2/SA3 soundcards
Разд. ForteMedia FM801Команда "modprobe snd-opl3sa" не будет работать, так как этот драйвер не проводит автоматического определения. Смотрите далее.
S3 SonicVibes
Разд. ForteMedia FM801Карты S3 SonicVibes PCI . (PINE Schubert 32 PCI)
modprobe snd-card-sonicvibes
Ensoniq/Soundblaster PCI64
Разд. ForteMedia FM801Карты Ensoniq AudioPCI ES1370/1371 PCI . (SoundBlaster PCI 64)
modprobe snd-card-audiopci
CS4231
Команда ``modprobe snd-card-cs4231'' не будет работать, так как не проводится автоматического определения. Смотрите далее.
CS4232/4232A
Для всех карт, основанных на чипе CS4232/CS4232A команда "modprobe snd-card-cs4232" не будет работать, так как не проводится автоматического определения. Смотрите далее.
4235 и выше
Для всех карт основанных на чипе CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239, команда "modprobe snd-card-cs4236" не будет работать, так как не проводится автоматического определения. Смотрите далее.
4610/4612/4615 и 4680
modprobe snd-card-cs461x
ESS Solo 1
Разд. ForteMedia FM801Карты ESS Solo-1, 128iPCI (es1938, ESS-SOLO-1). Jonas Lofwander послал мне ссылку на http://dice.shopcenter.nu/alsa/
, где описывается установка этой карты, хотя, в этом случае, проблем не возникает. Просто команда
modprobe snd-card-esssolo1 ... .
Если у вас IBM Thinkpad 1412, то можете заглянуть на ссылку, присланную Kumar Sankaran
http://www.geocities.com/SiliconValley/Peaks/3649/1412.html .
Trident 4DWave DX/NX
Разд. ForteMedia FM801Best Union Miss Melody 4DWave PCI, HIS 4DWave PCI, Warpspeed ONSpeed 4DWave PCI,
AzTech PCI 64-Q3D, Addonics SV 750, CHIC True Sound 4Dwave, Shark Predator4D-PCI,
Jaton SonicWave 4D.
modprobe snd-card-trident
ForteMedia FM801
Это карты PCI, основанные на чипе FM801.
modprobe snd-card-fm801
(*)
Для версии ALSA 0.3.0-pre4, вы должны пропустить "card-" (не для всех!) в названиях драйверов. Строка ``snd-card-sb16'' превращается в ``snd-sb16'', а ``snd-cs4232'' остается ``snd-card-cs4232'' (modprobe snd-cs4232 начнет что-то выполнять, но не будет воспроизводить звук!)
(**)
В более старых версиях ALSA драйвер называется ``snd-card-trid4wave'' и ``snd-trid4wave''.
modprobe для драйверов без автоматического определения карты
Если у вас драйвер без автоматического определения, то для его работы вам потребуется внести больше информации при его загрузке. Более подробно это описано в файле INSTALL каталога драйвера.
OPL3-SA2 и OPL3-SA3
По инструкции, приведенной в файле INSTALL, вы должны внести дополнительную информацию для драйвера. Если вы инициализировали карту при помощи isapnp-tools, вы можете получить следующую информацию из файла /etc/isapnp.conf :
snd_port - control port # for OPL3-SA chip
snd_wss_port - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
snd_midi_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
snd_fm_port - FM port # for OPL3-SA chip (0x388), -1 = disable
snd_irq - IRQ # for OPL3-SA chip (5,7,9,10)
snd_dma1 - first DMA # for Yamaha OPL3-SA chip (0,1,3)
snd_dma1_size - max first DMA size in kB (4-64kB)
snd_dma2 - second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
snd_dma2_size - max second DMA size in kB (4-64kB) |
Для того, чтобы запустить драйвер вы можете выполнить "modprobe snd-card-opl3sa snd_port=0xNNN snd_wss_port=0x530 snd_midi_port=-1
snd_fm_port=0x388 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN"
(это без поддержки midi. Я думаю, что вам потребуется поддержка midi, если у вас есть синтезатор и другое оборудование, и вы хотите их собрать воедино под Linux. Но он вам не потребуется в других случаях, даже для проигрывания файлов формата midi.)
Заметьте, что значения NN необходимо указать, однако я не знаю
стандартных значений. Я также не знаю, требуется ли для нормальной
работы опция dma_size.
Если у вас IBM Thinkpad с этим чипсетом, то загляните на
http://www.cirs.org/patrick/index.html.
Если вы используете драйвер из версии 0.3.0-pre4, то пропустите ``card-'' в названии драйвера.
Чипы CS4231
По инструкции, находящейся в файле INSTALL, вы должны определить основной порт для карты. Замечу, что для драйвера карт 3235/6/7/8/9 я прописал всю информацию(кроме размера DMA), иначе драйвер не работает. Если вы инициализировали карту при помощи isapnp-tools, вы можете получить следующую информацию из файла /etc/isapnp.conf :
snd_port - port # for CS4232 chip (PnP setup - 0x534)
snd_mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15)
snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
snd_dma1 - first DMA # for CS4232 chip (0,1,3)
snd_dma1_size - max first DMA size in kB (4-64kB)
snd_dma2 - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable
snd_dma2_size - max second DMA size in kB (4-64kB) |
Для загрузки драйвера со стандартной настройкой карты, вы должны выполнить "modprobe snd-card-cs4231 snd_port=0x534
snd_mpu_port=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN
snd_dma2=1 snd_dma2_size=NN". (Без поддержки midi, смотрите заметку в Yamaha OPL-3). Если вы использовали другие значения в файле /etc/isapnp.conf, то здесь вам надо использовать те же значения.
Вместо "NN" вы должны поставить числовые значения, но я не могу подсказать наилучшие значения. Также я не знаю, необходимо ли указывать размер dma.
Чипы CS4232/CS4232A
По инструкции, находящейся в файле INSTALL, вы должны определить основной порт для карты. Замечу, что для драйвера карт 3235/6/7/8/9 я прописал всю информацию(кроме размера DMA), иначе драйвер не работает. Если вы инициализировали карту при помощи isapnp-tools, вы можете получить следующую информацию из файла /etc/isapnp.conf :
snd_port - port # for CS4232 chip (PnP setup - 0x534)
snd_cport - control port # for CS4232 chip (PnP setup - 0x120)
snd_mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
snd_fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
snd_jport - joystick port for CS4232 chip (PnP setup - 0x200), -1 =
disable
snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15)
snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
snd_dma1 - first DMA # for CS4232 chip (0,1,3)
snd_dma1_size - max first DMA size in kB (4-64kB)
snd_dma2 - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable
snd_dma2_size - max second DMA size in kB (4-64kB) |
Для загрузки драйвера со стандартной настройкой карты вы должны выполнить "modprobe snd-card-cs4232 snd_port=0x534 snd_cport=0x120
snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN
snd_dma2=1 snd_dma2_size=NN". (Без поддержки midi, прочитайте заметку в Yamaha OPL-3, и поддержки джойстика ). Если вы использовали другие значения в /etc/isapnp.conf, тогда вы должны их использовать и здесь.
Вместо "NN" вы должны поставить числовые значения, но я не могу подсказать наилучшие значения. Так же я не знаю, необходимо ли указывать размер dma.
Чипы CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239
По инструкции в находящейся в файле INSTALL, вы должны определить основной порт и порт управления для карты. Замечу, что для драйвера карт CS4237B я прописал всю информацию (кроме размера DMA), иначе драйвер не работает. Если вы инициализировали карту при помощи isapnp-tools, вы можете получить следующую информацию из файла /etc/isapnp.conf :
snd_port - port # for CS4232 chip (PnP setup - 0x534)
snd_cport - control port # for CS4232 chip (PnP setup - 0x120)
snd_mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
snd_fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
snd_jport - joystick port for CS4232 chip (PnP setup - 0x200), -1 = disable
snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15)
snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
snd_dma1 - first DMA # for CS4232 chip (0,1,3)
snd_dma1_size - max first DMA size in kB (4-64kB)
snd_dma2 - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable
snd_dma2_size - max second DMA size in kB (4-64kB) |
Для того чтобы загрузить драйвер вы должны выполнить "modprobe snd-card-cs4236 snd_port=0x534 snd_cport=0x120
snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN
snd_dma2=1 snd_dma2_size=NN". (Без поддержки midi, прочитайте заметку в Yamaha OPL-3, и поддержки джойстика). Заметки:
Вместо "NN" вы должны поставить числовые значения, но я не могу вам подсказать наилучшие значения.
Моя карта CS4237B прекрасно работает без указания dma.
Использование kerneld
kerneld - это демон, загружающий модули по мере необходимости, и убирающий их, если они более не используются. Так как я не имею практического опыта работы с kerneld, я не могу подтвердить, что нижеприведенная информация верна. Эта информация взята из файла INSTALL, находящегося в в пакете с драйверами ALSA. Информация по kerneld находится в kerneld-mini-HOWTO.
Следуйте нижеприведенным указаниям:
Отредактируйте свой /etc/conf.modules (примеры смотрите ниже)
Запустите 'modprobe snd-card', где "card" это название вашей карты [Хотя мне это кажется очень странным, так как kerneld предполагает их загрузку VS]
Пример файла /etc/conf.modules для карты Gravis UltraSound PnP:
alias char-major-14 snd
alias snd-minor-oss-0 snd-interwave
alias snd-minor-oss-3 snd-pcm1-oss
alias snd-minor-oss-4 snd-pcm1-oss
alias snd-minor-oss-5 snd-pcm1-oss
alias snd-minor-oss-12 snd-pcm1-oss
alias snd-card-0 snd-interwave
options snd snd_major=14 snd_cards_limit=1
options snd-interwave snd_index=1 snd_id="guspnp" snd_port=0x220 snd_irq=5
snd_dma1=5 snd_dma2=6 |
Пример на тот случай, если вы предполагаете использование нескольких карт на одном компьютере (настройка приведена для карт Sound Blaster 16 и Gravis UltraSound Classic):
alias char-major-14 snd
alias snd-minor-oss-0 snd-mixer
alias snd-minor-oss-3 snd-pcm1-oss
alias snd-minor-oss-4 snd-pcm1-oss
alias snd-minor-oss-5 snd-pcm1-oss
alias snd-minor-oss-12 snd-pcm1-oss
alias snd-card-0 snd-sb16
alias snd-card-1 snd-gusclassic
options snd snd_major=14 snd_cards_limit=2
options snd-sb16 snd_index=1 snd_port=0x220 snd_irq=5 snd_dma8=1 snd_dma16=5
options snd-gusclassic snd_index=2 snd_irq=11 snd_dma1=6 snd_dma2=7 |
Пример на тот случай, если у вас установлены две карты Gravis UltraSound Classic:
alias char-major-14 snd
alias snd-minor-oss-0 snd-mixer
alias snd-minor-oss-3 snd-pcm1-oss
alias snd-minor-oss-4 snd-pcm1-oss
alias snd-minor-oss-5 snd-pcm1-oss
alias snd-minor-oss-12 snd-pcm1-oss
alias snd-card-0 snd-gusclassic
alias snd-card-1 snd-gusclassic
options snd snd_major=14 snd_cards_limit=2
options snd-gusclassic snd_index=1,2 snd_port=0x220,0x260 snd_irq=5,11
snd_dma1=5,6 snd_dma2=7,3 |
Обратная совместимость
Если вы хотите сохранить совместимость OSS/Free или OSS/Linux, то вам придется установить еще один драйвер snd-pcm1-oss для совместимости с OSS. Наберите:
Это даст вам поддержку устройств /dev/audio и /dev/dsp так же, как это делают драйверы OSS/Free (находятся в ядре) и OSS/Linux (стоят $25). Замечу, что это всего лишь эмуляция.
Пред. | Начало | След. |
Как установить звуковые драйверы ALSA | | Тестирование и использование |