Звук в Linux HOWTO: Установка

Next Previous Contents

## 65. Установка

Настройка Linux для поддержки звука включает следующие этапы:

1. Установка звуковой карты.
2. Настройка и компиляция ядра для поддержки звука.
3. Создание файлов устройства.
4. Загрузка ядра Linux и тестирование.

В следующих разделах будут детально рассматриваться каждый из этапов.

## 65.1 Установка звуковой карты

Для установки оборудования следуйте инструкциям производителя или заставьте продавца установить карту.

Старые карты обычно имели переключатели или наборы джамперов для установки IRQ, каналов DMA и т.п.; запишите используемые значения. Если вы не уверены, используйте значения по умолчанию. Старайтесь, если возможно, избегать конфликтов с другими устройствами (например картами ethernet, адаптерами SCSI, сериальными и параллельными портами).

Обычно вы должны использовать теже самые установки для портов ввода/вывода, IRQ и DMA, которых работают под DOS. Однако в некоторых случаях (особенно с PnP картами) вы можете использовать другие настройки, чтобы заставить карту работать под Linux. Нужно провести несколько экспериментов.

## 65.2 Настройка ядра

Когда вы устанавливаете Linux вы вероятно используете готовое ядро. Эти ядра обычно не обеспечивают поддержку звука. Желательно самим перекомпилировать ядро с необходимыми вам драйверами. Вы можете также пересобрать ядро для его обновления или чтобы освободить память, уменьшая размер ядра.

Вы должны проконсультироваться с Linux Kernel HOWTO для получения детальной информации о компиляции ядра. Я буду упоминать здесь только вещи, специфичные для звуковых карт.

Если вы до этого никогда не настраивали ядро для поддержки звука, то хорошей идеей будет прочитать все Readme-файлы, поставляемые с драйвером звука. Вы можете найти следующую информацию в директории звукового драйвера, обычно устанавливаемого в директорию /usr/src/linux/drivers/sound:

    CHANGELOG         - описание изменений в каждой версии
    COPYING           - ограничения копирования и авторские права
    Readme            - последнии и наиболее важные новости
    Readme.aedsp16    - информация о звуковой карте Audio Excel DSP 16
    Readme.cards      - замечания о конфигурировании специфичных карт
    Readme.linux      - замечания о раздельной установке звуковых драйверов
    Readme.modules    - как построить драйвер как загружаемый модуль
    Readme.v30        - новые возможности в драйвере версии 3.0
    experimental.txt  - замечания об экспериментальных возможностях

Следуйте обычной процедуре построения ядра. В настоящее время существует три интерфейса процесса конфигурации. Графический интерфейс, который запускается под управлением X11 может быть запущен командой "make xconfig". Управляемая меню система, которая требует только текстовый экран вызывается командой "make menuconfig". Оригинальный метод, используя "make config", запускает простой текст-ориентированный интерфейс.

Необходимо быть осторожным, когда используются "make xconfig" или "make menuconfig". Все вопросы Yes/No должны быть проверены. Ответ по умолчанию, используемый в этих командах, всегда No, что не всегда правильно. В частности опция "/dev/dsp and /dev/audio support" (CONFIG_AUDIO) обычно должна быть разрешена.

В этом документе я буду предполагать, что вы используете традиционный, командно-строковый интерфейс, запускаемый командой "make config", хотя процесс подобен в каждом случае.

Существует 2 разных способа конфигурирования звука. Первый -- это "старый" способ (единственный в ядрах до 2.0.0). Он использует стандартную программу конфигурации, которая является частью драйвера звука. Этот метод работает с большинством карт, исключая редкие карты, которые требуют дополнительных "низкоуровневых" драйверов (карты miroSOUND, AWE32, и AEDSP16 cards).

Второй -- это "новый" способ, который лучше интегрирован с меню-ориентированной программой используемой для недавних (rest) ядер. Однако он не работает с звуковыми картами, которые требуют загрузки фирменных файлов. Это относится к картам PSS, SM Wave, AudioTrix Pro и TurtleBeach Tropez/Maui. С этими картами необходимо использовать старый метод.

