Страница 1 из 2

Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-12 19:14:34
NIK
Проблема со звуком в FreeBSD подскажите как решить..
загружаюсь, запускаю иксы.
загружаю модуль ядраа

Код: Выделить всё

kldload snd_hda
Звук ЕСТЬ. тока тихо тише чем например под виндой... на регулятор звука в правом нижнем углу не реагирует..
Но всё-же звук есть...
ладно нужно сделать чтоб не подгружать каждый раз модуль:

Код: Выделить всё

echo "snd_hda_load="YES"" > /boot/loader.conf
Загружаемся.. Иксы пишут типо устройства не найдены, забыть про них или нет.. выбираем нет, заходим в менеджер устройств, там не активные старые устройства, и снова ониже тока как активные.. жмём тест - звука нет.=(

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-12 20:07:04
Dog
Вывод команд

Код: Выделить всё

uname -a
cat /dev/sndstat
pciconf -lv | grep -A 4 hdac
mixer
будьте добры предоставить общественности. И заодно: каким DE (GNOME, KDE, XFCE) пользуетесь?

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-12 21:22:42
NIK

Код: Выделить всё

#uname -a                   
FreeBSD NIK 8.0-RELEASE FreeBSD 8.0-RELEASE #3: Fri Apr 30 22:15:09 UTC 2010     root@NIK:/usr/obj/usr/src/sys/GENERIC  i386
#cat /dev/sndstat                                                                                                           
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <HDA ATI R6xx HDMI PCM #0 Digital> at cad 0 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/0r:0v channels simplex default)
pcm1: <HDA Realtek ALC885 PCM #0 Analog> at cad 3 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
pcm2: <HDA Realtek ALC885 PCM #1 Analog> at cad 3 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
pcm3: <HDA Realtek ALC885 PCM #2 Digital> at cad 3 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
#pciconf -lv | grep -A 4 hdac
hdac1@pci0:0:20:2:      class=0x040300 card=0xa0021458 chip=0x43831002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
    device     = 'IXP SB600 High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
--
hdac0@pci0:1:0:1:       class=0x040300 card=0xaa181043 chip=0xaa181002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
    class      = multimedia
    subclass   = HDA
re0@pci0:2:0:0: class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x01 hdr=0x00
#mixer
Mixer vol      is currently set to 100:100
Mixer pcm      is currently set to 100:100
KDE4

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-12 22:15:25
Dog
По поводу KDE4 и его средств управления ничего сказать не могу, не пользуюсь. Иксы, я так понимаю, собраны с HAL, поддержку устройств сами хватают?
В качестве теста, насколько это вообще работает, можно попробовать поставить быстренько какой-нибудь консольный плеер, типа mpg123 и им проиграть чего-нибудь - он напрямую к звуковухе обращается. Если звук и в таком случае будет чересчур тихим, PR катать, или напрямую Александру Мотину, он этим драйвером занимается.

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-13 9:56:29
NIK
Иксы ставил из пакетов на DVD с какими опциями там собранно хз..

в /etc/rc.conf добавил

Код: Выделить всё

hald_enable="YES"
dbus_enable="YES"
polkitd_enable="YES"
Это когда мыш пытался заставить работать.. -- работает тока если после загрузки ядра переткнуть в другой случайный USB вход.. до этого:

Код: Выделить всё

May 13 10:36:44 NIK kernel: ugen0.2: <(null)> at usbus0 (disconnected)
May 13 10:36:44 NIK kernel: uhub_reattach_port:435: could not allocate new device!
Перетыкаем мыш в случайный USB вход:

Код: Выделить всё

May 13 10:37:02 NIK kernel: ugen1.2: <Genius> at usbus1
May 13 10:37:02 NIK kernel: ums0: <EP1 Interrupt> on usbus1
May 13 10:37:02 NIK kernel: ums0: 3 buttons and [XYZ] coordinates ID=1

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-13 10:03:58
NIK

Код: Выделить всё

#cat messages | grep HDA
May 11 22:36:38 NIK kernel: pci1: <multimedia, HDA> at device 0.1 (no driver attached)
May 11 22:36:38 NIK kernel: pci0: <multimedia, HDA> at device 20.2 (no driver attached)
May 12 13:27:00 NIK kernel: pci1: <multimedia, HDA> at device 0.1 (no driver attached)
May 12 13:27:00 NIK kernel: pci0: <multimedia, HDA> at device 20.2 (no driver attached)
May 12 13:53:29 NIK kernel: pci1: <multimedia, HDA> at device 0.1 (no driver attached)
May 12 13:53:29 NIK kernel: pci0: <multimedia, HDA> at device 20.2 (no driver attached)
May 12 14:10:46 NIK kernel: hdac0: HDA Driver Revision: 20090624_0136
May 12 14:10:46 NIK kernel: hdac0: HDA Codec #3: Realtek ALC885
May 12 14:10:46 NIK kernel: hdac1: HDA Driver Revision: 20090624_0136
May 12 14:10:46 NIK kernel: hdac1: HDA Codec #0: ATI R6xx HDMI
May 12 14:10:46 NIK kernel: pcm0: <HDA Realtek ALC885 PCM #0 Analog> at cad 3 nid 1 on hdac0
May 12 14:10:46 NIK kernel: pcm1: <HDA Realtek ALC885 PCM #1 Analog> at cad 3 nid 1 on hdac0
May 12 14:10:46 NIK kernel: pcm2: <HDA Realtek ALC885 PCM #2 Digital> at cad 3 nid 1 on hdac0
May 12 14:10:46 NIK kernel: pcm3: <HDA ATI R6xx HDMI PCM #0 Digital> at cad 0 nid 1 on hdac1
May 12 19:52:14 NIK kernel: hdac0: HDA Driver Revision: 20090624_0136
May 12 19:52:14 NIK kernel: hdac1: HDA Driver Revision: 20090624_0136
May 12 19:52:14 NIK kernel: hdac0: HDA Codec #0: ATI R6xx HDMI
May 12 19:52:14 NIK kernel: pcm0: <HDA ATI R6xx HDMI PCM #0 Digital> at cad 0 nid 1 on hdac0
May 12 19:52:14 NIK kernel: hdac1: HDA Codec #3: Realtek ALC885
May 12 19:52:14 NIK kernel: pcm1: <HDA Realtek ALC885 PCM #0 Analog> at cad 3 nid 1 on hdac1
May 12 19:52:14 NIK kernel: pcm2: <HDA Realtek ALC885 PCM #1 Analog> at cad 3 nid 1 on hdac1
May 12 19:52:14 NIK kernel: pcm3: <HDA Realtek ALC885 PCM #2 Digital> at cad 3 nid 1 on hdac1
May 13 10:33:53 NIK kernel: hdac0: HDA Driver Revision: 20090624_0136
May 13 10:33:53 NIK kernel: hdac1: HDA Driver Revision: 20090624_0136
May 13 10:33:53 NIK kernel: hdac0: HDA Codec #0: ATI R6xx HDMI
May 13 10:33:53 NIK kernel: pcm0: <HDA ATI R6xx HDMI PCM #0 Digital> at cad 0 nid 1 on hdac0
May 13 10:33:53 NIK kernel: hdac1: HDA Codec #3: Realtek ALC885
May 13 10:33:53 NIK kernel: pcm1: <HDA Realtek ALC885 PCM #0 Analog> at cad 3 nid 1 on hdac1
May 13 10:33:53 NIK kernel: pcm2: <HDA Realtek ALC885 PCM #1 Analog> at cad 3 nid 1 on hdac1
May 13 10:33:53 NIK kernel: pcm3: <HDA Realtek ALC885 PCM #2 Digital> at cad 3 nid 1 on hdac1

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-13 11:18:16
Dog
Возможно имеет смысл перезагрузиться в режиме с verbose loging, а потом в соответствии с полученной инфой и по ману snd_hda попробовать пошаманствовать с настройками звуковухи в /boot/device.hints .

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-14 20:50:31
NIK
Dog писал(а):По поводу KDE4 и его средств управления ничего сказать не могу, не пользуюсь. Иксы, я так понимаю, собраны с HAL, поддержку устройств сами хватают?
В качестве теста, насколько это вообще работает, можно попробовать поставить быстренько какой-нибудь консольный плеер, типа mpg123 и им проиграть чего-нибудь - он напрямую к звуковухе обращается. Если звук и в таком случае будет чересчур тихим, PR катать, или напрямую Александру Мотину, он этим драйвером занимается.
Попробую mpg123 поставить.. ну вобщем проблема пока осталась, елси есть у кого дельные мысли прошу помочь. Пока загружаю в ручную всё..

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 20:03:48
NIK
Стал собирать ядро с поддержкой драйвера добавил в конфиг. файл ядра "device snd_hda"

Код: Выделить всё

In file included from /usr/src/sys/dev/sound/pcm/sound.h:88,
                 from /usr/src/sys/dev/sound/pci/hda/hdac.c:76:
/usr/src/sys/dev/sound/pcm/channel.h:253:24: error: channel_if.h: No such file or directory
/usr/src/sys/dev/sound/pci/hda/hdac.c:88:22: error: mixer_if.h: No such file or directory
mkdep: compile failed
*** Error code 1

Stop in /usr/obj/usr/src/sys/MYKERNEL.
*** Error code 1

Stop in /usr/src.
*** Error code 1
чёт не нравится.. файлы эти на месте..

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 20:14:02
Гость
это вам типа нечем заняться? решили собрать ядро с поддержкой драйвера
а что kldload нынче не модно?

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 20:22:47
NIK
Гость писал(а):это вам типа нечем заняться? решили собрать ядро с поддержкой драйвера
а что kldload нынче не модно?
Уважаемый гость, а прочитать тему целеком?

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 20:29:20
Dog
NIK писал(а):Стал собирать ядро с поддержкой драйвера добавил в конфиг. файл ядра "device snd_hda"
...
чёт не нравится.. файлы эти на месте..
man snd_hda:

Код: Выделить всё

To compile this driver into the kernel, place the following lines in your  kernel configuration file:

           device sound
           device snd_hda

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 20:30:54
NIK
Dog писал(а):man snd_hda:

Код: Выделить всё

To compile this driver into the kernel, place the following lines in your  kernel configuration file:

           device sound
           device snd_hda
Спасибо

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 20:31:25
Гость
NIK писал(а):
Гость писал(а):это вам типа нечем заняться? решили собрать ядро с поддержкой драйвера
а что kldload нынче не модно?
Уважаемый гость, а прочитать тему целеком?
тоесть вы считаете что если вы вкомпилите драйвер в ядро то он начнет работать?
ггг
хватит из форума лисяры разводить башорг
если у вас звук после kldload не завелся
то уж после того как вкопилите драйвер - он и подавну не заработает

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 20:33:10
NIK
после kldload он работает, проблема в другом.. тему читать надо а не пробегать глазами..

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 21:04:41
Гость
все равно нихрена не понял
чего вы пытались добиться этим вкомпиливанием драйвера

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 21:19:15
f_andrey
NIK писал(а):после kldload он работает, проблема в другом.. тему читать надо а не пробегать глазами..

Код: Выделить всё

cat loader.conf
;-)

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-21 21:37:14
NIK
f_andrey писал(а):
NIK писал(а):после kldload он работает, проблема в другом.. тему читать надо а не пробегать глазами..

