| div.main {margin-left: 20pt; margin-right: 20pt} Linux. Звук
 "Алло, как слышно?.."Судя по письмам, приходящим на мой электронный 
  почтовый адрес, у многих пользователей возникли некоторые трудности с 
  настройкой звука. Попробуем рассмотреть этот вопрос поподробнее. Итак, сегодня 
  мы будем учить Linux говорить.
 
 На теперешний момент существует 
  несколько различных драйверов звуковых карт под Linux. Почему? Углубимся в 
  недалекое прошлое.
 С появлением первых версий Linux Ханну Савойлайнен из 
  Финляндии написал драйверы для звуковой карты Creative Labs Sound Blaster. 
  После он вместе с другими разработчиками добавил поддержку и других популярных 
  (и не очень) звуковых карт. Впоследствии американская фирма 4Front 
  Technologies предложила Саволайнену сотрудничество и стала продавать драйверы 
  звуковых карт в качестве коммерческого продукта, который сейчас называется OSS 
  — Open Sound System. Эти драйверы используются во многих операционных 
  системах. В состав ядра Linux входит бесплатная версия звукового драйвера OSS 
  под названием OSS/Lite.
 
 Но некоторых программистов, использовавших 
  звуковые карты Gravis UltraSound, этот драйвер не устраивал. И они, во главе с 
  Ярослевом Киселой, создали свой собственный проект под названием Gravis 
  UltraSound Project, чтобы написать драйвер для своих звуковых карт. 
  Впоследствии этот проект разросся, была добавлена поддержка других звуковых 
  карт. Тогда и появилась ALSA — Advanced Linux Sound Architecture.
 Но на 
  этом дело не закончилось. Разработчик Алан Кокс по заданию фирмы Red Hat 
  Software изменил звуковые драйверы OSS/Lite, выделив их в отдельные звуковые 
  модули, чем упростил настройку звука. Эти драйверы входят в стандартную 
  поставку Linux.
 Есть еще группа драйверов, которые выпускают сами 
  производители звуковых карт, но они поставляются только в двоичном коде. Это 
  позволяет производителям программного обеспечения держать в секрете от 
  конкурентов информацию об их оригинальных разработках. Но это не позволяет 
  пользователям самим исправлять ошибки и совершенствовать 
  драйверы.
 
 Итак, сделаем выводы. Звуковые драйверы делятся на четыре 
  группы:
 1. OSS/Lite — распространяются бесплатно, включены в ядро Linux, 
  поддерживают большинство звуковых карт, но больше уже не совершенствуются и не 
  имеют прямой поддержки Plug and Play;
 2. OSS — поддерживают большое 
  количество звуковых карт, легко устанавливаются, поддерживают Plug and Play, 
  хорошо совместимы с OSS/Lite, имеют дополнительные возможности, но это 
  коммерческий продукт, который, кроме того, не предоставляет исходный 
  код;
 3. ALSA — бесплатны, почти совместимы с OSS/Lite, поддерживают Plug 
  and Play, активно совершенствуются, имеют дополнительные возможности, но в 
  настоящее время поддерживают лишь несколько звуковых карт;
 4. Драйверы 
  производителей звуковых карт — поддерживают звуковую карту, которая может не 
  поддерживаться другими драйверами, но доступны лишь в двоичном коде и не 
  всегда полностью совместимы с OSS/Lite.
 Ну вот, с выбором драйвера мы уже определились. Теперь, для настройки, нам 
  не помешало бы собрать информацию о звуковой карте. Хотя часто, для того, 
  чтобы успешно настроить звуковую карту, не имея всех данных, рекомендуется 
  узнать производителя и модель звуковой карты, номер прерывания IRQ, адреса 
  портов ввода-вывода, каналы DMA, тип микросхемы, использующейся в звуковой 
  карте, тип шины для звуковой карты (ISA, ISA Plug and Play, PCI). Некоторые из 
  этих параметров можно узнать, просто открыв корпус компьютера. Если же у вас 
  стоит какая-либо другая ОС, то можно использовать те же параметры, что и в 
  ней.alias sound sb