"Новый" метод всегда используется командой "make xconfig". Когда используется "make menuconfig", вы можете выбрать между "старым" и "новым" методами. Когда используется "make config", по умолчанию используется "старый" метод. Однако если вы однажды использовали "новый" метод, он также будет использоваться и "make config". Вы можете переключится обратно на "старый" метод запустив "make menuconfig" и выбрав "старый" метод.

Рекомендуемый метод -- использовать "make menuconfig" вместе со "старым" методом настройки звука. Много проблем с настройкой звука возникают (по крайней мере частично) некорректным использованием "нового" метода.

Также возможно скомпилировать звуковой драйвер как загружаемый модуль. Я рекомендую вначале построить драйвер в ядре. После тестирования и работы вы можете использовать в качестве модуля ядра.

Когда вы запускаете `make config`, разрешите поддержку звука ответом "y" на вопрос

> `

>     Sound card support (CONFIG_SOUND) [M/n/y/?]

> `

После окончания вопросов настройки, программа настройки звука будет скомпилирована, запущена и запросит какие настройки звуковой карты вы хотите. Будте осторожны, когда отвечаете на эти вопросы, так как неправильный ответ на вопрос может предотвратить задавание некоторых других вопросов. Например, не отвечайте "yes" на первый вопрос (PAS16) если вы не имеете PAS16. Не разрешайте больше карт, чем необходимо, так как вы только потеряете память. Также некоторые драйвера (подобно MPU-401) могут конфликтовать с вашими контроллерами SCSI и не давать загрузиться вашему ядру.

Я перечислю здесь краткие описания каждой из опций конфигурации. Отвечайте "y" (да) или "n" (нет) на каждый вопрос. Ответ по умолчанию показанный как "[Y/n/?]" обозначает "y" по умолчанию и "[N/y/?]" обозначает по умолчанию "n". Для использования значения по умолчанию просто нажмите Enter (Ввод), но помните, что значение по умолчанию не всегда правилен.

Ввод знака вопроса ("?") выведет краткое сообщение, описывающее данную опцию конфигурации.

Заметим, что не все вопросы могут быть заданы. Программа конфигурации может запрещать некоторые вопросы в зависимости от предыдущих ответов. Она также может выбирать некоторые опции автоматически.

Old configuration exists in /etc/soundconf. Use it [Y/n/?] (Старая конфигурация находится в /etc/soundconf. Использовать ее [Д/н/?])

  Если вы имеете ранее скомпилированное ядро я поддержкой звука, то предыдущая конфигурация может быть сохранена. Если вы хотите использовать предыдущие настройки, ответьте "y". Если вы хотите попробовать отличающуюся конфигурацию или обновили ядро, вы должны ответить "n" и провести процесс настройки.

ProAudioSpectrum 16 support [Y/n/?] (Поддержка ProAudioSpectrum 16 [Д/н/?])

  Ответьте "y" только если вы имеете Pro Audio Spectrum 16, ProAudio Studio 16 или Logitech SoundMan 16. Не отвечайте "y" если вы имеете другую карте произведенную Media Vision или Logitech так как они не совместимы с PAS16.

SoundBlaster support [Y/n/?] (Поддержка SoundBlaster [Д/н/?])

  Ответьте "y" если вы имеете оригинальную карту SoundBlaster произведенную Creative Labs или 100% аппаратно совместимый клон (подобно Thunderboard или SM Games). Если ваша карта есть в списке поддерживаемых карт, смотрите специальные инструкции в файле Readme.cards до ответа на этот вопрос. Для неизвестной карты вы можете ответить "y" если карта считается совместимой с SoundBlaster.

Gravis Ultrasound support [Y/n/?] (Поддержка Gravis Ultrasound [Д/н/?])

  Ответьте "y" если у вас GUS или GUS MAX. Ответьте "n" если вы не имеете эти карты, так как драйвер тратит некоторое количество памяти.

