NetBSD Problem Report #53802

From www@NetBSD.org  Wed Dec 19 18:58:59 2018
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id E15CE7A103
	for <gnats-bugs@gnats.NetBSD.org>; Wed, 19 Dec 2018 18:58:59 +0000 (UTC)
Message-Id: <20181219185858.C99A17A1E4@mollari.NetBSD.org>
Date: Wed, 19 Dec 2018 18:58:58 +0000 (UTC)
From: scole_mail@gmx.com
Reply-To: scole_mail@gmx.com
To: gnats-bugs@NetBSD.org
Subject: audioctl not working for usb audio dev
X-Send-Pr-Version: www-1.0

>Number:         53802
>Category:       kern
>Synopsis:       audioctl not working for usb audio dev
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 19 19:00:00 +0000 2018
>Closed-Date:    Sat Dec 22 04:57:49 +0000 2018
>Last-Modified:  Sat Dec 22 05:00:00 +0000 2018
>Originator:     scole_mail
>Release:        8.0
>Organization:
none
>Environment:
NetBSD dstar 8.0_STABLE NetBSD 8.0_STABLE (GENERIC) #0: Fri Nov 30 13:53:15 PST 2018  scole@dstar:/home/scole/nbsd/cvs/8_0/obj/sys/arch/i386/compile/GENERIC i386
>Description:
I've got a usb audio device in addition to a builtin audio dev.  The
sound works fine for both, but I can't change settings of the usb audio
device with "/usr/bin/audioctl". The usb audio settings won't change:

 # audioctl -d /dev/audioctl1 -w play.gain=99
 play.gain: -> 127

but the built audio works fine:

 # audioctl -d /dev/audioctl0 -w play.gain=99
 play.gain: -> 99

Here is some dmesg for the builtin:
 hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
 hdaudio0: interrupting at msi0 vec 0
 hdafg0 at hdaudio0: vendor 10ec product 0885
 hdafg0: DAC00 8ch: Speaker [Jack]
 hdafg0: DAC01 2ch: HP Out [Jack]
 hdafg0: DIG02 2ch: SPDIF Out [Jack]
 hdafg0: ADC03 2ch: Line In [Jack], Mic In [Jack]
 hdafg0: ADC04 2ch: Mic In [Jack]
 hdafg0: DIG-In05 2ch: SPDIF In [Jack]
 hdafg0: 8ch/2ch 44100Hz 48000Hz 96000Hz 192000Hz PCM16 PCM20 PCM24 AC3
 audio0 at hdafg0: full duplex, playback, capture, mmap, independent

and the usb audio, which is actually plugged into a usb hub:
 uaudio0 at uhub8 port 3 configuration 1 interface 0
 uaudio0: C-Media Electronics Inc. (0xd8c) USB Audio Device (0x14), rev 1.10/1.00, addr 5
 uaudio0: audio rev 1.00
 audio1 at uaudio0: full duplex, playback, capture, mmap, independent
 uaudio0: Virtual format configured - Format SLINEAR, precision 16, channels 2, frequency 48000
 uaudio0: Latency: 180 milliseconds
 uhidev3 at uhub8 port 3 configuration 1 interface 3
 uhidev3: C-Media Electronics Inc. (0xd8c) USB Audio Device (0x14), rev 1.10/1.00, addr 5, iclass 3/0
 uhid3 at uhidev3: input=4, output=4, feature=0

Here is a dump of both devices:
# audioctl -d /dev/audioctl0 -a
name=Realtek Semic
version=ALC885
config=01h
encodings=slinear_le:16,slinear_be:16*,ulinear_le:16*,ulinear_be:16*,mulaw:8*,alaw:8*
properties=full_duplex,mmap,independent
full_duplex=0
fullduplex=0
blocksize=8192
hiwat=0
lowat=0
monitor_gain=0
mode=
play.rate=48000
play.channels=2
play.precision=16
play.encoding=slinear_le
play.gain=99
play.balance=32
play.port=0x0
play.avail_ports=0x0
play.seek=0
play.samples=4294950912
play.eof=0
play.pause=0
play.error=1
play.waiting=0
play.open=0
play.active=0
play.buffer_size=0
record.rate=48000
record.channels=2
record.precision=16
record.encoding=slinear_le
record.gain=0
record.balance=32
record.port=0x0
record.avail_ports=0x0
record.seek=0
record.samples=0
record.eof=0
record.pause=0
record.error=0
record.waiting=0
record.open=0
record.active=0
record.buffer_size=0
record.errors=0

