Здравствуйте.Решил установить 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
...
**********************************************************************