MPU-401 support (NOT for SB16) [Y/n/?] (Поддержка MPU-401 (НЕ для SB16)[Д/н/?])

  Будьте осторожны с этим вопросом. Интерфейс MPU-401 поддерживается пости всеми картами. Однако, некоторые (natively supported) карты имеют собственный драйвер MPU-401. Разрешение опции MPU-401 для этих карт вызовет конфликт. Также разрешение MPU-401 на системах, которые не имеют MPU-401 может вызвать некоторые затруднения. Если ваша карта есть в списке поддерживаемых карт, смотрите специфичные для карты инструкции в файле Readme.cards. Ответ "y" безопасен, если вы имеете карту с настоящим MIDI интерфейсом MPU-401.

6850 UART Midi support [Y/n/?] (Поддержка 6850 UART Midi [Д/н/?])

  Ответ "n" на этот вопрос безопасен во всех случаях. Интерфейс 6850 UART очень редко используется.

PSS (ECHO-ADI2111) support [Y/n/?] (Поддержка PSS (ECHO-ADI2111) [Д/н/?])

  Ответьте "y" только если вы имеете Orchid SW32, Cardinal DSP16 или другую карту, основанную на наборе микросхем PSS (AD1848 codec + ADSP-2115 DSP chip + Echo ESC614 ASIC CHIP).

16 bit sampling option of GUS (not GUS MAX) [Y/n/?] (16-битная дискретизация в GUS (не в GUS MAX) [Д/н/?])

  Ответьте "y" если на вашей карте GUS установлена дополнительная карта для 16-битной дискретизации. Ответьте "n" если у вас GUS MAX. Разрешение этой опции запрещает поддержку GUS MAX.

GUS MAX support [Y/n/?] (Поддержка GUS MAX [Д/н/?])

  Ответьте "y" только если у вас GUS MAX.

Microsoft Sound System support [Y/n/?] (Поддержка Microsoft Sound System [Д/н/?])

  Хорошо подумайте до того как ответить "y" на этот вопрос. Безопасно ответить "y" если у вас оригинальная карта Windows Sound System, произведенная Microsoft или карта Aztech SG 16 Pro (или NX16 Pro). Также вы можете "y" в том случае, если карта не перечислена выше в этот файле. Для карт, имеющих собственную поддержку в VoxWare, смотрите инструкции для карты в файле Readme.cards. Некоторые драйвера имеют собственную поддержку MSS и разрешение этой опции может вызвать конфликт.

Ensoniq Soundscape support [Y/n/?] (Поддержка Ensoniq Soundscape [Д/н/?])

  Ответьте "y" если у вас карта построенная на наборе микросхем Ensoniq SoundScape. Такие карты производятся Spea и Reveal (Reveal также производит другие карты).

MediaTriX AudioTriX Pro support [Y/n/?] (Поддержка MediaTriX AudioTriX Pro [Д/н/?])

  Ответьте "y" если вы имеете AudioTriX Pro.

Support for MAD16 and/or Mozart based cards [Y/n/?] (Поддержка карт построенных на MAD16 и/или Mozart [Д/н/?])

  Ответьте "y" если ваша карта имеет микросхему звукового интерфейса Mozart (OAK OTI-601) или MAD16 (OPTi 82C928 или 82C929). Эти микросхемы в настоящее время довольно распространены, так что возможно, что много безымянных карт имееют одну из этих микросхем. Также микросхема MAD16используется в некоторых картах производимых известными производителями, такими как Turtle Beach (Tropez), Reveal (некоторые модели) и Diamond (последние модели).

Support for Crystal CS4232 based (PnP) cards [Y/n/?] (Поддержка карт построенных на Crystal CS4232 (PnP) [Д/н/?])

  Ответьте "y" если у вас карта созданная на основе набора микросхем Crystal CS4232.

Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers [Y/n/?] (Поддержка синтезеров Turtle Beach Wave Front (Maui, Tropez) [Д/н/?])

  Ответьте "y" если вы имеете любую из этих карт.

SoundBlaster Pro support [Y/n/?] (Поддержка SoundBlaster Pro [Д/н/?])

  Разрешите эту опцию, если у вас SoundBlaster Pro или SoundBlaster 16. Также разрешите ее для любых клонов SoundBlaster Pro. Ответ "n" сбережет некоторое количество памяти, но "y" является безопасной альтернативой.

