Ключевые слова:freebsd, sound, kernel, hardware, (найти похожие документы)
From: http://f0kp.iplus.ru/ <[email protected]>
Subject: Конфигурация SoundBlaster в FreeBSD
Оригинал: http://f0kp.iplus.ru/proj/fb6.html
Конфигурация Вашего SoundBlaster в FreeBSD
Конфигурация звуковой карты под FreeBSD не является интуитивно
понятной или хорошо документированной процедурой. Вот некоторая
информация для того, чтобы помочь вам справиться с этой задачей, и
примеры из моего собственного, рабочего ядра. Я успешно настроил карты
SoundBlaster AWE 32 и AWE 64.
Этот документ даст вам простые инструкции по традиционной конфигурации
звукового драйвера FreeBSD. Если вы хотите сконфигурировать свою
звуковую карту используя новый PnP код от Luigi, сходите на
Звуковые Драйверы Luigi http://www.iet.unipi.it/~luigi/sound.html
Также смотрите файл /usr/src/sys/i386/isa/sound/sound.doc для получения
дополнительной информации.
Краткое описание настроек IRQ/DRQ:
В следующих примерах обратите внимание на то, как устанавливается IRQ,
и как DRQ используется для кодирования канала DMA. Это важно! Также
обратите внимание, что карты, такие как некоторые Gravis UltraSound
(GUS) карты используют второй канал DMA. Это должно быть определено в
flags!
Типичная установка SoundBlaster с одним каналом DMA:
# Soundblaster с IRQ 5 и DMA каналом 1:
device sb0 at isa? port 0x220 irq 5 drq 1 vector sbintr
Почти то же самое в случае GUS карты:
# GUS использующий IRQ 12 и единственный канал DMA (1):
device gus0 at isa? port 0x220 irq 12 drq 1 vector gusintr
Ну и, наконец, пример GUS с двумя каналами DMA. Обратите внимание, что
второй канал DMA конфигурируется в 'flags':
# GUS использующий IRQ 12 и два канала DMA, 1 и 3:
device gus0 at isa? port 0x220 irq 12 drq 1 flags 0x3 vector gusintr
1. Просмотрите файл LINT.
LINT - это ваш союзник. Он содержит примеры для большинства типов
аппаратного обеспечения. В моих примерах используются специфичные для
SoundBlaster конфиги. Если у вас другой тип Звуковой Карты, или если
ваша карта не работает после использования моих примеров, прочитайте
файл LINT для получения советов по вашей карте. Для перехода к части
Sound Driver файла LINT, сделайте это:
a. cd /usr/src/sys/i386/conf/
Если у вас нет этой директории, то у вас нет исходников ядра.
Вернитесь (http://secnet.on.ufanet.ru/fbsd.html) и смотрите информацию по CVSUP.
b. Прочитайте файл LINT, поищите строку:
# Audio drivers: `snd', `sb', `pas', `gus', `pca'
Это первая строка раздела Audio Drivers.
2. Отредактируйте конфигурационный файл вашего ядра и добавьте эти
опции:
# Controls all sound devices
# snd: Voxware sound support code
controller snd0
# sb: SoundBlaster PCM - SoundBlaster, SB Pro, SB16, ProAudioSpectrum
device sb0 at isa? port 0x220 irq 5 drq 1 vector sbintr
# sbxvi: SoundBlaster 16
device sbxvi0 at isa? drq 5 conflicts
# sbmidi: SoundBlaster 16 MIDI interface
device sbmidi0 at isa? port 0x330
# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
device opl0 at isa? port 0x388
Обратите внимание, что если вы используете GUS карту, вам придется
поэкспериментировать. Поищите данные по gus0 в LINT и воспользуйтесь
ими. Сперва вам необходимо определеть число каналов DMA, которые имеет
ваша карта GUS, 1 или 2. Используйте строку 'device gus0' вместо
строки 'device sb0'. Удалите опции SoundBlaster, которые вам не нужны.
3. Создайте устройство snd0.
# cd /dev
# ./MAKEDEV snd0
4. Пересоздайте ваше ядро и перезагрузитесь.
Когда вы сделаете все это, вам необходимо пересоздать ваше ядро,
установить новое ядро и перезагрузить вашу систему.
5. Протестируйте вашу /dev/audio.
Воспользуйтесь этим:
ftp://flag.blackened.net/pub/incoming/sounds/sorrydave.au
Попробуйте проиграть это через /dev/audio:
# cat ./sorrydave.au > /dev/audio
Что-нибудь слышите? Ваши динамики были включены? Настройки вашего
Порта и IRQ/DRQ правильны? Эти вещи, вероятно, должны быть установлены
в соответствии с вашими конкретными настройками.