The following reply was made to PR kern/42028; it has been noted by GNATS. From: Thomas Klausner <[email protected]> To: [email protected] Cc: "Jared D. McNeill" <[email protected]> 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