Код: Выделить всё

cat loader.conf
;-)

Код: Выделить всё

snd_hda_load="YES"
Об этом в первом посте..
Ну собственно теперь я ядро собрал с этим драйвером и строчку эту убрал.

После сборки ядра
Резултат тот же что и с snd_hda_load="YES" в файле loader.conf
Звукавуха вроде бы работает, Зашёл в Audio Mixer включил микрофон - работает, но если включить медиаплеер звука нет.. когда загружал руками модуль - звук был.. может в кедах чё покрутить?

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-22 14:02:44
ski
Если snd_hda грузится через /boot/loader.conf, то первым звуковым устройством он считает hdmi на видюхе и дудит туда. Если после загрузки делать kldload snd_hda, то первым звуковым устройством становится звукаха и все работает. Почему- мне неизвестно. Вариантов два: либо в /usr/local/etc/rc,d кинуть скрипт, поторый будет указанный модуль загружать, либо воспользоваться переменной ядра для указания, какой выход считать первым. Только через /etc/sysctl.conf оно почему-то не срабаывате, срабатывает при вызове из /etc/rc.local. Название переменной я не помню, она есть в мане по snd_hda и примерно с год назад здесь я ?ту тему мусолил, в ней есть. наверняка по поиску найдется. Впрочем, я заморачиваться не стал и воспользовался загрузочным скриптом.

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-22 15:40:29
NIK
ski, спасибо за исчерпывающий ответ! Скорее всего оно так и есть как Вы описали.. на винде тоже после установки дров по умолчанию ставится звукавуха на видюхе. Можете кинуть сюда скрипт? на шелл не писал разбираться сейчас нет времени..

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-22 16:16:44
ski
NIK писал(а):ski, спасибо за исчерпывающий ответ! Скорее всего оно так и есть как Вы описали.. на винде тоже после установки дров по умолчанию ставится звукавуха на видюхе. Можете кинуть сюда скрипт? на шелл не писал разбираться сейчас нет времени..
примеры - ?то к умным дядькам с ?того форума :) я сделал очень неправильно, но оно работает. сдедал файлик sndstart.sh :

