Наши
Сайдбары
   
IRC-канал
Linuxportal.ru
   
Импорт новостей
 
Вход Быстрая регистрация На главную

Поиск:
 
   БИБЛИОТЕКА
     Другие статьи этого раздела:
 

    Hardware
Другие разделы библиотеки:
   БИБЛИОТЕКА
     последние поступления:
 

Hardware
Перевод Serial-Programming-HOWTO
15.05.2006 | San АНДРЕЕВ
Перевод Linux Power Management Support
03.04.2004 | San АНДРЕЕВ
Варианты решения проблем со смещением геометрии монитора.
10.10.2003 | EsTaF
Multimedia
VideoCD для пингвинов
10.10.2003 | Buddha
Смотрим любимые фильмы с помощью MPlayer
23.07.2003 | Alexey Dmitriev
X-сервер
Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах
05.07.2006 | Alexey Dmitriev
НАСТРОЙКА СЕРВЕРА XDMCP ДЛЯ WINDOWS-КЛИЕНТОВ
09.09.2004 | Kotjara
Type1 и truetype шрифты в LaTeX.
03.05.2004 | geekkoo
Разное
Как самому написать концепцию информационной безопасности
22.03.2007 | Crion
Список рекомендуемой литературы
11.09.2006 | San АНДРЕЕВ
The Multi Router Traffic Grapher
02.06.2004 | Crion
Сеть
"Огненная стена" или строим файрвол на базе iptables
15.03.2005 | Alexey Dmitriev
Защищенная почтовая система
08.09.2004 | Crion
Postfix+Cyrus-SASL
18.12.2003 | geekkoo
Система
Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
16.01.2007 | Mr.Nobody
Перевод Linux Daemon HOWTO
21.08.2006 | San АНДРЕЕВ
Усыпляем компьютер
11.01.2006 | San АНДРЕЕВ
   БИБЛИОТЕКА Hardware    
Автор статьи: San АНДРЕЕВ
Дата: 22.07.2003

Настройка звука на i815 в Red Hat Linux 7.2 (и не только)

последние исправления - 17.05.2003

1. Введение и отказ от обязательств.
Все, что здесь написано, не является каким-то официальным документом и не
претендует на полноту и исключительность. К созданию этого опуса меня побудили
повторяющиеся вопросы (на форумах http://linuxportal.ru и
) о том, как сделать то, что вынесено в заголовок.
Здесь я опишу только то, что сделал я и только то, что у меня гарантированно
работает. Ну и под занавес немного примечаний. Я не обязываю вас делать то,
что здесь описано и не утверждаю, что мои действия абсолютно правильны и что
по-другому поступить невозможно. Это всего лишь описание моих действий, а
не руководство к вашим действиям. Если вы решите действовать также, то все
возможные последствия останутся на вашей совести и я не гарантирую того, что
у вас все будет работать так же, как и у меня.

2. Что для этого нужно и где это взять.
- alsa-drivers. Я использовал версию alsa-driver-0.5.12a, взятую с
. Версия 0.9.2 также работает, чего-то особенного по сравнению с 0.5.12 делать не пришлось, кроме того, что поддержку OSS теперь вынесли в отдельную библиотеку и поэтому ее тоже необходимо скачать и установить. Что делают alsa-tools - я не выяснял. Без них все работает. :)

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

# make menuconfig

перейти в раздел "Sound" и выбрать опцию "M" для пункта "Sound Card Support"
(у меня ядро 2.4.17).

Проставьте то же самое напротив "Intel ICH (i8xx) audio
support" и "OSS sound modules" (если вы собираетесь использовать программы, которым для работы нужна OSS, например xmms). В раскрывшемся подменю про OSS везде поставьте
"*". Все, можно выйти из конфига, дальше как обычно:

# make -j 10 (если ресурсы позволяют, то можно и больше)
# make install (перед этой операцией переименуйте старое ядро чтобы не
потерять его)
# make modules
# make modules_install

Если вы используете загрузчик lilo, то не забудьте поправить его конфиг
/etc/lilo.conf на предмет появления нового ядра и обеспечения возможности
загрузки со старым ядром (на всякий случай). Для загрузчика GRUB может оказаться
необходимым поправить файл /boot/grub/grub.conf.

4. Собираем alsa-driver.
Все это делается как обычно

# ./configure --help (для просмотра дополнительные опций и значений по умолчанию)
# ./configure
# make
# make install

и так, как описано в его файле INSTALL, здесь проблем возникнуть не должно.
Если что-то не получается, то скорее всего не из-за самого alsa-driver'а,
а из-за чего-то другого. Постарайтесь как можно яснее и подробнее описать
проблему на каком-нибудь форуме (например http://linuxportal.ru или
) и обязательно процитируйте сообщения об ошибках на
оригинальном языке (не переводите их).

После успешной сборки можно выполнить скрипт snddevices, который находится
там же. В INSTALL сказано, что его выполнять необязательно, если в ваше ядро
встроена поддержка devfs. Поправив /etc/devfsd.conf так, как предложено это сделать в INSTALL, я ничего не добился и скрипт snddevices все равно приходится выполнять после каждой перезагрузки.

Кстати, заметьте, что make install правит ваш modules.dep текущего ядра.

5. Правим /etc/modules.conf.
Пример части моего конфига, отвечающей за звук:

alias char-major-116 snd
alias char-major-14 soundcore
alias snd-card-0 snd-card-intel8x0
alias sound-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-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
options snd-card-intel8x0 snd_mic_frame_size=128 snd_pbk_frame_size=128
snd_ac97_clock=41194 snd_cap_frame_size=128

Самая важная строка - последняя, а в ней самый важный параметр - snd_ac97_clock.
Именно его надо подкручивать, если звук идет быстрее или медленне, чем нужно.
Подробности читайте в INSTALL.

6. Примечания.
а) alsa-driver делает так, что при каждой перезагрузке уровни всех звуковых каналов занижаются до нуля. Чтобы этого не происходило, используйте программу
alsactl из пакета alsa-utils. Чтобы собрать программы из этого пакета, необходимо
скачать и собрать alsa-lib. Далее достаточно один раз настроить уровни нужных
звуковых каналов и скомандовать

# ./alsactl store 0 (0 - это номер моей звуковой карты, у вас скорее всего
такой же, но это не обязательно так)

Теперь надо в конец какого-нибудь стартового скрипта (скорее всего в
/etc/rc.d/rc.local) дописать строчку

alsactl restore 0

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

# ./alsactl --help

В этом пакете также присутствуют консольные микшер (alsamixer) и проигрыватель
компакт-дисков aplay (помощь - ./aplay --help).

б) В системе Debian 2.2 Potato после пересборки ядра необходимо поправить /etc/modules с целью отключения загрузки перечисленных там модулей, ответственных за звук.

в) На чипсете i845PE со встроенной микросхемой alc650 также используется опция intel8x0 для configure.

7. Автор.
San АНДРЕЕВ.

Обоснованные исправления и дополнения приветствуются.

8. Поправки.
Про OSS - DemonZla



Все статьи раздела "Hardware"

©"Linuxportal.Ru". Материалы сайта можно
использовать свободно при условии
сохранения этой свободы при дальнейшем
распространении, если явно не указано иное

Дизайн и программирование:

Поставьте
нашу кнопку:
Получить код кнопки
Linux Portal.ru ::: Линукс Портал.ру
Наш партнер: