URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 2602
[ Назад ]

Исходное сообщение
"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"

Отправлено alexander0203 , 19-Май-09 10:19 
Здравствуйте.

Решил установить FreeBSD 7.2 в качестве десктопа. Возникли проблемы
со звуком. Проблема заключается в следующем:

При воспроизведении музыки через mpg123 в консоли (без иксов и kde)
звук идет тихо с искажениями и только из правой колонки. Кроме того
создается впечатление что правый и левый канал накладываются др.
на друга (хотя не уверен). На фоне звука слышен тихий писк, который
прекращается при окончании воспроизведения.

При загрузке kde 4.2.2 проблема сохраняется, причем если пытаться регулировать
громкость в миксере (перемещая ползунок Front) то звук то резко пропадает,
то резко появляется причем его громкость (в моменты появления) не зависит
от положения ползунка (мин./макс.). Это выглядит точь-вточь как
в старом механическом регуляторе грамкости в котором пропадает контакт :)

При попытке регулировать громкость ползунком PCM (другими не пробовал) звук
пропадает ВООБЩЕ. И вернуть его можно только перезагрузкой системы.

Система определяет звуковую карту как:

#cat /dev/sndstat

FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
Installed devices:
pcm0: <HDA Analog Devices AD1986A PCM #0 Analog> at cad 0 nid 1 on hdac0 kld
  snd_hda [MPSAFE] (1p:4v/1r:4v channels duplex default)
pcm1: <HDA Analog Devices AD1986A PCM #1 Digital> at cad 0 nid 1 on hdac0 kld
  snd_hda [MPSAFE] (1p:1v/0r:0v channels)

Раньше у меня на этой же машине (то же железо) стоял DesktopBSD 1.6 и там звук
работал нормально. Устройство определялось как:

cat /dev/sndstat

FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <VIA VT8251/8237A High Definition Audio Controller> at memory 0xbfffc000
  irq 17 kld snd_hda [20071129_0050] (1p/1r/4v channels duplex default)

У меня 2 вопроса:

Вопрос 1.

Как мне исправить ситуацию и заставить звук работать нормально? Работал ведь
звук на старой системе!

Вопрос 2.

Насколько я понимаю каждый драйвер (snd_hda.ko, snd_cs4281.ko, snd_ds1.ko и
т.д.) поддерживает несколько моделей звуковых карт.
Если предположить что новая система неправильно определяет модель звуковой
карты (и на старой и на новой системе загружался драйвер snd_hda но название
устройств - разные - см. выше) то есть ли возможность определить список
устройств поддерживаемых драйвером snd_hda и ПРИНУДИТЕЛЬНО задать свою
модель звуковой карты а не ту которая определяется автоматически? Как например
это делается в случае с неправильным определением видеокарты?

В файлах настройки прописаны сл. инструкции:

/boot/loader.conf :
...
snd_driver_load="YES"
...

/etc/sysctl.conf
...
hw.snd.maxautovchans=4
hw.snd.pcm0.vchans=4
...

Листинг для новой системы (где проблемы со звуком):

**********************************************************************
sysctl -a | grep snd

hw.snd.latency_profile: 1
hw.snd.latency: 5
hw.snd.report_soft_formats: 1
hw.snd.compat_linux_mmap: 0
hw.snd.feeder_buffersize: 16384
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.verbose: 1
hw.snd.maxautovchans: 16
hw.snd.default_unit: 0
hw.snd.version: 2007061600/i386
hw.snd.default_auto: 0
**********************************************************************
sysctl -a | grep pcm

dev.pcm.0.чsc: HDA Analog Devices AD1986A PCM #0 Analog
dev.pcm.0.%driver: pcm
dev.pcm.0.%parent: hdac0
dev.pcm.0.play.vchans: 4
dev.pcm.0.play.vchanrate: 48000
dev.pcm.0.play.vchanformat: s16le
dev.pcm.0.rec.vchans: 4
dev.pcm.0.rec.vchanrate: 48000
dev.pcm.0.rec.vchanformat: s16le
dev.pcm.0.buffersize: 16384
dev.pcm.1.чsc: HDA Analog Devices AD1986A PCM #1 Digital
dev.pcm.1.%driver: pcm
dev.pcm.1.%parent: hdac0
dev.pcm.1.play.vchans: 1
dev.pcm.1.play.vchanrate: 48000
dev.pcm.1.play.vchanformat: s16le
dev.pcm.1.buffersize: 16384
**********************************************************************
cat /dev/sndstat

FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
Installed devices:
pcm0: <HDA Analog Devices AD1986A PCM #0 Analog> at cad 0 nid 1 on
  hdac0 kld snd_hda [MPSAFE] (1p:4v/1r:4v channels duplex default)
pcm1: <HDA Analog Devices AD1986A PCM #1 Digital> at cad 0 nid 1 on
  hdac0 kld snd_hda [MPSAFE] (1p:1v/0r:0v channels)
**********************************************************************
mixer

Mixer vol      is currently set to 100:100
Mixer pcm      is currently set to  75:75
Mixer speaker  is currently set to  75:75
Mixer mic      is currently set to   0:0
Mixer rec      is currently set to   0:0
Mixer ogain    is currently set to  50:50
Recording source: mic
**********************************************************************
pciconf -vlc
...
hdac0@pci0:128:1:0:    class=0x040300 card=0x81b31043 chip=0x32881106
  rev=0x10 hdr=0x00
vendor     = 'VIA Technologies Inc'
device     = '??? VIA VT8251/8237A High Definition Audio Controller -
  HDA Codec Realtek ALC660'
class      = multimedia
subclass   = HDA
cap 01[50] = powerspec 2  supports D0 D3  current D0
cap 05[60] = MSI supports 1 message, 64 bit
cap 10[70] = PCI-Express 1 type 0
...
**********************************************************************

Распечатка для старой системы (где все работало нормально):

**********************************************************************
sysctl -a | grep snd

hw.snd.report_soft_formats: 1
hw.snd.targetirqrate: 32
hw.snd.compat_linux_mmap: 0
hw.snd.verbose: 1
hw.snd.maxautovchans: 4
hw.snd.unit: 0
hw.snd.pcm0.buffersize: 16384
hw.snd.pcm0.vchans: 4
**********************************************************************
sysctl -a | grep pcm

hw.snd.pcm0.buffersize: 16384
hw.snd.pcm0.vchans: 4
dev.pcm.0.чsc: VIA VT8251/8237A High Definition Audio Controller
dev.pcm.0.%driver: pcm
dev.pcm.0.%location: slot=1 function=0 handle=\_SB_.PCI1.AZAC
dev.pcm.0.%pnpinfo: vendor=0x1106 device=0x3288 subvendor=0x1043
  subdevice=0x81b3 class=0x040300
dev.pcm.0.%parent: pci128
dev.pcm.0.wake: 0
dev.pcm.0.polling: 0
dev.pcm.0.polling_interval: 250
**********************************************************************
cat /dev/sndstat

FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <VIA VT8251/8237A High Definition Audio Controller> at memory
  0xbfffc000 irq 17 kld snd_hda [20071129_0050] (1p/1r/4v channels
  duplex default)
**********************************************************************
mixer

Mixer vol      is currently set to 100:100
Mixer pcm      is currently set to  52:52
Mixer speaker  is currently set to  75:75
Mixer mic      is currently set to   0:0
Mixer cd       is currently set to  75:75
Mixer rec      is currently set to   0:0
Recording source: mic
**********************************************************************
pciconf -vlc
...
pcm0@pci128:1:0:    class=0x040300 card=0x81b31043 chip=0x32881106
  rev=0x10 hdr=0x00
vendor     = 'VIA Technologies Inc'
device     = '??? VIA VT8251/8237A High Definition Audio Controller -
  HDA Codec Realtek ALC660'
class      = multimedia
cap 01[50] = powerspec 2  supports D0 D3  current D0
cap 05[60] = MSI supports 1 message, 64 bit
cap 10[70] = PCI-Express 1 type 0
...
**********************************************************************


Содержание

Сообщения в этом обсуждении
"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено zulu , 20-Май-09 12:49 
Такая же проблема была, читал man snd_hda, добился только того что пропал свист в левом канале, звук шел через правый. Потом нашел кое чего вот тут http://www.lissyara.su/?id=1703, но руки так и не дошли, в идоге я скопировал 2 файлика из ядра 7.0 -
snd_hda.ko
snd_hda.ko.symbols

и в итоге у меня все заработало =)