alias synth0 midi
alias midi opl3
options opl3 io=0x388
options sb io=0x220 irq=10 dma=3 dma16=7 mpu_io=0x330
 Есть вообще три метода настройки звуковых карт в Linux. 
  Рекомендуется пробовать их в той последовательности, в которой они 
  описываются.
 Первый метод — использование автоматизированной программы 
  настройки. В состав некоторых дистрибутивов входит утилита, позволяющая 
  автоматически настраивать звуковые карты. Использование этой программки 
  является наиболее простым способом настройки звука. В Red Hat Linux для такой 
  настройки используется программка sndsonfig. Она производит поиск всех карт, 
  поддерживающих Plug and Play. Если таковые присутствуют в системе, то будет 
  выведен список, в котором можно выбрать необходимую звуковую карту. Затем 
  можно установить номер прерывания IRQ и каналы DMA, указать адрес порта 
  ввода-вывода. Для карт Plug and Play эти параметры можно установить 
  автоматически. После, тип звуковой карты сохраняется в файле 
  /etc/sysconfig/soundcard. Для Plug and Play карт также будет создан файл 
  /etc/isapnp.conf, который используется утилитами ISA Plug and Play для 
  настройки звука при загрузке системы. Также конфигурируется файл 
  /etc/conf.modules, в котором указываются соответствующие модули ядра для 
  загрузки во время старта системы.
 
 Для настройки звуковых драйверов OSS 
  или ALSA воспользуйтесь аналогичными программами, которые идут в поставке с 
  ними.
 Второй метод включает в себя выполнение описанных выше действий 
  вручную. Если у вас карта ISA Plug and Play, то, если вы не используете 
  драйверы OSS или ALSA, для настройки сначала вам необходимо воспользоваться 
  утилитой isapnp. Для этого следует выполнить следующую последовательность 
  действий: создать резервную копию файла /etc/isapnp.conf; при помощи утилиты 
  pnpdump создать новый файл /etc/isapnp.conf, для чего выполните команду 
  pnpdump > /etc/isapnp.conf; отредактировать этот файл, установив 
  необходимые параметры карты, для чего достаточно снять комментарии с 
  соответствующих строк; запустить программу isapnp. Более подробно о настройке 
  карт ISA Plug and Play можно узнать из документации на isapnp, isapnp.conf, 
  pnpdump.
 Загрузкой звуковых модулей ядра занимается демон kerneld (или kmod 
  в новых версиях). Чтобы указать модули, которые следует загружать, необходимо 
  отредактировать файл /etc/conf.modules. Подробная информация о нем есть в 
  документации на указанный демон. Приводимый ниже пример реализует загрузку 
  драйверов для SoundBlaster 16 с драйвером OSS/Lite:
 Если вы используете драйвер ALSA, то имена модулей будут другими, для их 
  правильной настройки надо посмотреть соответствующую документацию. Для нашего 
  же случая файл конфигурации будет выглядеть следующим образом:alias char-major-116 snd
alias char-major-14 soundcore
alias snd-card-0 snd-sb16
alias snd-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-pcm1-oss
alias sound service-0-4 snd-pcm1-oss
options snd snd_card_limit=1
# options for sb16
options snd-sb16 snd_port=0x220 snd_mpu_port=0x330 snd_irq=10 
snd_dma8=3 snd_dma16=7 snd_dma8_size=64 snd_dma16_size=128 
smd_mic_agc=1 snd_isapnp=0
# initialize mixer
post-install snd-sb16 alsactl restore Для настройки и загрузки драйвера OSS обычно используется скрипт soundon. 
  Если модули сконфигурированы правильно, то они должны загружаться 
  автоматически, как только какое-нибудь приложение обратится к звуковой 
  карте.Обычно модули расположены в каталоге /lib/modules/a.b.c/misc, где 
  a.b.c — версия ядра. Иначе их надо встроить в ядро.
 
 Третий метод 
  заключается в непосредственной перекомпиляции ядра с указанием драйверов, 
  которые необходимо в него встроить. Этот метод не требует указания модулей для 
  загрузки. Подробнее перекомпиляцию ядра мы рассмотрим в какой-либо из 
  следующих статей (хотя можно почитать и мануал), но вкратце процесс настройки 
  драйверов звуковых карт можно описать так. После установки пакета с исходными 
  текстами надо зайти в каталог с исходниками (/usr/src/linux) и дать команду 
  make menuconfig — загрузится текстовая оболочка с менюподобным интерфейсом. 
  Для настройки требуется изменять опции в подменю "Sound" и "Additional low 
  level sound drivers". Программа интуитивно понятна и позволяет указать 
  описанные выше параметры звуковых карт без особых проблем. После вам 
  потребуется откомпилировать ядро и установить его.
 
 Теперь, чтобы 
  убедиться в правильности настройки звуковой карты, надо проверить, загружаются 
  ли звуковые драйверы. Информацию о состоянии звуковой карты можно получить 
  командой cat /dev/sndstat. Если вместо информации вы получите сообщение об 
  ошибке, например cat:/dev/sndstat: Operation not supported by device, то это 
  значит, что звуковые модули не были загружены. Здесь стоит сказать, что для 
  драйвера ALSA каталог /dev/sndstat не создается. Его аналогом является каталог 
  /dev/asound.
 
 После того, как вы удостоверились, что звуковые модули 
  загружаются, можно приступить к тестированию звуковой карты. В первую очередь 
  рекомендуется запустить микшер, попробовать поизменять различные настройки и 
  посмотреть, не возникают ли при этом ошибки. Используйте xmixer, aumix, kmix. 
  Для проигрывания файлов можно воспользоваться программами play или 
  kmedia.
 
 X-Stranger
 xstranger@tut.by
 
 |