tech-multimedia archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/42028: hdaudio: mplayer can't change volume
The following reply was made to PR kern/42028; it has been noted by GNATS.
From: Thomas Klausner <wiz%NetBSD.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: "Jared D. McNeill" <jared.mcneill%gmail.com@localhost>
Subject: Re: kern/42028: hdaudio: mplayer can't change volume
Date: Wed, 23 Sep 2009 17:03:35 +0200
On Wed, Sep 09, 2009 at 12:05:05AM +0000, Jared D. McNeill wrote:
> The hdaudio(4) mixer is built with the OSS mixer APIs in mind. In this
> particular case, it is not handling the AD1989B correctly, and may be
> indicative of another issue.
>
> If hardware volume controls are truly not available, I do plan on adding
> software volume support using auconv so from the user POV it doesn't matter.
With azalia, I could change the hardware volume using inputs.dac04.
Jared asked me to provide some more debugging info using slightly
modified sources, here it is:
With the changes you request in IRC, dmesg | grep hda gives:
hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
hdaudio0: interrupting at ioapic0 pin 22
hdafg0 at hdaudio0 vendor 0x11D4 product 0x989B nid 0x01 (firmware
configuration)
hdafg0: add connection 07->1C
hdafg0: add connection 08->0C
hdafg0: add connection 09->0D
hdafg0: add connection 0C->38
hdafg0: add connection 0C->39
hdafg0: add connection 0C->3A
hdafg0: add connection 0C->3B
hdafg0: add connection 0C->3C
hdafg0: add connection 0C->18
hdafg0: add connection 0C->24
hdafg0: add connection 0C->25
hdafg0: add connection 0C->3D
hdafg0: add connection 0C->20
hdafg0: add connection 0C->1F
hdafg0: add connection 0D->38
hdafg0: add connection 0D->39
hdafg0: add connection 0D->3A
hdafg0: add connection 0D->3B
hdafg0: add connection 0D->3C
hdafg0: add connection 0D->18
hdafg0: add connection 0D->24
hdafg0: add connection 0D->25
hdafg0: add connection 0D->3D
hdafg0: add connection 0D->20
hdafg0: add connection 0E->38
hdafg0: add connection 0E->39
hdafg0: add connection 0E->3A
hdafg0: add connection 0E->3B
hdafg0: add connection 0E->3C
hdafg0: add connection 0E->18
hdafg0: add connection 0E->24
hdafg0: add connection 0E->25
hdafg0: add connection 0E->3D
hdafg0: add connection 0E->20
hdafg0: add connection 0F->0E
hdafg0: add connection 11->22
hdafg0: add connection 12->29
hdafg0: add connection 13->2D
hdafg0: add connection 14->2B
hdafg0: add connection 15->2C
hdafg0: add connection 16->2A
hdafg0: add connection 17->26
hdafg0: add connection 19->20
hdafg0: add connection 19->21
hdafg0: add connection 1B->02
hdafg0: add connection 1D->0B
hdafg0: add connection 1E->36
hdafg0: add connection 1E->21
hdafg0: add connection 20->39
hdafg0: add connection 20->33
hdafg0: add connection 20->38
hdafg0: add connection 20->3D
hdafg0: add connection 20->34
hdafg0: add connection 20->3B
hdafg0: add connection 20->18
hdafg0: add connection 20->1A
hdafg0: add connection 21->20
hdafg0: add connection 22->37
hdafg0: add connection 22->21
hdafg0: add connection 23->11
hdafg0: add connection 23->12
hdafg0: add connection 23->13
hdafg0: add connection 23->14
hdafg0: add connection 23->15
hdafg0: add connection 23->16
hdafg0: add connection 23->17
hdafg0: add connection 23->18
hdafg0: add connection 23->24
hdafg0: add connection 23->25
hdafg0: add connection 23->38
hdafg0: add connection 23->39
hdafg0: add connection 23->3A
hdafg0: add connection 23->3B
hdafg0: add connection 23->3C
hdafg0: add connection 23->3D
hdafg0: add connection 23->20
hdafg0: add connection 23->21
hdafg0: add connection 24->27
hdafg0: add connection 25->28
hdafg0: add connection 26->32
hdafg0: add connection 26->21
hdafg0: add connection 27->05
hdafg0: add connection 27->21
hdafg0: add connection 28->0A
hdafg0: add connection 28->21
hdafg0: add connection 29->04
hdafg0: add connection 29->21
hdafg0: add connection 2A->06
hdafg0: add connection 2A->21
hdafg0: add connection 2B->30
hdafg0: add connection 2B->21
hdafg0: add connection 2C->31
hdafg0: add connection 2C->21
hdafg0: add connection 2D->1E
hdafg0: add connection 2F->11
hdafg0: add connection 2F->12
hdafg0: add connection 2F->14
hdafg0: add connection 2F->15
hdafg0: add connection 2F->16
hdafg0: add connection 2F->17
hdafg0: add connection 30->03
hdafg0: add connection 30->04
hdafg0: add connection 30->06
hdafg0: add connection 31->04
hdafg0: add connection 31->0A
hdafg0: add connection 32->05
hdafg0: add connection 32->04
hdafg0: add connection 33->3A
hdafg0: add connection 33->25
hdafg0: add connection 33->24
hdafg0: add connection 34->3C
hdafg0: add connection 34->25
hdafg0: add connection 34->24
hdafg0: add connection 36->03
hdafg0: add connection 36->04
hdafg0: add connection 36->06
hdafg0: add connection 37->03
hdafg0: add connection 37->04
hdafg0: add connection 37->06
hdafg0: add connection 38->11
hdafg0: add connection 39->14
hdafg0: add connection 3A->15
hdafg0: add connection 3C->17
hdafg0: add connection 3D->12
hdafg0: add ctrl outamp 0:03:FF
hdafg0: add ctrl outamp 1:04:FF
hdafg0: add ctrl outamp 2:05:FF
hdafg0: add ctrl outamp 3:06:FF
hdafg0: add ctrl outamp 4:0A:FF
hdafg0: add ctrl outamp 5:0C:FF
hdafg0: add ctrl outamp 6:0D:FF
hdafg0: add ctrl outamp 7:0E:FF
hdafg0: add ctrl outamp 8:10:FF
hdafg0: add ctrl outamp 9:11:FF
hdafg0: add ctrl outamp 10:12:FF
hdafg0: add ctrl outamp 11:13:FF
hdafg0: add ctrl outamp 12:14:FF
hdafg0: add ctrl outamp 13:15:FF
hdafg0: add ctrl outamp 14:16:FF
hdafg0: add ctrl outamp 15:17:FF
hdafg0: add ctrl outamp 16:1B:FF
hdafg0: add ctrl inamp 17:1C:FF
hdafg0: add ctrl outamp 18:1D:FF
hdafg0: add ctrl inamp selmix 19:1E:36
hdafg0: add ctrl inamp selmix 20:1E:21
hdafg0: add ctrl inamp selmix 21:20:39
hdafg0: add ctrl inamp selmix 22:20:33
hdafg0: add ctrl inamp selmix 23:20:38
hdafg0: add ctrl inamp selmix 24:20:3D
hdafg0: add ctrl inamp selmix 25:20:34
hdafg0: add ctrl inamp selmix 26:20:3B
hdafg0: add ctrl inamp selmix 27:20:18
hdafg0: add ctrl inamp selmix 28:20:1A
hdafg0: add ctrl outamp 29:21:FF
hdafg0: add ctrl inamp selmix 30:22:37
hdafg0: add ctrl inamp selmix 31:22:21
hdafg0: add ctrl outamp 32:24:FF
hdafg0: add ctrl outamp 33:25:FF
hdafg0: add ctrl inamp selmix 34:26:32
hdafg0: add ctrl inamp selmix 35:26:21
hdafg0: add ctrl inamp selmix 36:27:05
hdafg0: add ctrl inamp selmix 37:27:21
hdafg0: add ctrl inamp selmix 38:28:0A
hdafg0: add ctrl inamp selmix 39:28:21
hdafg0: add ctrl inamp selmix 40:29:04
hdafg0: add ctrl inamp selmix 41:29:21
hdafg0: add ctrl inamp selmix 42:2A:06
hdafg0: add ctrl inamp selmix 43:2A:21
hdafg0: add ctrl inamp selmix 44:2B:30
hdafg0: add ctrl inamp selmix 45:2B:21
hdafg0: add ctrl inamp selmix 46:2C:31
hdafg0: add ctrl inamp selmix 47:2C:21
hdafg0: add ctrl outamp 48:38:FF
hdafg0: add ctrl outamp 49:39:FF
hdafg0: add ctrl outamp 50:3A:FF
hdafg0: add ctrl outamp 51:3C:FF
hdafg0: add ctrl outamp 52:3D:FF
hdafg0: disable 19 [nonaudio]
hdafg0: disable 13 [no connectivity]
hdafg0: disable 1C [no connectivity]
hdafg0: disable ctl 11:13:FF [widget disabled]
hdafg0: disable ctl 17:1C:FF [widget disabled]
hdafg0: disable conn 07->1C [disabled child]
hdafg0: disable conn 23->13 [disabled child]
hdafg0: disable 2D [consumers disabled]
hdafg0: disable 1E [consumers disabled]
hdafg0: disable 36 [consumers disabled]
hdafg0: disable ctl 19:1E:36 [widget disabled]
hdafg0: disable ctl 20:1E:21 [widget disabled]
hdafg0: depth 3 nid 04 dupseq -1 returned 04
hdafg0: depth 6 nid 14 dupseq -1 returned 00
hdafg0: depth 5 nid 39 dupseq -1 returned 00
hdafg0: depth 7 nid 15 dupseq -1 returned 00
hdafg0: depth 6 nid 3A dupseq -1 returned 00
hdafg0: depth 6 nid 25 dupseq -1 returned 00
hdafg0: depth 6 nid 24 dupseq -1 returned 00
hdafg0: depth 5 nid 33 dupseq -1 returned 00
hdafg0: depth 6 nid 11 dupseq -1 returned 00
hdafg0: depth 5 nid 38 dupseq -1 returned 00
hdafg0: depth 6 nid 12 dupseq -1 returned 00
hdafg0: depth 5 nid 3D dupseq -1 returned 00
hdafg0: depth 7 nid 17 dupseq -1 returned 00
hdafg0: depth 6 nid 3C dupseq -1 returned 00
hdafg0: depth 6 nid 25 dupseq -1 returned 00
hdafg0: depth 6 nid 24 dupseq -1 returned 00
hdafg0: depth 5 nid 34 dupseq -1 returned 00
hdafg0: depth 5 nid 3B dupseq -1 returned 00
hdafg0: depth 5 nid 18 dupseq -1 returned 00
hdafg0: depth 5 nid 1A dupseq -1 returned 00
hdafg0: depth 4 nid 20 dupseq -1 returned 00
hdafg0: depth 3 nid 21 dupseq -1 returned 00
hdafg0: depth 2 nid 29 dupseq -1 returned 04
hdafg0: depth 1 nid 12 dupseq -1 returned 04
hdafg0: depth 3 nid 05 dupseq -1 returned 05
hdafg0: depth 6 nid 14 dupseq -1 returned 00
hdafg0: depth 5 nid 39 dupseq -1 returned 00
hdafg0: depth 7 nid 15 dupseq -1 returned 00
hdafg0: depth 6 nid 3A dupseq -1 returned 00
hdafg0: depth 6 nid 25 dupseq -1 returned 00
hdafg0: depth 6 nid 24 dupseq -1 returned 00
hdafg0: depth 5 nid 33 dupseq -1 returned 00
hdafg0: depth 6 nid 11 dupseq -1 returned 00
hdafg0: depth 5 nid 38 dupseq -1 returned 00
hdafg0: depth 6 nid 12 busy by seqmask 0
hdafg0: depth 5 nid 3D dupseq -1 returned 00
hdafg0: depth 7 nid 17 dupseq -1 returned 00
hdafg0: depth 6 nid 3C dupseq -1 returned 00
hdafg0: depth 6 nid 25 dupseq -1 returned 00
hdafg0: depth 6 nid 24 dupseq -1 returned 00
hdafg0: depth 5 nid 34 dupseq -1 returned 00
hdafg0: depth 5 nid 3B dupseq -1 returned 00
hdafg0: depth 5 nid 18 dupseq -1 returned 00
hdafg0: depth 5 nid 1A dupseq -1 returned 00
hdafg0: depth 4 nid 20 dupseq -1 returned 00
hdafg0: depth 3 nid 21 dupseq -1 returned 00
hdafg0: depth 2 nid 27 dupseq -1 returned 05
hdafg0: depth 1 nid 24 dupseq -1 returned 05
hdafg0: depth 3 nid 06 dupseq -1 returned 06
hdafg0: depth 6 nid 14 dupseq -1 returned 00
hdafg0: depth 5 nid 39 dupseq -1 returned 00
hdafg0: depth 7 nid 15 dupseq -1 returned 00
hdafg0: depth 6 nid 3A dupseq -1 returned 00
hdafg0: depth 6 nid 25 dupseq -1 returned 00
hdafg0: depth 6 nid 24 busy by seqmask 0
hdafg0: depth 5 nid 33 dupseq -1 returned 00
hdafg0: depth 6 nid 11 dupseq -1 returned 00
hdafg0: depth 5 nid 38 dupseq -1 returned 00
hdafg0: depth 6 nid 12 busy by seqmask 0
hdafg0: depth 5 nid 3D dupseq -1 returned 00
hdafg0: depth 7 nid 17 dupseq -1 returned 00
hdafg0: depth 6 nid 3C dupseq -1 returned 00
hdafg0: depth 6 nid 25 dupseq -1 returned 00
hdafg0: depth 6 nid 24 busy by seqmask 0
hdafg0: depth 5 nid 34 dupseq -1 returned 00
hdafg0: depth 5 nid 3B dupseq -1 returned 00
hdafg0: depth 5 nid 18 dupseq -1 returned 00
hdafg0: depth 5 nid 1A dupseq -1 returned 00
hdafg0: depth 4 nid 20 dupseq -1 returned 00
hdafg0: depth 3 nid 21 dupseq -1 returned 00
hdafg0: depth 2 nid 2A dupseq -1 returned 06
hdafg0: depth 1 nid 16 dupseq -1 returned 06
hdafg0: depth 3 nid 0A dupseq -1 returned 0A
hdafg0: depth 6 nid 14 dupseq -1 returned 00
hdafg0: depth 5 nid 39 dupseq -1 returned 00
hdafg0: depth 7 nid 15 dupseq -1 returned 00
hdafg0: depth 6 nid 3A dupseq -1 returned 00
hdafg0: depth 6 nid 25 dupseq -1 returned 00
hdafg0: depth 6 nid 24 busy by seqmask 0
hdafg0: depth 5 nid 33 dupseq -1 returned 00
hdafg0: depth 6 nid 11 dupseq -1 returned 00
hdafg0: depth 5 nid 38 dupseq -1 returned 00
hdafg0: depth 6 nid 12 busy by seqmask 0
hdafg0: depth 5 nid 3D dupseq -1 returned 00
hdafg0: depth 7 nid 17 dupseq -1 returned 00
hdafg0: depth 6 nid 3C dupseq -1 returned 00
hdafg0: depth 6 nid 25 dupseq -1 returned 00
hdafg0: depth 6 nid 24 busy by seqmask 0
hdafg0: depth 5 nid 34 dupseq -1 returned 00
hdafg0: depth 5 nid 3B dupseq -1 returned 00
hdafg0: depth 5 nid 18 dupseq -1 returned 00
hdafg0: depth 5 nid 1A dupseq -1 returned 00
hdafg0: depth 4 nid 20 dupseq -1 returned 00
hdafg0: depth 3 nid 21 dupseq -1 returned 00
hdafg0: depth 2 nid 28 dupseq -1 returned 0A
hdafg0: depth 1 nid 25 dupseq -1 returned 0A
hdafg0: depth 4 nid 03 dupseq -1 returned 03
hdafg0: depth 4 nid 04 busy by assoc 0
hdafg0: depth 4 nid 06 busy by assoc 0
hdafg0: depth 3 nid 37 dupseq -1 returned 03
hdafg0: depth 6 nid 14 dupseq -1 returned 00
hdafg0: depth 5 nid 39 dupseq -1 returned 00
hdafg0: depth 7 nid 15 dupseq -1 returned 00
hdafg0: depth 6 nid 3A dupseq -1 returned 00
hdafg0: depth 6 nid 25 busy by assoc 0
hdafg0: depth 6 nid 24 busy by assoc 0
hdafg0: depth 5 nid 33 dupseq -1 returned 00
hdafg0: depth 6 nid 11 dupseq -1 returned 00
hdafg0: depth 5 nid 38 dupseq -1 returned 00
hdafg0: depth 6 nid 12 busy by assoc 0
hdafg0: depth 5 nid 3D dupseq -1 returned 00
hdafg0: depth 7 nid 17 dupseq -1 returned 00
hdafg0: depth 6 nid 3C dupseq -1 returned 00
hdafg0: depth 6 nid 25 busy by assoc 0
hdafg0: depth 6 nid 24 busy by assoc 0
hdafg0: depth 5 nid 34 dupseq -1 returned 00
hdafg0: depth 5 nid 3B dupseq -1 returned 00
hdafg0: depth 5 nid 18 dupseq -1 returned 00
hdafg0: depth 5 nid 1A dupseq -1 returned 00
hdafg0: depth 4 nid 20 dupseq -1 returned 00
hdafg0: depth 3 nid 21 dupseq -1 returned 00
hdafg0: depth 2 nid 22 dupseq -1 returned 03
hdafg0: depth 1 nid 11 dupseq -1 returned 03
hdafg0: depth 2 nid 02 dupseq -1 returned 02
hdafg0: depth 1 nid 1B dupseq -1 returned 02
hdafg0: depth 2 nid 0B dupseq -1 returned 0B
hdafg0: depth 1 nid 1D dupseq -1 returned 0B
hdafg0: disable 07 [unassociated]
hdafg0: disable 09 [unassociated]
hdafg0: disable 0D [unassociated]
hdafg0: disable 0E [unassociated]
hdafg0: disable 0F [unassociated]
hdafg0: disable 1F [unassociated]
hdafg0: disable 23 [unassociated]
hdafg0: disable 26 [unassociated]
hdafg0: disable 2B [unassociated]
hdafg0: disable 2C [unassociated]
hdafg0: disable 2E [unassociated]
hdafg0: disable 2F [unassociated]
hdafg0: disable 30 [unassociated]
hdafg0: disable 31 [unassociated]
hdafg0: disable 32 [unassociated]
hdafg0: disable 35 [unassociated]
hdafg0: disable 38 [unassociated]
hdafg0: disable 3B [unassociated]
hdafg0: disable 3D [unassociated]
hdafg0: disable 14 input connections
hdafg0: disable 15 input connections
hdafg0: disable 17 input connections
hdafg0: disable 18 input connections
hdafg0: disable 0C -> 24 output connection
hdafg0: disable 33 -> 24 output connection
hdafg0: disable 34 -> 24 output connection
hdafg0: disable 0C -> 25 output connection
hdafg0: disable 33 -> 25 output connection
hdafg0: disable 34 -> 25 output connection
hdafg0: disable 37->04 [unselected]
hdafg0: disable 37->06 [unselected]
hdafg0: disable ctl 6:0D:FF [widget disabled]
hdafg0: disable ctl 7:0E:FF [widget disabled]
hdafg0: disable ctl 23:20:38 [widget disabled]
hdafg0: disable ctl 24:20:3D [widget disabled]
hdafg0: disable ctl 26:20:3B [widget disabled]
hdafg0: disable ctl 34:26:32 [widget disabled]
hdafg0: disable ctl 35:26:21 [widget disabled]
hdafg0: disable ctl 44:2B:30 [widget disabled]
hdafg0: disable ctl 45:2B:21 [widget disabled]
hdafg0: disable ctl 46:2C:31 [widget disabled]
hdafg0: disable ctl 47:2C:21 [widget disabled]
hdafg0: disable ctl 48:38:FF [widget disabled]
hdafg0: disable ctl 52:3D:FF [widget disabled]
hdafg0: disable conn 0C->38 [disabled child]
hdafg0: disable conn 0C->3B [disabled child]
hdafg0: disable conn 0C->3D [disabled child]
hdafg0: disable conn 0C->1F [disabled child]
hdafg0: found 3 GPIOs
hdafg0: jack detect not enabled
hdafg0: need 14 mixers (3 classes)
hdafg0: adding outputs.master (ctl 0:03:FF)
hdafg0: adding record.dac (ctl 0:03:FF)
hdafg0: adding record.beep (ctl 0:10:FF)
hdafg0: adding record.line (ctl 0:3A:FF)
hdafg0: adding record.mic (ctl 0:39:FF)
hdafg0: adding record.cd (ctl 6:20:18)
hdafg0: adding record.record (ctl 0:20:39)
hdafg0: adding record.reclvl (ctl 0:0C:FF)
hdafg0: adding record.monitor (ctl 0:3C:FF)
hdafg0: DAC0:04, Analog Speaker: Jack (Green, 12)
hdafg0: DAC0:05, Analog Speaker: Jack (Orange, 24)
hdafg0: DAC0:06, Analog Speaker: Jack (Black, 16)
hdafg0: DAC0:0A, Analog Speaker: Jack (Grey, 25)
hdafg0: ADC1:08, Analog Mic In: Jack (Pink, 17)
hdafg0: ADC1:08, Analog Line In: Jack (Blue, 15)
hdafg0: ADC1:08, Analog CD: Fixed Function (Black, 18)
hdafg0: ADC1:08, Analog Mic In: Jack (Pink, 14)
hdafg0: DAC2:03, Analog HP Out: Jack (Green, 11)
hdafg0: DAC3:02, Digital SPDIF Out: Jack (Other, 1B)
hdafg0: DAC4:0B, Digital Digital Other Out: Jack (Other, 1D)
hdafg0: 8ch/2ch 8000Hz-192000Hz 16/16 20/32 24/32
audio0 at hdafg0: full duplex, independent
Cheers,
Thomas
Home |
Main Index |
Thread Index |
Old Index