SoundBlaster 16 support [Y/n/?] (Поддержка SoundBlaster 16 [Д/н/?])

  Разрешите, если вы имеете SoundBlaster 16 (включая AWE32).

Audio Excel DSP 16 initialization support [Y/n/?] (Поддержка инициализации Audio Excel DSP 16[Д/н/?])

  Разрешите это, если у вас карта Audio Excel DSP16. Для более детальной информации смотрите файл Readme.aedsp16.

Затем программа конфигурации задаст несколько вопросов, о высокоуровневых сервисах. Рекомендуется ответить "y" на каждый из этих вопросов. Отвечайте "n" только если вы точно знаете, что вам не нужно это.

/dev/dsp and /dev/audio support (usually required) [Y/n/?] (Поддержка /dev/dsp и /dev/audio (обычно требуется) [Д/н/?])

  Ответ "n" запрещает /dev/dsp и /dev/audio --- устройства АЦП и ЦАП. Ответьте "y".

MIDI interface support [Y/n/?] (поддержка MIDI-интерфейса [Д/н/?])

  Ответ "n" запрещает устройства /dev/midixx и доступ к любому порту MIDI используя /dev/sequencer и /dev/music. Эта опция также касается любых устройств совместимых с MPU-401 и/или General MIDI.

FM synthesizer (YM3812/OPL-3) support [Y/n/?](Поддержка FM синтезера (YM3812/OPL-3) [Д/н/?])

  Ответьте "y" здесь.

/dev/sequencer support [Y/n/?] (Поддержка /dev/sequencer [Д/н/?])

  Ответ "n" запрещает устройства /dev/sequencer и /dev/music

Do you want support for the mixer of SG NX Pro ? (Вы хотите поддержки микшера для SG NX Pro ?)

  Ответьте "y" если у вам звуковая карта Sound Galaxy NX Pro и вы хотите поддержка ее расширенных функций микшера.

Do you want support for the MV Jazz16 (ProSonic etc.) ? (Вы хотите поддержка MV Jazz16 (ProSonic etc.) ?)

  Ответьте "y" если у вас звуковая карта MV Jazz16.

Do you have a Logitech SoundMan Games [Y/n/?] (У вас Logitech SoundMan Games [Д/н/?])

  Ответьте "y" если у вас звуковая карта Logitech SoundMan Games.

После вышеперечисленных вопросов, программа конфигурации запросит вас о конфигурационной информации специфичной для карты. Обычно это набор адресов портов ввода/вывода, номера каналов IRQ и DMA. Для некоторых карт программа конфигурации запросит некоторые файлы, используемые при инициализации карты. Они используются картами, которые имеют микросхему DSP или микропроцессор, которые должны инициализироваться загрузкой файла с программой (микрокодом) в карту. В некоторых случаях этот файл записывается конфигурационной программой в .h-файл и затем включается в ядро в процессе компиляции. Далее, прочитайте информацию, относящуюся к карте вашего типа в файле Readme.cards.

В конце процесса конфигурации вас запросят:

> `

>     The sound driver is now configured.
>     Save copy of this configuration to /etc/soundconf [Y/n/?]

>     (Драйвер звука сконфигурирован.
>     Сохранить копию конфигурации в файле /etc/soundconf [Д/н/?])

> `

Обычно вы должны ввести "y", так что если вы позже захотите перекомпилировать ядро, то вы сможете использовать те же настройки звукового драйвера.

Если вы обновляете со старой версии звукового драйвера, убедитесь, что файлы /usr/include/sys/soundcard.h и /usr/include/sys/ultrasound.h являются символическими ссылками на соответствующие файлы в /usr/include/linux, или что они просто содержат строки `#include <linux/soundcard.h>` и `#include <linux/ultrasound.h>`, соответственно.

Теперь вы готовы компилировать и устанавливать новое ядро.

## 65.3 Создание файлов устройства

