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:
(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.