Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Aug 2008 23:41:06 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        vova@fbsd.ru
Cc:        freebsd-multimedia@FreeBSD.org
Subject:   Re: snd_hda UAA patch second preview
Message-ID:  <48B46A62.2040408@FreeBSD.org>
In-Reply-To: <1219753478.2030.16.camel@localhost>
References:  <48B2DD7E.6030700@FreeBSD.org>	 <1219740496.2209.9.camel@localhost> <48B3CCFA.6010505@FreeBSD.org> <1219753478.2030.16.camel@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help
Vladimir Grebenschikov wrote:
>>> hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0
>>> hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0
>>> hdac0: <HDA Codec #0: Analog Devices AD1981HD>
>>> hdac0: <HDA Codec #1: Unknown Codec>
>>> pcm0: <HDA codec Analog Devices AD1981HD PCM #0> on hdac0
>>> pcm1: <HDA codec Analog Devices AD1981HD PCM #1> on hdac0
> ...
> hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0
> hdac0:  Found unknown FG nid=304
> hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0
> hdac0:  Found unknown FG nid=305
> hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0
> hdac0:  Found unknown FG nid=306
> hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0
> hdac0:  Found unknown FG nid=307
> ...
> hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0
> hdac0:  Found unknown FG nid=509
> hdac0: <HDA Codec #0: Analog Devices AD1981HD>
> hdac0: <HDA Codec ID: 0x11d41981>
> ...

After closer look I think that problem is, as I have said, in second 
codec detected in your system, but not responding. I have just uploaded 
new patch that also should skip such non-responding codecs after two 
first unsuccessfull requests.

> hdac0: Playback:
> hdac0: 
> hdac0:     nid=5 [pin: Line-out (Both)]
> hdac0:       |
> hdac0:       + <- nid=3 [audio output] [src: pcm]
> hdac0:       + <- nid=14 [audio mixer] [src: mix]
> hdac0: 
> hdac0:     nid=10 [pin: SPDIF-out (Jack)]
> hdac0:       |
> hdac0:       + <- nid=2 [audio output] [src: pcm]
> 
> Looks like second pcm is related to SPDIF-out, I have such jack on dock
> station. (Actually I have IBM/Lenovo T60 with dock)

Indeed.

>>> # mixer
>>> Mixer vol      is currently set to 100:100
>>> Mixer pcm      is currently set to  75:75
>>> Mixer cd       is currently set to  62:62
>>> Mixer rec      is currently set to  70:70
>>> Mixer ogain    is currently set to 100:100
>>> Mixer monitor  is currently set to  45:45
>>> Recording source: 
>>> # mixer -f /dev/mixer1
>>> Mixer vol      is currently set to  75:75
>>> Mixer pcm      is currently set to  75:75
>>> #
>>>
>>> Changing of mixer volumes for both mixer does not affects anything.
>>>
>>> any hints will be appreciated.
>> Some mixers may have low precision, even be mute-only. What exactly each
>> mixer does could be found from system boot verbose log messages
>>
>> Could you repeat your test and send me verbose output?
> 
> Yes, there is a lot of output in with boot -v, I may get lost here:
> 
> Looks like part related to mixers here:
> 
> hdac0: +-----------------------------------+
> hdac0: | DUMPING HDA AUDIO/VOLUME CONTROLS |
> hdac0: +-----------------------------------+
> hdac0: 
> hdac0: Master Volume (OSS: vol)
> hdac0:    |
> hdac0:    +- ctl  1 (nid   5 in  0): -91/3dB (64 steps) + mute
> hdac0: 
> hdac0: PCM Volume (OSS: pcm)
> hdac0:    |
> hdac0:    +- ctl  1 (nid   5 in  0): -91/3dB (64 steps) + mute
> hdac0: 
> hdac0: CD Volume (OSS: cd)
> hdac0:    |
> hdac0:    +- ctl 18 (nid  29 out):   -34/12dB (32 steps) + mute
> hdac0: 
> hdac0: Recording Level (OSS: rec)
> hdac0:    |
> hdac0:    +- ctl 12 (nid  21 out):   0/22dB (16 steps) + mute
> hdac0: 
> hdac0: Unknown Ctl (OSS: monitor)
> hdac0:    |
> hdac0:    +- ctl  5 (nid   8 out):   0/30dB (4 steps)
> hdac0:    +- ctl 10 (nid  18 out):   -34/12dB (32 steps) + mute
> hdac0:    +- ctl 19 (nid  30 out):   mute
> hdac0: 
> 
> Same volume (not too loud on head-phones), while all below operations:
> 
> $ mixer
> Mixer vol      is currently set to  75:75
> Mixer pcm      is currently set to  75:75
> Mixer cd       is currently set to  75:75
> Mixer rec      is currently set to   0:0
> Mixer ogain    is currently set to  50:50
> Mixer monitor  is currently set to  75:75
> Recording source: 
> $ mixer vol 90
> Setting the mixer vol from 75:75 to 90:90.
> $ mixer vol 0
> Setting the mixer vol from 90:90 to 0:0.
> $ mixer vol 100
> Setting the mixer vol from 0:0 to 100:100.
> $ mixer pcm 100
> Setting the mixer pcm from 75:75 to 100:100.
> $ mixer pcm 0
> Setting the mixer pcm from 100:100 to 0:0.
> $ mixer monitor 0
> Setting the mixer monitor from 75:75 to 0:0.
> $ mixer monitor 75
> Setting the mixer monitor from 0:0 to 75:75.
> $ mixer ogain 0
> Setting the mixer ogain from 50:50 to 0:0.
> $ mixer ogain 100
> Setting the mixer ogain from 0:0 to 100:100.
> $ mixer ogain 0
> Setting the mixer ogain from 100:100 to 0:0.
> $ 
> 
> Nothing was changed with playback volume.

That's really unexpected to me. Output you've sent to me tells that pcm 
and vol should both control volume.

> Another question, I have speaker connected to sound-card also, and it
> has too high volume when terminal beeps.
> 
> Is there a way to change volume of these beeps ?

After reading datasheet I think that the codec you have (AD1981HD) is 
the most unusual and unsuitable for automatic parser codec which I have 
seen.
This codec may be configured in two ways - playback directly from DAC or 
playback from mixer. My driver has no idea how to answer that question 
and it just takes the first possible decision.
As I can see from logs it was to get playback signal directly from DAC. 
But in this case I don't understand how can you still hear the beeps as 
they are going via the mixer. The only idea I have is that codec has 
some audio paths I don't know about.

> Old and new pcm drivers verbose dmesg attached. (sorry too lond new
> messages cuts at beginning)

In new patch version I have made some improvements that may give you 
beeper volume control. Test it please and send me new dmesg output.

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48B46A62.2040408>