NetBSD-Bugs 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