Код: Выделить всё

#!/bin/sh
kldload snd_hda
положил его в /usr/local/etc/rc.d/ и сделал ему chmod 755
При загрузке он отрабатывается. Правда, из-за того, что он совершенно не соответствут синтаксису rc-скриптов, он еще и при завершении работы системы отрабатывается с попыткой загрузки модуля, но жить ?то не мешает.

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-23 13:05:25
Dog
NIK писал(а):

Код: Выделить всё

#cat /dev/sndstat                                                                                                           
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <HDA ATI R6xx HDMI PCM #0 Digital> at cad 0 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/0r:0v channels simplex default)
pcm1: <HDA Realtek ALC885 PCM #0 Analog> at cad 3 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
pcm2: <HDA Realtek ALC885 PCM #1 Analog> at cad 3 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
pcm3: <HDA Realtek ALC885 PCM #2 Digital> at cad 3 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
А попробуйте-ка временно убрать ваш скрипт, подгрузить драйвер как положено через ядро или /boot/loader.conf и поиграться с

Код: Выделить всё

dog@dog:~> sysctl -ad | grep hw.snd.default
hw.snd.default_unit: default sound device
hw.snd.default_auto: assign default unit to a newly attached device
подставляя туда значения, полученные из /dev/sndstat.

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-23 17:51:24
ski
Вот как это было у меня:
http://forum.lissyara.su/viewtopic.php? ... 53#p155353

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-31 12:29:30
NIK
Dog писал(а):
NIK писал(а):