Для правильного проведения операций, для звукового драйвера должны быть созданы файлы устройства. По умолчанию они создаются во время установки вашей системы Linux. Быстрая проверка может быть произведена с помощью команды, показанной ниже. Если вывод такой же как показан (дата будет отличаться), тогда файлы устройства почти в норме.

> `

>     % ls -l /dev/sndstat
>     crw-rw-rw-   1 root     root      14,   6 Apr 25  1995 /dev/sndstat

> `

Заметим, что наличие правильных файлов устройства не гарантирует ничего. Драйвер должен быть загружен или вкомпилирован в ядро до того как устройство будет работать (больше об этом далее).

В редких случаях, если вы считаете что файлы устройства являются неправильными, вы можете заново создать их, используя короткий скрипт, описанный в конце файла Readme.linux в директории /usr/src/linux/drivers/sound, запустив его как `администратор (root)`. Также большинство версий Linux имеет скрипт /dev/MAKEDEV, который может быть использован для этой же цели.

Если вы используете звуковой драйвер для PC speaker, прочитайте документацию, которая идет с пакетом, для того чтобы определить какие файлы устройства необходимо создать.

## 65.4 Загрузка Linux и тестирование установки

Сейчас вы должны быть готовы к загрузке нового ядра и тестирования звукового драйвера. Следуйте обычной процедуре инсталляции и загрузите новое ядро (сохраните старое ядро на случай возникновения проблем).

В течении загрузки следите за сообщениями, которые следуют после включения питания (если они прокручиваются слишком быстро чтобы прочитать их, вы можете заново просмотреть их командой `dmesg`).

> `

>     Sound initialization started
>     <Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5
>     <Sound Blaster 16> at 0x330 irq 5 dma 0
>     <Yamaha OPL3 FM> at 0x388
>     Sound initialization complete

> `

Они должны соответствовать вашему типу карты и установкам джамперов (если они есть).

Заметим, что вышеприведенные сообщения не появляются, когда вы используете звуковой драйвер в виде загружаемого модуля ядра (до тех пор пока вы не разрешите его, например командой "insmod sound trace_init=1").

Когда драйвер звука находится в ядре, должны появляться сообщения "Sound initialization started (инициализация звука начата)" и "Sound initialization complete (инициализация звука выполнена)". Если они не появляются, это обозначает, что драйвера звука нет в ядре. В этом случае вы должны проверить действительно ли вы установили ядро с включенным звуковым драйвером.

Если ничего не появляется между строками "Sound initialization started" и "Sound initialization complete", это означает, что никакого звукового устройства не обнаружено. Скорее всего это означает, что вы не разрешили правильный тип драйвера, карта не поддерживается, неправильно заданы порты ввода/вывода или что у вас PnP карта, которая не была сконфигурирована.

Драйвер может также выдавать некоторые сообщения об ошибках и предупреждения в процессе загрузки. Наблюдайте за ними в процессе первой загрузки после конфигурирования звукового драйвера.

Далее вы должны проверить файл устройства /dev/sndstat. Чтение файла статуса звукового драйвера должно дать дополнительную информацию был ли драйвер звуковой карты инициализирован правильно. Простой вывод должен выглядеть подобно этому:

> `

>     % cat /dev/sndstat
>     Sound Driver:3.5.4-960630 (Sat Jan 4 23:56:57 EST 1997 root,
>     Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586)
>     Kernel: Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586
>     Config options: 0

>     Installed drivers:
>     Type 1: OPL-2/OPL-3 FM
>     Type 2: Sound Blaster
>     Type 7: SB MPU-401

>     Card config:
>     Sound Blaster at 0x220 irq 5 drq 1,5
>     SB MPU-401 at 0x330 irq 5 drq 0
>     OPL-2/OPL-3 FM at 0x388 drq 0

>     Audio devices:
>     0: Sound Blaster 16 (4.13)

>     Synth devices:
>     0: Yamaha OPL-3

>     Midi devices:
>     0: Sound Blaster 16

>     Timers:
>     0: System clock

>     Mixers:
>     0: Sound Blaster

> `