# audioctl -d /dev/audioctl1 -a
name=USB audio
version=
config=usb:00000011
encodings=slinear_le:16,slinear_be:16*,ulinear_le:16*,ulinear_be:16*,mulaw:8*,alaw:8*
properties=full_duplex,mmap,independent
full_duplex=0
fullduplex=0
blocksize=16384
hiwat=0
lowat=0
monitor_gain=0
mode=
play.rate=48000
play.channels=2
play.precision=16
play.encoding=slinear_le
play.gain=127
play.balance=32
play.port=0x0
play.avail_ports=0x0
play.seek=0
play.samples=0
play.eof=0
play.pause=0
play.error=0
play.waiting=0
play.open=0
play.active=0
play.buffer_size=0
record.rate=48000
record.channels=2
record.precision=16
record.encoding=slinear_le
record.gain=127
record.balance=32
record.port=0x0
record.avail_ports=0x0
record.seek=0
record.samples=0
record.eof=0
record.pause=0
record.error=0
record.waiting=0
record.open=0
record.active=0
record.buffer_size=0
record.errors=0

Overall though, I'm pretty excited with the audio functionality of the
8.0 release.  In-kernel mixing/firefox and my usb audio device work
great otherwise.

>How-To-Repeat:
try to adjust audio settings with audioctl for a usb audio device
>Fix:

>Release-Note:

>Audit-Trail:
From: Tetsuya Isaki <isaki@pastel-flower.jp>
To: gnats-bugs@NetBSD.org, scole_mail@gmx.com
Cc: kern-bug-people@netbsd.org,
	gnats-admin@netbsd.org,
	netbsd-bugs@netbsd.org
Subject: Re: kern/53802: audioctl not working for usb audio dev
Date: Sat, 22 Dec 2018 01:15:34 +0900

 At Wed, 19 Dec 2018 19:00:00 +0000 (UTC),
 scole_mail@gmx.com wrote:
 > >Description:
 > I've got a usb audio device in addition to a builtin audio dev.  The
 > sound works fine for both, but I can't change settings of the usb audio
 > device with "/usr/bin/audioctl". The usb audio settings won't change:
 > 
 >  # audioctl -d /dev/audioctl1 -w play.gain=99
 >  play.gain: -> 127
 > 
 > but the built audio works fine:
 > 
 >  # audioctl -d /dev/audioctl0 -w play.gain=99
 >  play.gain: -> 99

 Please show your
  "/usr/bin/mixerctl -d /dev/mixer0 -a -v" and
  "/usr/bin/mixerctl -d /dev/mixer1 -a -v" ?

 Your audio1 device may not have outputs.master.
 ---
 Tetsuya Isaki <isaki@pastel-flower.jp / isaki@NetBSD.org>

From: scole_mail <scole_mail@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/53802: audioctl not working for usb audio dev
Date: Fri, 21 Dec 2018 10:43:15 -0800

 Tetsuya Isaki <isaki@pastel-flower.jp> writes:
 >  
 >  Please show your
 >   "/usr/bin/mixerctl -d /dev/mixer0 -a -v" and
 >   "/usr/bin/mixerctl -d /dev/mixer1 -a -v" ?
 >  

 # /usr/bin/mixerctl -d /dev/mixer0 -a -v
 inputs.reclvl=80,80 volume delta=5
 inputs.reclvl.mute=on  [ off on ]
 inputs.reclvl2=80,80 volume delta=5
 inputs.reclvl2.mute=on  [ off on ]
 inputs.record=184,184 volume delta=8
 inputs.record.mute=on  [ off on ]
 inputs.record2=184,184 volume delta=8
 inputs.record2.mute=on  [ off on ]
 inputs.record3=184,184 volume delta=8
 inputs.record3.mute=on  [ off on ]
 outputs.master=48,48 volume delta=3
 outputs.master2=0,0 volume delta=256
 outputs.master2.mute=off  [ off on ]
 outputs.master3=0,0 volume delta=256
 outputs.master3.mute=off  [ off on ]
 outputs.master4=192,192 volume delta=3
 outputs.master5=0,0 volume delta=256
 outputs.master5.mute=off  [ off on ]
 outputs.master6=0,0 volume delta=256
 outputs.master6.mute=off  [ off on ]
 outputs.master7=192,192 volume delta=3
 outputs.master8=0,0 volume delta=256
 outputs.master8.mute=off  [ off on ]
 outputs.master9=0,0 volume delta=256
 outputs.master9.mute=off  [ off on ]
 outputs.master10=192,192 volume delta=3
 outputs.master11=0,0 volume delta=256
 outputs.master11.mute=off  [ off on ]
 outputs.master12=0,0 volume delta=256
 outputs.master12.mute=off  [ off on ]
 outputs.master13=0,0 volume delta=256
 outputs.master13.mute=off  [ off on ]
 outputs.master14=0,0 volume delta=256
 outputs.master14.mute=off  [ off on ]
 outputs.master15=0,0 volume delta=256
 outputs.master15.mute=off  [ off on ]
 outputs.master16=0,0 volume delta=256
 outputs.master16.mute=off  [ off on ]
 record.mic=0,0 volume delta=64
 record.monitor=0,0 volume delta=64
 inputs.line=0,0 volume delta=64
 outputs.master17=0,0 volume delta=256
 outputs.master17.mute=off  [ off on ]
 inputs.reclvl3=0,0 volume delta=256
 inputs.reclvl3.mute=on  [ off on ]
 inputs.record4=0,0 volume delta=256
 inputs.record4.mute=off  [ off on ]
 record.mic2=0,0 volume delta=256
 record.mic2.mute=on  [ off on ]
 inputs.line2=0,0 volume delta=256
 inputs.line2.mute=on  [ off on ]
 inputs.record5=0,0 volume delta=256
 inputs.record5.mute=off  [ off on ]
 outputs.master18=192,192 volume delta=3
 outputs.master19=0,0 volume delta=256
 outputs.master19.mute=off  [ off on ]
 outputs.master20=0,0 volume delta=256
 outputs.master20.mute=off  [ off on ]
 outputs.dacsel=DAC00,DAC01,DIG02  { DAC00 DAC01 DIG02 }
 record.source=ADC03,ADC04,DIG-In05  { ADC03 ADC04 DIG-In05 }

 # /usr/bin/mixerctl -d /dev/mixer1 -a -v
 record.sel8-i10=1  [ 1 ]
 outputs.speaker.mute=off  [ off on ]
 outputs.speaker=186,186 volume delta=7
 record.mic.mute=off  [ off on ]
 record.mic=146 volume delta=7
 record.mic.agc=on  [ off on ]
 inputs.mic.mute=on  [ off on ]
 inputs.mic=132 volume delta=8

 Looks like you are correct.  I can adjust volume with mixerctl instead
   mixerctl -d /dev/mixer1 -w outputs.speaker=150

 I saw that audioctl1 had play.gain with a value and thought it could be
 changed in the same way.  It wasn't obvious to me which of the audio
 devices (audio/mixer/audioctl/sound) should be used.

 I guess this PR can be closed.

 Thank you

State-Changed-From-To: open->closed
State-Changed-By: isaki@NetBSD.org
State-Changed-When: Sat, 22 Dec 2018 04:57:49 +0000
State-Changed-Why:


From: Tetsuya Isaki <isaki@pastel-flower.jp>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org,
	gnats-admin@netbsd.org,
	netbsd-bugs@netbsd.org,
	scole_mail@gmx.com
Subject: Re: kern/53802: audioctl not working for usb audio dev
Date: Sat, 22 Dec 2018 13:47:34 +0900

 At Fri, 21 Dec 2018 18:45:01 +0000 (UTC),
 scole_mail wrote:
 >  Looks like you are correct.  I can adjust volume with mixerctl instead
 >    mixerctl -d /dev/mixer1 -w outputs.speaker=150

 That's good.

 >  I saw that audioctl1 had play.gain with a value and thought it could be
 >  changed in the same way.  It wasn't obvious to me which of the audio
 >  devices (audio/mixer/audioctl/sound) should be used.
 >  
 >  I guess this PR can be closed.

 I think it's not a nice UI, too.
 (Although I don't know how to do it.)

 Anyway, I will close it.
 Thank you reporting.
 ---
 Tetsuya Isaki <isaki@pastel-flower.jp / isaki@NetBSD.org>

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.