"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено alexander0203 , 20-Май-09 13:16 
>Такая же проблема была, читал man snd_hda, добился только того что пропал
>свист в левом канале, звук шел через правый. Потом нашел кое
>чего вот тут http://www.lissyara.su/?id=1703, но руки так и не дошли, в
>идоге я скопировал 2 файлика из ядра 7.0 -
>snd_hda.ko
>snd_hda.ko.symbols
>
>и в итоге у меня все заработало =)

Гм.. да, я тоже так пытался обмануть систему - тупо копировал файл snd_hda.ko от старой системы (freebsd 6.3) в каталог /boot/kernel новой системы (freebsd 7.2). Но не помогло.
Правда файл snd_hda.ko.symbols скопировать не догадался.

По поводу ссылки http://www.lissyara.su/?id=1703. Не понятна ситуация с наушниками. Если я правильно понял - там проблема в том что при втыкании наушников динамики продолжают играть. Странно но мне казалось что за это отвечает телефонный разъем. Когда втыкаешь в него штепсель то там просто контакты переключаются и отключают динамики. Механически. По идее драйвер тут совершенно не причем. Или я не прав? Во всяком случае в моем переносном
приемнике так и сделано: слушаешь динамики. Воткнул телефоны в разъем - динамики
отключились (переключился контакт). Выдернул телефоны - опять подключились динамики.

Правда не знаю, как сейчас это делается в ноутбуках - может там все подругому уже.

Но по данной ссылке проблема другая - не та что у меня. У меня звук работает но криво - один канал, писк, не регулируется миксером (сразу пропадает звук). Если это глюк драйвера, то может быть есть возможность его (драйвер) как нибудь пропатчить.
Пересобирать ядро системы по возможности не хотелось бы.


"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено alexander0203 , 20-Май-09 13:36 
>Такая же проблема была, читал man snd_hda, добился только того что пропал
>свист в левом канале, звук шел через правый. Потом нашел кое
>чего вот тут http://www.lissyara.su/?id=1703, но руки так и не дошли, в
>идоге я скопировал 2 файлика из ядра 7.0 -
>snd_hda.ko
>snd_hda.ko.symbols
>
>и в итоге у меня все заработало =)

Насчет файлов из ядра 7.0 - надо попробовать. Только не могу найти (на установочном диске)
файла snd_hda.ko.symbols. Откуда ты его брал?



"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено alexander0203 , 20-Май-09 13:53 
О! нашел! Файл snd_hda.ko.symbols лежал в установленной системе 7.0 в каталоге
/boot/kernel вместе с файлом snd_hda.ko.

Буду пробовать.


"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено alexander0203 , 20-Май-09 20:08 
УРАААААААА!!! Заработало!

Точно! Я взял файлы snd_hda.ko и snd_hda.ko.symbols от freebsd 7.0 и поставил их
вместо родных (на freebsd 7.2) и звук заработал! Отлично!

Огромное спасибо! Эх, вот все бы проблемы во фряхе решались так же просто по-виндузячьи ! :)



"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено mambur , 28-Май-09 22:48 
>УРАААААААА!!! Заработало!
>
>Точно! Я взял файлы snd_hda.ko и snd_hda.ko.symbols от freebsd 7.0 и поставил
>их вместо родных (на freebsd 7.2) и звук заработал! Отлично!

А я грешил на KDE4, который свежеустановил.
Что-то у команды разработчиков не ладится со звуком. У меня уже год лежит архив со звуковыми модулами ядра, которые пришлось самому пропатчить под ноут (pavilion).

Распаковал, бутнул и вот он чистый звук.
Опеннет как всегда спас.


"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено BHYCHIK , 05-Ноя-09 18:02 
Господа, может кто-нибудь выложить эти 2 файла куда-нибудь. Ставить 7.0 не хочется. Да и траффика мало.

"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено mambur , 05-Ноя-09 18:15 
Выложил пропатченные мной модули для hp pavilion:
http://freebsd.od.ua/download/snd_hda.ko
http://freebsd.od.ua/download/snd_hda.ko.symbols
или
http://freebsd.od.ua/download/snd_module_freebsd70.tar.bz2

"Подтягивайтесь..."
Отправлено mambur , 08-Ноя-09 03:01 
Ставим восьмеру и радуемся прежнему писку...
Заменой файликов не лечиться :(

Таки надо ковырять глубже. Видимо за нас этого никто не сделает.
Так что ставьте будем бумать вместе как его перебороть ;)


"Подтягивайтесь..."
Отправлено Сергей , 07-Янв-10 01:01 
>Ставим восьмеру и радуемся прежнему писку...
>Заменой файликов не лечиться :(
>
>Таки надо ковырять глубже. Видимо за нас этого никто не сделает.
>Так что ставьте будем бумать вместе как его перебороть ;)

Ребята, замена файликами лечится. Тока если файлы от 7.0, в версиях ниже не катит.
Спасибо за ссылку земляку :)

http://freebsd.od.ua/download/snd_module_freebsd70.tar.bz2

Первые две не работают, а эта то, что надо.
Качайте и ковыряйте.

P.S. К слову сказать. Где то было написано что в 7.2 проблема с snd_ich, поставил фрю 7.2 работает все, без руковмешательства.


"Подтягивайтесь..."
Отправлено kharakternyk91 , 25-Окт-11 16:21 
> Ставим восьмеру и радуемся прежнему писку...
> Заменой файликов не лечиться :(
> Таки надо ковырять глубже. Видимо за нас этого никто не сделает.
> Так что ставьте будем бумать вместе как его перебороть ;)

Скажу даже больше: при замене файлов, их система не может рапознать (наверное старая версия), а поменяв еще и модуль sound.so - систмема просто падает :(


"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено mambur , 07-Дек-09 12:30 
Александр Мотин посоветовал проникнуться маном по snd_hda.
Для тех кто понимает русский выложил перевод - http://lib.misto.kiev.ua/MAMBURUNIX/snd_hda.txt

Понемногу приходит просветление


"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено guest , 19-Мрт-10 10:24 
ТС, спасибо за созданную тему

>Александр Мотин посоветовал проникнуться маном по snd_hda.
>Для тех кто понимает русский выложил перевод - http://lib.misto.kiev.ua/MAMBURUNIX/snd_hda.txt
>
>Понемногу приходит просветление

mambur, извините, у вас получилось убрать это искажение как написано в первом посте?

так а вчем проболема искажения? я что-то не понял...


FreeBSD x0.org.ua 8.0-CURRENT FreeBSD 8.0-CURRENT #1: Fri Jun 19 03:10:26 EEST 2009  

cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
Installed devices:
pcm0: <Intel ICH5 (82801EB)> at io 0xfc001000, 0xfc002000 irq 17 bufsz 16384  [MPSAFE] (1p:2v/1r:1v channels duplex default)


"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено mambur , 19-Мрт-10 10:48 
При последнем обновлении мира(8.0-STABLE) проблема с писком ликвидировалась на домашней машинке. И звук исчез абсолютно (при том же обновлении) на рабочей машинке.

"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено guest , 19-Мрт-10 13:33 
и мой драйвер Intel ICH5 все таки  snd_ich(4)


"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено guest , 19-Мрт-10 13:35 
>и мой драйвер Intel ICH5 все таки  snd_ich(4)

mambur, вы имеете ввиду что у Вас не получилось сделать исправить это?

та я вот тоже думаю что со звуком на FreeBSD что-то проблематично накрутили, надо наверное FreeBSD 6.2 поставить :)


"Глюки со звуком во FreeBSD 8.0 и драйвером snd_hda"
Отправлено mambur , 19-Мрт-10 15:48 
>mambur, вы имеете ввиду что у Вас не получилось сделать исправить это?

Исправили коммитеры драйвера, поэтому мне не пришлось ковыряться в нем самостоятельно.

>та я вот тоже думаю что со звуком на FreeBSD что-то проблематично
>накрутили, надо наверное FreeBSD 6.2 поставить :)

Автор snd_hda рассказывал, что очень много плюшек смог нарисовать в драйвере, чего не позволяла старая архитектура. Вот только надо разобраться в новых механизмах, а это время на изучение манов и время для экспериментов.


"Глюки со звуком во FreeBSD 7.2 и драйвером snd_hda"
Отправлено guest , 19-Мрт-10 15:50 
тут вот написано что они переписали подсистемы еще в FreeBSD 8.0 CURRENT
http://people.freebsd.org/~ariff/SOUND_4.TXT.html
вот: http://www.linux.org.ru/news/bsd/3769495/page1

там очень много настроек появилось, а как это все настроить теперь - сабака его знает :)