Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

2004 г

Руководство FreeBSD
(FreeBSD Handbook)

Проект Русской Документации FreeBSD

содержание

7.2. Настройка звуковой карты

Предоставил Moses Moore. Расширил для FreeBSD 5.X Marc Fonvieille.

7.2.1. Настройка системы

Перед тем как начать, определите модель вашей карты, процессор, который она использует, и интерфейс карты: PCI или ISA. FreeBSD поддерживает множество разных PCI и ISA карт. Сверьтесь со списком поддерживаемых аудио устройств в Информации об оборудовании, чтобы проверить, поддерживается ли ваша карта. Этот документ также содержит информацию о том, какой драйвер поддерживает вашу карту.

Для того, чтобы использовать звуковую карту, вы должный загрузить соответствующий драйвер устройства. Этого можно достигнуть двумя путями. Простейший способ - это просто загрузить соответствующий вашей карте модуль ядра используя kldload(8), что можно сделать или из командной строки:

# kldload snd_emu10k1

или добавлением соответствующей строки к файлу /boot/loader.conf:

snd_emu10k1_load="YES"

Эти примеры приведены для звуковой карты Creative SoundBlaster® Live!. Другие имеющиеся модули драйверов звуковых карты приведены в /boot/defaults/loader.conf Если вы не уверены, какой драйвер использовать, попробуйте загрузить snd_driver:

# kldload snd_driver

Это мета-драйвер, загружающий сразу все наиболее распространенные драйверы сразу. это повышает скорость поиска правильного драйвера. Возможна также загрузка всех звуковых драйверов через /boot/loader.conf.

Замечание: В FreeBSD 4.X для загрузки всех звуковых драйверов вам будет необходимо загрузить модуль snd вместо snd_driver.

Другой способ заключается в добавлении статического драйвера в ядро. В разделе ниже дана более подробная информация о том, что вам нужно сделать для добавления поддержки оборудования. Более подробно о конфигурация ядра описана в Гл. 8.

7.2.1.1. Настройка собственного ядра с поддержкой звука

Первое, что необходимо сделать, это добавить в ядро общий звуковой драйвер sound(4). Добавьте в файл конфигурации ядра следующую строку:

device sound

В FreeBSD 4.X, вам необходимо использовать следующую строку:

device pcm

Затем необходимо добавить поддержку имеющейся звуковой карты. Следовательно, нужно знать какой драйвер поддерживает карту. Для этого сверьтесь со списком поддерживаемых устройств из Информации об оборудовании. Например, звуковая карта Creative SoundBlaster Live! поддерживается драйвером snd_emu10k1(4). Для добавления поддержки этой карты, используйте:

device snd_emu10k1

Прочтите страницу справочника драйвера, чтобы узнать, какой синтаксис использовать. Информация, относящаяся к синтаксису включения звуковых драйверов в файл конфигурации ядра, может быть также найдена в файле (/usr/src/sys/i386/conf/LINT для FreeBSD 4.X).

Не-PnP ISA карты могут потребовать включения в ядро информации о настройках звуковой карты (IRQ, I/O port, и т.д.). Эта информация добавляется редактированием файла /boot/device.hints. Во время загрузки системы loader(8) прочтет этот файл и настройки ядру. Например, старая ISA не-PnP карта Creative SoundBlaster 16 использует драйвер snd_sbc(4) со следующей строкой, добавленной к файлу настройки ядра:

device sbc

и со следующей информацией в /boot/device.hints:

hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"

В данном случае, карта использует порт ввода-вывода 0x220 и IRQ 5.

Синтаксис, используемый в файле /boot/device.hints, описан в справочной странице драйвера. В FreeBSD 4.X эти настройки записываются непосредственно в файл конфигурации ядра. В случае ISA карты используется такая строка:

device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15

Установки, приведенные выше, используются по умолчанию. В некоторых случаях вам может потребоваться изменить IRQ или другие настройки в соответствии с настройками карты. За более подробной информацией обратитесь к странице справочника snd_sbc(4).

Замечание: В FreeBSD 4.X некоторые системы со встроенной в материнскую плату звуковой картой могут потребовать следующей строки в файле настройки ядра:

options PNPBIOS

7.2.2. Тестирование звуковой карты

После перезагрузки модифицированного ядра, или после загрузки необходимого модуля, звуковая карта должна появиться в буфере системных сообщений (dmesg(8)) примерно так:

pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff
   irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>

Статус звуковой карты может быт проверен через файл /dev/sndstat:

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)

Вывод этой команды для вашей системы может отличаться. Если устройства pcm не появились, вернитесь назад и проверьте выполненные действия. Проверьте файл настройки ядра еще раз и убедитесь, что выбрано подходящее устройство. Часто встречающиеся проблемы приведены в Разд. 7.2.2.1.

Если всё пройдет удачно, звуковая карта заработает. Если CD-ROM или DVD-ROM привод правильно подключён к звуковой карте, вы можете вставить CD в привод и воспроизвести его при помощи cdcontrol(1).

% cdcontrol -f /dev/acd0 play 1

Различные приложения, например audio/workman может предоставить более дружественный пользователю интерфейс. Вы можете также установить приложения для прослушивания звуковых файлов MP3, как например audio/mpg123. Быстрым способом тестирования звуковой карты является отправка данных в файл /dev/dsp, как здесь:

% cat filename > /dev/dsp

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

Замечание: Пользователям FreeBSD 4.X потребуется создать устройства звуковой карты перед тем, как ее использовать. Если в буфере системных сообщений карта появилась как pcm0, вам необходимо выполнить от root следующее:

# cd /dev
# sh MAKEDEV snd0

Если карта обнаружена как pcm1, выполните то же самое, заменив snd0 на snd1.

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

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

7.2.2.1. Часто встречающиеся проблемы
Ошибка Решение
``unsupported subdevice XX''

Одно или более устройств не были правильно созданы. Повторите приведенные выше шаги.

``sb_dspwr(XX) timed out''

Порт ввода-вывода указан неправильно.

``bad irq XX''

IRQ установлен неправильно. Убедитесь, что настройки в системе и на карте одинаковы.

``xxx: gus pcm not attached, out of memory''

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

``xxx: can't open /dev/dsp!''

Проверьте с помощью fstat | grep dsp, не занято ли устройство другим приложением. Создать проблемы могут esound и поддержка звука в KDE.

7.2.3. Использование нескольких источников звука

Предоставил Munish Chopra.

Достаточно часто встречается необходимость иметь несколько источников звука, которые должны воспроизводить одновременно, например когда esound или artsd не поддерживают совместное использование звукового устройства с некоторым приложением.

FreeBSD позволяет делать это при помощи виртуальных звуковых каналов, которые могут быть настроены с помощью sysctl(8). Виртуальные каналы позволяют вам мультиплексировать каналы воспроизведения звуковой карты, смешивая звук в ядре.

Для установки количества виртуальных каналов вы можете использовать две переменные sysctl, которые, если вы пользователь root, могут быть установлены таким образом:

# sysctl hw.snd.pcm0.vchans=4
# sysctl hw.snd.maxautovchans=4

В этом примере выделяются четыре виртуальных канала, чего вполне достаточно для повседневного использования. hw.snd.pcm0.vchans это количество виртуальных каналов устройства pcm0, оно может быть установлено сразу же, как только устройство было подключено. hw.snd.maxautovchans это количество виртуальных каналов, которые выделяются новому аудиоустройству, когда оно подключается при помощи kldload(8). Так как модуль pcm может быть загружен независимо от аппаратных драйверов, hw.snd.maxautovchans может указывать количество виртуальных каналов для любых устройств, которые будут подключены позже.

Если вы не используете devfs(5), необходимо будет указать приложениям /dev/dsp0.x, где x это число от 0 до 3, если hw.snd.pcm0.vchans установлено в значение 4. Для системы, использующей devfs(5), вышеуказанные настройки будут сделаны автоматически прозрачно для пользователя.

7.2.4. Установка значений по умолчанию для каналов mixer

Предоставил Josef El-Rayes.

Значения по умолчанию для различных каналов mixer жестко прописаны в исходных текстах драйвера pcm(4). Существует множество различных приложений и даемонов, которые позволяют устанавливать значения для mixer, которые они запоминают и выставляют каждый раз при запуске, но это не совсем правильное решение, нам нужны значения по умолчанию на уровне драйвера. Они могут быть установлены путем указания в /boot/device.hints. Например:

hint.pcm.0.vol="100"

Установит значение для канала volume в значение по умолчанию 100, как только будет загружен модуль pcm(4).

Замечание: Только FreeBSD 5.3 и более свежие релизы поддерживают эту возможность.

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...