Команда, приведенная выше, может выдавать некоторые сообщения об ошибках. "No such file or directory (Нет такого файла или директории)" сообщает, что вам нужно создать файлы устройства (смотри раздел 4.3). "No such device (Нет такого устройства)" означает, что звуковой драйвер не был загружен или вкомпилирован в ядро. Возвратитесь к разделу 4.2 и исправьте это.

Если строки в секции "Card config:" файла /dev/sndstat перечислены внутри скобок (такие как "(SoundBlaster at 0x220 irq 5 drq 1,5)"), это означает, что устройство было сконфигурировано, но не обнаружено.

Теперь вы готовы к проигрыванию простых звуковых файлов. Возьмите простой звуковой файл и пошлите его на звуковое устройство для быстрой проверки вывода звука, например

> `

>     % cat endoftheworld >/dev/dsp
>     % cat crash.au >/dev/audio

> `

(Убедитесь, что вы не опустили ">" в командной строке, приведенной выше).

Заметим, что в общем, использование `cat` это не лучший способ проигрывания звуковых файлов, это просто быстрая проверка. Вы должны взять соответствующую программу проигрывания звука (описано позже), которая будет выполнять работу лучше.

Эти команды работают, если по крайней мере одно устройство перечислено в разделе аудио-устройств файла /dev/sndstat. Если раздел аудио-устройств пуст, вы должны проверить почему устройство не опознается.

Если вышеприведенные команды возвращают "I/O error (Ошибка ввода/вывода)", вы должны посмотреть в конце сообщений ядра, используя команду "dmesg". Вероятно, что сообщение об ошибке будет напечатано там. Часто бывает такое сообщение "Sound: DMA (output) timed out - IRQ/DRQ config error? (Звук: таймаут DMA (вывод) -- ошибка настройки IRQ/DRQ?)". Вышеприведенное сообщение означает, что драйвер не получил от устройства звука ожидаемого прерывания. В большинстве случаев это означает, что сконфигурированы IRQ или каналы DMA с которыми драйвер не может работать. Лучший выход чтобы заставить его работать -- испробовать все возможные номера DMA и IRQ, поддерживаемые устройством.

Другая возможная причина -- устройство не совместимо с устройством для которого сконфигурирован драйвер. Это довольно распространенный случай, когда считающиеся "SoundBlaster (Pro/16) compatible" звуковые карты не работают с драйвером SoundBlaster. В этом случае вы должны попытаться найти устройство с которым совместима ваша звуковая карта (например запросом в группу новостей comp.os.linux.hardware).

Некотрые простые звуковые файлы могут быть получены с ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd-data-0.1.tar.Z

Теперь вы можете проверить запись звука. Если вы имеете возможность ввода звука, вы можете проделать быструю проверку этого, используя команды, такие как следующие:

> `

>     # record 4 seconds of audio from microphone
>     EDT% dd bs=8k count=4 </dev/audio >sample.au
>     4+0 records in
>     4+0 records out
>     # play back sound
>     % cat sample.au >/dev/audio

> `

Очевидно, что, чтобы это работало вам нужен микрофон, соединенный к звуковой карте и вы должны говорить в него. Вам также нужна программа микширования, чтобы установить микрофон как устройство ввода и выровнять уровни усиления записи.

Если тесты прошли, вы можете быть уверенны, что звуковые устройства ЦАП и АЦП, и программное обеспечение работают. Если вы имеете проблемы, смотрите следующий раздел этого документа.

## 65.5 Разрешение проблем

Если вы все еще сталкиваетесь с проблемами после выполнения инструкций, изложенных в этом документе, здесь изложены некоторые вещи, которые необходимо проверить. Проверки изложены в порядке возрастания сложности. Если проверка не удалась, решите эту проблему до перехода к следующей стадии.

### Шаг 1: Убедитесь, что вы действительно запустилискомпилированное ядро.

Вы можете проверить дату ядра, для того чтобы увидеть действительно ли вы запустили ядро, которое вы скомрилировали с поддержкой звука. Вы можете сделать это с помощью команды `uname`:

> `

>     % uname -a
>     Linux fizzbin 2.0.0 #1 Tue Jun 4 16:57:55 EDT 1996 i386

> `

или просмотрев файл /proc/version:

> `

>     % cat /proc/version
>     Linux version 2.0.0 (root@fizzbin) (gcc version 2.7.0) #1 Tue Jun 4 16:57:55 EDT 1996

> `

Если дата не соответствует той, когда вы компилировали ядро, значит вы все еще работаете со старым ядром. Действительно ли вы перезагрузились? Если вы используете LILO, действительно ли вы переставили его (обычно запуском /etc/lilo/install)? Если вы загружаетесь с дискеты, создали ли вы новый загрузочный диск и использовали его во время загрузки?

### Шаг 2: Убедитесь, что звуковой драйвер встроен в ядро.

Самый легкий путь проверить это -- просмотреть вывод "dev/sndstat" как описано ранее. Если вывод не такой как ожидалось, тогда что-то было неправильно во время конфигурации или компиляции ядра. Начните процесс инсталляции заново, начиная с процесса конфигурации или компиляции ядра.

### Шаг 3: Обнаруживает ли ядро вашу звуковую карту во времязагрузки?

Убедитесь, что звуковая карта обнаруживается во время загрузки ядра. Вы должны следить за сообщением при загрузке. Если сообщения ушли за пределы экрана, вы обычно можете просмотреть их используя команду `dmesg`:

> `

>     % dmesg

> `

или

> `

>     % tail /var/adm/messages

> `

Если ваша карта не нашлась, значит что-то неправильно. Убедитесь, что она действительно установлена. Если звуковая карта работает под DOS, то вы точно убедитесь, что оборудование работает, так что проблемы скорее всего с настройкой ядра. Либо вы настроили свою карту указав неправильный тип или задав неправильные параметры, или ваша карта не совместима с любым звуковым драйвером Linux.

Еще может быть, что у вас звуковая карта "совместимого" типа, которые требуют инициализации драйвером DOS. Попытайтесь загрузить DOS и загрузить поставляемый продавцом драйвер звука. Затем перезагрузите Linux ("теплая" перезагрузка), нажав `Control-Alt-Delete`. Убедитесь, что номера портов ввода/вывода карты, настройки DMA, и IRQ в Linux те же самые, что и используются под DOS. Прочитайте файл Readme.cards из пакета звукового драйвера для инструкций о конфигурации вашего типа карты.

Если ваша карта не перечислена в этом документе, возможно, что драйвер Linux не поддерживает ее. Вы можете проверить это с помощью некоторых ссылок, перечисленных в конце документа.

### Шаг 4: Можете вы считывать данные с устройства dsp?

Попытайтесь считать с устройства /dev/audio используя команду `dd` показанную ранее в этом документе. Команда должна работать без ошибок.

Если она не работает, вероятно что проблема в конфликте IRQ или DMA или некотором роде несовместимости оборудования (устройство не поддерживается Linux или драйвер настроен для неправильного устройства).

Маловероятная возможность -- сломанное оборудование. Постарайтесь протестировать звуковую карту под DOS для исключения этой возможности.

### Когда все эти шаги дали сбой

Если вы все еще имеете проблемы, здесь некоторые заключительные пожелания о вещах, которые надо постараться сделать:

- внимательно перечитайте этот документ
- прочитайте материалы на ссылках, перечисленных в конце этого документа, особенно страницу Hannu Savolainen и файлы с документацией, соответствующие драйверу ядра
- пошлите вопрос в одну из групп новостей `comp.os.linux` или другую группу новостей (comp.os.linux.hardware -- это хороший выбор; вследствии высокого трафика в этих группах поместите строку "sound" в заголовке письма, так чтобы эксперты могли заметить его)
- Использование поисковой системы Web/Usenet с правильно составленным запросом может быстро дать хорошие результаты. Один из таких поисковых серверов http://www.altavista.digital.com
- попробуйте использовать последнюю версию ядра Linux (но только как последнюю надежду, поскольку последние версии ядер могут быть нестабильными)
- пошлите сообщение автору звукового драйвера
- пошлите сообщение автору этого документа (The Linux Sound HOWTO)
- Запустите emacs и наберите `Esc-x doctor` :-)

Next Previous Contents