Документация по ОС FreeBSD Понедельник, 06.05.2024, 16:24
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Работа с железом

Патчим snd_hda для корректной работы с наушниками [2008]
Вместе с выходом FreeBSD 6.3,7.0 в состав дистрибутива был включен драйвер snd_hda.
Купив ноутбук и обнаружев звуковуху HDA, была обнаружен один недочет в драйвере. А именно при втыкании наушников, встроенные динамики продолжали играть.Немного поискав на просторах интернета наткнулся на блог http://acer-freebsd.blogspot.com/2008/02/sound-in-both-speaker-and-headphones.html.
 По аналогии у меня почему то получилось.
Собственно говоря решение проблемы.

Подгружаем модуль snd_hda
$kldload snd_hda

В нулевой консоли наблюдаем нечто вроде

pcm0: <HDA Codec: Realtek ALC888>
pcm0: <HDA Driver Revision: 20071129_0050>

Из этого делаем вывод что используется кодек ALC888.

Теперь смотри вывод pciconf -lv о нашей бездушной железке, а именно :

$pciconf -lv | grep -A2 pcm
pcm0@pci0:0:27:0: class=0x040300 card=0x17651043 chip=0x284b8086 
 rev=0x03 hdr=0x00
 vendor = 'Intel Corporation'
 device = '82801H &SUBSYS_81EC1043&REV_02\3&11583659&0&D8'

на интересует card=0x17651043

Лезем в /usr/src/sys/dev/sound/pci/hda/ и правим hdac.c

Здесь указываем идентификатор карты(первые четыре цифры после 0х) и вносим изменения:
219 #define ASUS_X55SV_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1765)

Привязываем кодек ALC888 к карте

{ LG_LW20_SUBVENDOR, HDA_CODEC_ALC880, HDAC_HP_SWITCH_CTL,
0, 0, -1, 27, { 20, -1 }, -1 },
+ { ASUS_X55SV_SUBVENDOR, HDA_CODEC_ALC888, HDAC_HP_SWITCH_CTL,
+ 0, 0, -1, 27, { 20, -1 }, -1 },
{ ACER_A5050_SUBVENDOR, HDA_CODEC_ALC883, HDAC_HP_SWITCH_CTL,
0, 0, -1, 20, { 21, -1 }, -1 },

Включаем в ядро:
device snd_hda

пересобираем ядро и любуемся звуком в наушниках.
==============================================
PS: По аналогии делаем для других ноутбуков.
PPS: Особая благодарность paradox



Источник: http://www.lissyara.su/?id=1703
Категория: Работа с железом | Добавил: oleg (09.07.2008) | Автор: manefesto
Просмотров: 921 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024