Код: Выделить всё

#cat /dev/sndstat                                                                                                           
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <HDA ATI R6xx HDMI PCM #0 Digital> at cad 0 nid 1 on hdac0 kld snd_hda [MPSAFE] (1p:1v/0r:0v channels simplex default)
pcm1: <HDA Realtek ALC885 PCM #0 Analog> at cad 3 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
pcm2: <HDA Realtek ALC885 PCM #1 Analog> at cad 3 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
pcm3: <HDA Realtek ALC885 PCM #2 Digital> at cad 3 nid 1 on hdac1 kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex)
А попробуйте-ка временно убрать ваш скрипт, подгрузить драйвер как положено через ядро или /boot/loader.conf и поиграться с

Код: Выделить всё

dog@dog:~> sysctl -ad | grep hw.snd.default
hw.snd.default_unit: default sound device
hw.snd.default_auto: assign default unit to a newly attached device
подставляя туда значения, полученные из /dev/sndstat.
Помогло!
Присвоил hw.snd.default_unit значение 1

Код: Выделить всё

#sysctl hw.snd.default_unit=1
Звук появился. Спасибо, проблема я думаю решена.. значения ведь сохроняются после ребута? ща проверим..
Dog, спасибо! Очень помог!

Re: Звук в FreeBSD, загрузка драйвера

Добавлено: 2010-05-31 13:43:08
NIK
такс.. значение естественно не сохраняется.
Добовляемс в /etc/sysctl.conf

Код: Выделить всё

hw.snd.default_unit=1
Ребутимся.. всё работает!