Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  UPS APC-1500
  NetMos NM9845
  cisco & syslog
  LAN card`s test
  HDD & UDMA100
  S.M.A.R.T.
  D-Link DE-200TP
  Marvell 88E8053
  D-Link DGE530T
  КПК + FreeBSD
  D-Link DWL-G520
  SkyLink-CDMA
  Atheros AR5007EG
  BlueTooth mouse
  Asus Eee PC
  atacontrol
  SkyStar-2+SlonAx
  TT budget S-1401
  SiS*Mirage*1 на D201GLY2
  NetXtreme BCM5722
  snd_hda
  Peoplenet + C-motech (3G)
  freebsd + huawei 162 gsm modem
  tw_cli
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco
www.lissyara.su —> статьи —> FreeBSD —> Шелезяки —> snd_hda

Патчим snd_hda для корректной работы с наушниками

Автор: manefesto.


Вместе с выходом 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://forum.lissyara.su/viewtopic.php?t=9100.

размещено: 2008-07-02,
последнее обновление: 2008-07-02,
автор: manefesto

оценить статью:





Хостинг HOST-FOOD

2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-22, Mufanu
named 9.7.0

Система доменных имен (Domain Name Service, DNS) - одна из тех незаметных, закулисных программ, которым не уделяется и половины того внимания, которого они заслуживают.
2010-03-09, terminus
DNS zones

Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)

Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4

Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3

Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 60 чел.
За последние 30 мин было: 238 человек
За сегодня было
15984 показов,
1810 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.1066 секунд
Из них PHP: 42%; SQL: 58%; Число SQL-запросов: 77 шт.
Исходный размер: 79392; Сжатая: 16621