Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Nov 2010 23:07:10 +0200
From:      Alexander Motin <mav@FreeBSD.org>
To:        freebsd-stable@freebsd.org, freebsd-multimedia@freebsd.org,  Ariff Abdullah <ariff@FreeBSD.org>, "Stephane E. Potvin" <sepotvin@videotron.ca>
Subject:   Re: 8.1-RELEASE: snd_hda works as module only, suspend/resume leaves display off
Message-ID:  <4CF5677E.1040104@FreeBSD.org>
In-Reply-To: <20101130201208.GA1472@birne.dunkelkammer.void>
References:  <20101115093709.GA1452@birne.dunkelkammer.void> <20101130201208.GA1472@birne.dunkelkammer.void>

next in thread | previous in thread | raw e-mail | index | archive | help
On 30.11.2010 22:12, Stefan Walter wrote:
> Stefan Walter, 15.11.10, 10:37h CET:
>> Audio with snd_hda(4) works, but only if loaded as a module AND only if I
>> load the module AFTER booting. If I compile it into the kernel or add
>> snd_hda_load="YES" to /boot/loader.conf, dmesg shows the following:
>>
>> hdac0: HDA Codec #0: ATI RS690/780 HDMI
>> pcm0:<HDA ATI RS690/780 HDMI PCM #0 HDMI>  at cad 0 nid 1 on hdac0
>> hdac1: HDA Codec #0: Realtek ALC885
>> pcm1:<HDA Realtek ALC885 PCM #0 Analog>  at cad 0 nid 1 on hdac1
>> pcm2:<HDA Realtek ALC885 PCM #1 Analog>  at cad 0 nid 1 on hdac1
>> pcm3:<HDA Realtek ALC885 PCM #2 Digital>  at cad 0 nid 1 on hdac1
>>
>> mixer(8) shows:
>>
>> Mixer vol      is currently set to  75:75
>> Mixer pcm      is currently set to  75:75
>>
>> There is no audio in that case. Unloading and reloading the module (or
>> just loading the module manually after the boot process) logs:
>>
>> hdac0:<ATI SB600 High Definition Audio Controller>  mem 0xfe024000-0xfe027fff irq 16 at device 20.2 on pci0
>> hdac0: HDA Driver Revision: 20100226_0142
>> hdac0: [ITHREAD]
>> hdac0: HDA Codec #0: Realtek ALC885
>> hdac1:<ATI (Unknown) High Definition Audio Controller>  mem 0xfdffc000-0xfdffffff irq 19 at device 5.1 on pci1
>> hdac1: HDA Driver Revision: 20100226_0142
>> hdac1: [ITHREAD]
>> hdac1: HDA Codec #0: ATI RS690/780 HDMI
>> pcm0:<HDA Realtek ALC885 PCM #0 Analog>  at cad 0 nid 1 on hdac0
>> pcm1:<HDA Realtek ALC885 PCM #1 Analog>  at cad 0 nid 1 on hdac0
>> pcm2:<HDA Realtek ALC885 PCM #2 Digital>  at cad 0 nid 1 on hdac0
>> pcm3:<HDA ATI RS690/780 HDMI PCM #0 HDMI>  at cad 0 nid 1 on hdac1
>>
>> mixer then shows:
>>
>> Mixer vol      is currently set to  75:75
>> Mixer pcm      is currently set to  75:75
>> Mixer speaker  is currently set to  75:75
>> Mixer line     is currently set to  75:75
>> Mixer mic      is currently set to   0:0
>> Mixer mix      is currently set to   0:0
>> Mixer rec      is currently set to  75:75
>> Mixer igain    is currently set to   0:0
>>
>> Audio then seems to work fine. (Plugging earphones into the computer's
>> case's front plugs doesn't do anything, though - audio still comes from
>> the speakers attached to the plug at the back of the case. Any ideas about
>> that?) Loading snd_hda from a startup script would probably work, but I
>> guess that's not the way it was meant to work.
>
> Unfortunately, the recent update to 8-STABLE didn't change anything with
> these problems - any ideas, anyone?

Loading driver aftre boot seems have different device probe order. That 
causes HDMI HDA codec on video card to be probed either first or second. 
It is not snd_hda problem and could be handled just by choosing right 
pcm device to use (possibly via hw.snd.default_unit sysctl).

Lack of audio redirection can probably be explained by CODEC 
configuration made by BIOS. I suppose that front connectors are 
configured as separate pcm device.

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CF5677E.1040104>