Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

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

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

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

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

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

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

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

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

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

Alsa-sound-mini-HOWTO
Пред. 

Советы по устранению неисправностей

Пожалуйста, сначала прочтите файл FAQ в каталоге драйвера. Эта глава еще дорабатывается.

Компиляция драйвера


Linux ".h" файлы ядра

Если драйверы ALSA не компилируются правильно, и вы получаете сообщения типа ``version.h'', и/или заголовки некоторых файлов не могут быть найдены, то это означает, что у вас отсутствуют ".h" файлы ядра. Просмотрите kernel-HOWTO, разархивируйте ядро в каталог /usr/src и выполните make config.


Если вы не можете создать исполняемые файлы

Эти утилиты содержат программы написанные на c++. У большинства стоят компиляторы c++ из gcc или egcs, но следует проверить и наличие установленного libstdc++-devel, иначе ваша система при запуске скриптов настройки этих утилит выдаст сообщение об ошибке типа ``c++ compiler cannot create executables'' (ваш компилятор С++ не может создавать запускаемые файлы).

Если вы не можете загрузить драйвер

Пожалуйста, проверьте следующие шаги.


Звуковые устройства

Драйверы ALSA используют различные устройства из /dev-tree. Удостоверьтесь в том, что вы запустили скрипт ./snddevices в каталоге исходных текстов драйверов ALSA.


Проблемы с совместимостью карт

Вы точно уверены, что ваша карта СОВМЕСТИМА с ALSA? Проверьте это еще раз. Иногда X123 - не обязательно X123b. С другой стороны, даже совместимая карта может доставить вам множество неудобств, я, например, очень долго возился при установке CS4237B, потому что к нему была очень туманная документация.


если вы получаете сообщения типа``Device busy'' или ``unresolved symbols''

Возможно, у вас собрана поддержка звука в ядре 2.0.x, или загружается драйвер OSS/Lite (ядро) (проверьте это при помощи cat /proc/modules). Уберите драйвер или пересоберите ядро (взгляните на Kernel-HOWTO).

Звуковой модуль в ядрах 2.0 называется ``sound.o'', и не должен загружаться. (Есть еще драйвер ALSA ``snd.o'').

Если у вас ядро 2.2.x, и в нем не собран звуковой драйвер, то драйверы АLSA также не будут работать.

Ядра 2.0

Я знаю, это звучит глупо, но позвольте вам напомнить еще раз. Если у вас ядро 2.0.x (команда ``uname -a'' выдает вам следующую информацию ``Linux penguin 2.0.35 #6 Wed Sep 23 10:19:16 CEST 1998 i686 unknown''), то вы должны убрать драйверы из ядра. Версии ALSA 0.4.x и более поздние не работают с ядрами 2.0

Ядра 2.2

Если у вас ядро 2.2.x то вам не нужны звуковые драйверы. Ядра 2.2 должны быть собраны с поддержкой звука, но без каких-либо драйверов карт.


Устранение ссылок на другой драйвер

Другой причиной, того, что драйвер ссылается на занятость устройства может быть файл /etc/conf.modules, который до сих пор ссылается на драйвер карты. Вы должны удалить ссылки на драйвер карты и вставить ссылки на драйверы ALSA.


Если у вас все еще появляется сообщение "Unresolved symbols"

Другим источником ошибки "unresolved symbols" может являться новое ядро со старыми драйверами. Перекомпилируйте драйверы ALSA после того, как перекомпилируете новое ядро.


Проверка установок PnP

Вы уверены, что ваша карта работет? Посмотрите еще раз PnP-HOWTO и удостоверьтесь, что вы инициализировали ее правильно.


Правильно ли вы указали параметры карты ?

Проверьте и перепроверьте параметры вашей карты. Напоминаю: 534 это не 543, как и 0x534 это не 534.

Некоторые карты могут иметь модули с другим названием. Еще раз просмотрите команду ``modprobe''. Например, драйвер к Crystal 4232 должен загружаться как modprobe snd-card-cs4232, а не "snd-cs4231", или SoundBlaster PCI 64 загружается как "snd-card-audiopci", а не snd-es1370.

Если драйвер загружается..... но звука нет


Настройки "mute"

У драйверов ALSA, как и у большинства карт, есть настройки типа "mutе". Если вы правильно установили драйверы, но карта все равно не работает, то, возможно, вы забыли про настройки "mute" . Для этого вам потребуется "amixer" или "alsamixer", которые находятся в утилитах драйверов АLSA. Теперь наберите:

amixer set -c 1 Master 70 unmute
amixer set -c 1 PCM 70 unmute
amixer set -c 1 CD 70 unmute
Не забудьте, что вы должны пропустить "set" в командной строке, если у вас старый `amixer'.


Настройки "Gain"

Некоторые карты имеют отдельный усилитель в микшере для входных и выходных сигналов. Это дополнение обычно называется "gain", "in-gain" для входа и "out-gain" для выхода. Устанавливая этот gain на определенный уровень, вы можете достичь максимальной громкости на колонках (подумайте о ваших родителях/соседях/своих ушах). Установки делаются командой

amixer set out-gain 100 unmute


Совместимость OSS/Linux

Если вы используете драйверы ALSA впервые, но уже пользовались встроенными драйверами ранее, то вам скорее всего понадобится обратная совместимость (можно использовать устройство /dev/pcmX ). Для этого вам потребуется установить "драйвер совместимости с OSS". Выполните команду modprobe snd-pcm1-oss && modprobe snd-mixer-oss. (Прочитайте конец этой главы об установке драйвера). Замечание: snd-pcm1-oss это не то же самое, что и snd-pcm1; snd-pcm1-oss вам потребуется для поддержки звука старым способом, а snd-mixer-oss для микшера.


Если вы не можете открыть микшер

Если вы пробовали установить несколько разных версий ALSA, то иногда, в этих случаях, микшер больше нельзя открыть. Это случается если вы установили 0.3.2, а потом переустановили версию 0.3.0-pre4 (IIRC). Вам следует удалить все файлы libasound и все ссылки из /usr/lib, а затем перекомпилировать все библиотеки и утилиты:

rm /usr/lib/libasound.*
И чтобы полностью быть уверенным в успехе, вам надо удалить все драйверы ALSA, затем их перекомпилировать и переустановить.

Общие рекомендации


Попробуйте использовать"insmod"

Лучше начинать с "insmod", а не с kerneld. Может быть, вам поступит сообщение об ошибке.


Прочтите файл INSTALL

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


Сообщения об ошибках

В крайнем случае, можно пересобрать драйвер, а сообщения об ошибках переправить в /var/log/messages. Зайдите в каталог драйверов, используя cd /usr/src/alsa-driver-...., и дайте следующую команду:

./configure --with-debug=detect; make clean; make

Уберите драйвер (так как он активирован, посмотрите инструкцию по его удалению). Затем при помощи "modprobe", установите заново собранный драйвер. Просмотрите /var/log/messages на наличие сообщений.


Если вы все же не смогли справиться...

Если эти сообщения не помогли вам разобраться в ситуации, то пошлите письмо с описанием вашей проблемы по адресу alsa-user@alsa-project.org.

В письме должна содержаться следующая информация:

  • Название вашей звуковой карты + названия микросхем, используемых картой

  • Соответствующие части isapnp.conf, если у вас карта ISA PnP

  • conf.modules, или команды которыми вы активировали драйвер ALSA

  • Все сообщения из /var/log/messages, касающиеся драйвера ALSA

Сообщите нам о замеченных ошибках

Если вы обнаружите ошибку, то разработчики драйверов ALSA были бы вам очень признательны за следующую информацию о ней

  1. Название драйвера + версия ядра: 'cat /proc/asound/version'

  2. Информация по карте:

    • название карты (данное производителем)

    • список используемых картой микросхем

    • содержание 'cat /proc/asound/cards'

  3. Все сообщения из /var/log/messages, относящиеся к драйверу ALSA

  4. Описание ошибки

Совет по применению CD

При использовании kmod/kerneld и драйверов ALSA для проигрывания CD, программы kmod/kerneld не используют драйверы. Это случается потому, что команда, поступающая на проигрыватель CD, приказывает, только ему воспроизводить звук, и не посылает сообщение kmod/kerneld о том, что есть звук. Пожалуй, единственным решением может быть использование modprobe.

Совет по установке драйвера MIDI

Обычно IO порт последовательного устройства управляется стандартным драйвером устройства. До команды ``modprobe snd-serial'' мы должны предупредить драйвер, чтобы он освободил устройство.

Здесь описана процедура.

setserial /dev/ttyS0 uart none
modprobe snd-serial

(Замените /dev/ttyS0 соответствующим устройством /dev/ttySx, если ваше устройство MIDI использует другое последовательное устройство).

Совет: новое ядро? Новые модули!

После того как вы замените ядро, вам следует пересобрать драйверы ALSA. Если вы в каталоге /usr/src, не забудьте скомандовать make clean до того, как выполните ./configure, make, make install.

Да, еще есть ошибка с ядром ``2.2.0ac1'' о котором скрипт настройки говорит ``not a number'' (использовано не числовое выражение). Я думаю, что это все же поправили в новых скриптах, иначе вам придется изменить версию ядра в исходниках.

Совет по использованию KDE и драйверов ALSA

Предположим, что у вас стоит работающая KDE, но не работают системные звуки: например звук при открытии окна или программы. При этом у вас работает проигрыватель CD, mp3 и микшер, то, возможно, у вас не запущено "kwmsound".

Поэтому удостоверьтесь, что "kwmsound" запускается вашим загрузочным скриптом ($KDEDIR/bin/startkde)

Совет: используйте устройства ALSA

Если у вас скомпилирована поддержка звука в ядре, то все приложения будут работать с /dev/pcm0, /dev/audio и /dev/mixer. Это нормально, если вы используете совместимость с OSS при помощи модуля snd-pcm1-oss. Но было бы лучше, если бы вы использовали устройства ALSA, находящиеся в /dev/snd/.

Совет по выгрузке из памяти всех модулей

Удаление из памяти более десяти модулей занятие довольно скучное. К счастью, все модули имеют приставку "snd-" , поэтому можно исхитриться и написать программу в одну командную строку. Вы можете удалить их, используя строку:

cat /proc/modules|gawk '/^snd-/{print $1}'|xargs -i rmmod {}

Juergen Kahrs написал мне: "У меня есть скрипт, который выгружает из памяти модули soundcore, soundlow и sound, если они не используются". Этот скрипт обращается к /proc/modules трижды, поэтому там не должно оставаться модулей после запуска скрипта''. Его скрипт представлен ниже

awk '/^snd/||/^sound/&&($3==0){system("rmmod " $1)}' /proc/modules /proc/modules /proc/modules

Замечание: если один модуль зависит от другого модуля (главного) вы не можете просто удалить главный модуль. Вам придется удалить сначала зависимый, а потом уже главный. (Я не сталкивался с такой ситуацией, но, вероятно, можно выгружать модули ALSA в том порядке в каком они стоят в /proc/modules).


Пред.Начало 
Тестирование и использование  
VPS/VDS серверы. 30 локаций на выбор

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

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

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

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

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

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

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

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

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

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

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

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

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

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