Date: Sun, 30 Apr 2017 11:34:22 +0200 From: Alexander Leidinger <Alexander@leidinger.net> To: usb@freebsd.org Subject: Question about usb audio device - how to select output connector Message-ID: <20170430113422.Horde.7udwHoKOQOINbeW7AxByIRW@webmail.leidinger.net>
next in thread | raw e-mail | index | archive | help
This message is in MIME format and has been PGP signed. --=_TFff3YVKJnOBdj9jKvzIY6O Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, I had a look at snd_uaudio and there I don't find the info I look for. What I want to do is to have 6 chanel (5.1) SPDIF output. What I don't=20= =20 understand=20is how to select the connectors. To my understanding the=20=20 soundsystem=20only sees a line out and a line in, but not all the other=20= =20 connectors.=20Looking at the output of sysctl (dev.pcm, dev.uaudio and=20= =20 hw.snd)=20doesn't give me a hint either. What I have: ---snip--- ugen5.2: <Creative Technology SB Live 24-bit External> at usbus5 uaudio0 on uhub4 uaudio0: <Creative Technology SB Live 24-bit External, class 0/0, rev=20=20 1.10/1.00,=20addr 2> on usbus5 uaudio0: Play: 48000 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer. uaudio0: Play: 44100 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer. uaudio0: Record: 96000 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer. uaudio0: Record: 48000 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer. uaudio0: Record: 44100 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer. uaudio0: No MIDI sequencer. pcm5: <USB audio> on uaudio0 uaudio0: No HID volume keys found. ---snip--- What the sound subsystem sees: ---snip--- # cat /dev/sndstat FreeBSD Audio Driver (64bit 2009061500/amd64) Installed devices: pcm0: <Realtek ALC889 (Rear Analog 7.1/2.0)> on hdaa0 kld snd_hda=20=20 (1p:1v/1r:1v)=20default snddev flags=3D0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,V= PC> [pcm0:play:dsp0.p0]: spd 48000, fmt 0x00200010, flags=20=20 0x00002100,=200x00000004 interrupts 62, underruns 0, feed 62, ready 0=20=20 [b:4096/2048/2|bs:4096/2048/2] =20 channel flags=3D0x2100<BUSY,HAS_VCHAN> {userland} -> feeder_mixer(0x00200010) -> {hardware} pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp0]: spd 44100/48000,=20=20 fmt=200x00201000/0x00200010, flags 0x10000000, 0x0000002b interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:131072/4096= /32] channel flags=3D0x10000000<VIRTUAL> {userland} -> feeder_root(0x00201000) ->=20=20 feeder_format(0x00201000=20-> 0x00200010) -> feeder_volume(0x00200010)=20= =20 ->=20feeder_rate(0x00200010 q:1 44100 -> 48000) -> {hardware} [pcm0:record:dsp0.r0]: spd 48000, fmt 0x00200010, flags=20=20 0x00002100,=200x00000005 interrupts 0, overruns 0, feed 0, hfree 4096, sfree 4096=20=20 [b:4096/2048/2|bs:4096/2048/2] =20 channel flags=3D0x2100<BUSY,HAS_VCHAN> {hardware} -> feeder_root(0x00200010) ->=20=20 feeder_mixer(0x00200010)=20-> {userland} pcm0:record:dsp0.r0[pcm0:virtual:dsp0.vr0]: spd 8000, fmt=20=20 0x00100008,=20flags 0x10000000, 0x00000000 interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0= /0] channel flags=3D0x10000000<VIRTUAL> {hardware} -> feeder_root(0x00000000) -> {userland} pcm1: <Realtek ALC889 (Front Analog)> on hdaa0 kld snd_hda (1p:1v/2r:1v) snddev flags=3D0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,V= PC> [pcm1:play:dsp1.p0]: spd 48000, fmt 0x00200010, flags=20=20 0x00002100,=200x00000004 interrupts 128, underruns 0, feed 128, ready 0=20=20 [b:4096/2048/2|bs:4096/2048/2] =20 channel flags=3D0x2100<BUSY,HAS_VCHAN> {userland} -> feeder_mixer(0x00200010) -> {hardware} pcm1:play:dsp1.p0[pcm1:virtual:dsp1.vp0]: spd 22050/48000,=20=20 fmt=200x00201000/0x00200010, flags 0x10000000, 0x0000002b interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:65536/2048/= 32] channel flags=3D0x10000000<VIRTUAL> {userland} -> feeder_root(0x00201000) ->=20=20 feeder_format(0x00201000=20-> 0x00200010) -> feeder_volume(0x00200010)=20= =20 ->=20feeder_rate(0x00200010 q:1 22050 -> 48000) -> {hardware} [pcm1:record:dsp1.r0]: spd 48000, fmt 0x00200010, flags=20=20 0x00002100,=200x00000005 interrupts 0, overruns 0, feed 0, hfree 4096, sfree 4096=20=20 [b:4096/2048/2|bs:4096/2048/2] =20 channel flags=3D0x2100<BUSY,HAS_VCHAN> {hardware} -> feeder_root(0x00200010) ->=20=20 feeder_mixer(0x00200010)=20-> {userland} [pcm1:record:dsp1.r1]: spd 8000, fmt 0x00100008, flags=20=20 0x00000000,=200x00000000 interrupts 0, overruns 0, feed 0, hfree 65536, sfree 0=20=20 [b:65536/32768/2|bs:0/0/0] =20 channel flags=3D0x0 {hardware} -> feeder_root(0x00000000) -> {userland} pcm1:record:dsp1.r0[pcm1:virtual:dsp1.vr0]: spd 8000, fmt=20=20 0x00100008,=20flags 0x10000000, 0x00000000 interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0= /0] channel flags=3D0x10000000<VIRTUAL> {hardware} -> feeder_root(0x00000000) -> {userland} pcm2: <Realtek ALC889 (Rear Digital)> on hdaa0 kld snd_hda (1p:1v/0r:0v) snddev=20=20 flags=3D0x2e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC> [pcm2:play:dsp2.p0]: spd 48000, fmt 0x00200010, flags=20=20 0x00006100,=200x00000004 interrupts 133, underruns 0, feed 133, ready 0=20=20 [b:4096/2048/2|bs:4096/2048/2] =20 channel flags=3D0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH> {userland} -> feeder_mixer(0x00200010) -> {hardware} pcm2:play:dsp2.p0[pcm2:virtual:dsp2.vp0]: spd 22050/48000,=20=20 fmt=200x00201000/0x00200010, flags 0x10000000, 0x0000002b interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:65536/2048/= 32] channel flags=3D0x10000000<VIRTUAL> {userland} -> feeder_root(0x00201000) ->=20=20 feeder_format(0x00201000=20-> 0x00200010) -> feeder_volume(0x00200010)=20= =20 ->=20feeder_rate(0x00200010 q:1 22050 -> 48000) -> {hardware} pcm3: <NVIDIA (0x001c) (HDMI/DP 8ch)> on hdaa1 kld snd_hda (1p:1v/0r:0v) snddev=20=20 flags=3D0x2e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC> [pcm3:play:dsp3.p0]: spd 48000, fmt 0x00200010, flags=20=20 0x00006100,=200x00000004 interrupts 153, underruns 0, feed 153, ready 0=20=20 [b:4096/2048/2|bs:4096/2048/2] =20 channel flags=3D0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH> {userland} -> feeder_mixer(0x00200010) -> {hardware} pcm3:play:dsp3.p0[pcm3:virtual:dsp3.vp0]: spd 22050/48000,=20=20 fmt=200x00201000/0x00200010, flags 0x10000000, 0x0000002b interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:65536/2048/= 32] channel flags=3D0x10000000<VIRTUAL> {userland} -> feeder_root(0x00201000) ->=20=20 feeder_format(0x00201000=20-> 0x00200010) -> feeder_volume(0x00200010)=20= =20 ->=20feeder_rate(0x00200010 q:1 22050 -> 48000) -> {hardware} pcm4: <NVIDIA (0x001c) (HDMI/DP 8ch)> on hdaa1 kld snd_hda (1p:1v/0r:0v) snddev=20=20 flags=3D0x2e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC> [pcm4:play:dsp4.p0]: spd 48000, fmt 0x00200010, flags=20=20 0x00006100,=200x00000004 interrupts 437, underruns 0, feed 437, ready 0=20=20 [b:4096/2048/2|bs:4096/2048/2] =20 channel flags=3D0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH> {userland} -> feeder_mixer(0x00200010) -> {hardware} pcm4:play:dsp4.p0[pcm4:virtual:dsp4.vp0]: spd 22050/48000,=20=20 fmt=200x00201000/0x00200010, flags 0x10000000, 0x0000002b interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:65536/2048/= 32] channel flags=3D0x10000000<VIRTUAL> {userland} -> feeder_root(0x00201000) ->=20=20 feeder_format(0x00201000=20-> 0x00200010) -> feeder_volume(0x00200010)=20= =20 ->=20feeder_rate(0x00200010 q:1 22050 -> 48000) -> {hardware} pcm5: <USB audio> at ? kld snd_uaudio (1p:1v/1r:1v) snddev flags=3D0x2e2<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC> [pcm5:play:dsp5.p0]: spd 48000, fmt 0x00200010/0x00410000,=20=20 flags=200x00002100, 0x00000046 interrupts 0, underruns 0, feed 0, ready 0=20=20 [b:9216/4608/2|bs:4096/2048/2] =20 channel flags=3D0x2100<BUSY,HAS_VCHAN> {userland} -> feeder_mixer(0x00200010) ->=20=20 feeder_format(0x00200010=20-> 0x00201000) -> feeder_matrix(2.0 -> 4.0)=20= =20 ->=20feeder_format(0x00401000 -> 0x00410000) -> {hardware} pcm5:play:dsp5.p0[pcm5:virtual:dsp5.vp0]: spd 8000, fmt=20=20 0x00100008,=20flags 0x10000000, 0x00000000 interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0] channel flags=3D0x10000000<VIRTUAL> {userland} -> feeder_root(0x00000000) -> {hardware} [pcm5:record:dsp5.r0]: spd 48000, fmt 0x00200010/0x00210000,=20=20 flags=200x00002100, 0x00000007 interrupts 0, overruns 0, feed 0, hfree 4608, sfree 4096=20=20 [b:4608/2304/2|bs:4096/2048/2] =20 channel flags=3D0x2100<BUSY,HAS_VCHAN> =20=20=20=20=20 {hardware} -> feeder_root(0x00210000) ->=20=20 feeder_format(0x00210000=20-> 0x00200010) -> feeder_mixer(0x00200010) ->=20= =20 {userland} =20 pcm5:record:dsp5.r0[pcm5:virtual:dsp5.vr0]: spd 8000, fmt=20=20 0x00100008,=20flags 0x10000000, 0x00000000 interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0= /0] channel flags=3D0x10000000<VIRTUAL> {hardware} -> feeder_root(0x00000000) -> {userland} No devices installed from userspace. ---snip--- What I have in /dev: ---snip--- # ll /dev/(dsp|mix|snd)* crw-rw-rw- 1 root wheel 0xed 29 Apr. 17:07 /dev/dsp0.0 crw-rw-rw- 1 root wheel 0x126 29 Apr. 16:59 /dev/dsp1.0 crw-rw-rw- 1 root wheel 0x127 29 Apr. 16:59 /dev/dsp1.2 crw-rw-rw- 1 root wheel 0x124 29 Apr. 16:59 /dev/dsp2.0 crw-rw-rw- 1 root wheel 0x125 29 Apr. 16:59 /dev/dsp2.2 crw-rw-rw- 1 root wheel 0x122 29 Apr. 16:59 /dev/dsp3.0 crw-rw-rw- 1 root wheel 0x123 29 Apr. 16:59 /dev/dsp3.2 crw-rw-rw- 1 root wheel 0x120 29 Apr. 16:59 /dev/dsp4.0 crw-rw-rw- 1 root wheel 0x121 29 Apr. 16:59 /dev/dsp4.2 crw-rw-rw- 1 root wheel 0x79 25 Apr. 21:35 /dev/mixer0 crw-rw-rw- 1 root wheel 0x7e 25 Apr. 21:35 /dev/mixer1 crw-rw-rw- 1 root wheel 0x83 25 Apr. 21:35 /dev/mixer2 crw-rw-rw- 1 root wheel 0x85 25 Apr. 21:35 /dev/mixer3 crw-rw-rw- 1 root wheel 0x86 25 Apr. 21:35 /dev/mixer4 crw-rw-rw- 1 root wheel 0x10b 29 Apr. 16:53 /dev/mixer5 crw-r--r-- 1 root wheel 0x73 25 Apr. 21:35 /dev/sndstat ---snip--- Mixer settings for uaudio: ---snip--- # mixer -f /dev/mixer5 Mixer vol is currently set to 75:75 Mixer pcm is currently set to 75:75 Mixer line is currently set to 75:75 ---snip--- Connectors on the hardware: - front - optical out - front - mix in - front - phones - rear - spdif out - rear - center/sub out - rear - rear - rear - front - rear - line in - rear - DIN Buttons on the hardware (for completeness, not important for now): - output volume (some kind of slider) - input volume (some kind of slider) - CMSS (in Windows some kind of channel-upmix) Bye, Alexander. --=20 http://www.Leidinger.net=20Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF --=_TFff3YVKJnOBdj9jKvzIY6O Content-Type: application/pgp-signature Content-Description: Digitale PGP-Signatur Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJZBa+eAAoJEKrxQhqFIICEsLEP/2XRcNkczrT00I1NiQQJ2SLA K8NmIiPs+p27L64rTFliuae+/azXLcIJ/atJxAUmHdBVerp7l3q8rMp9U+MgOHXU ZQ4f1fvSEJowKnaeWxDzIXXufFWvUJ1ynkuqCyhG011yzRE2+iqRkwwlT/v101nQ 1OoCb08B6ZJRD3yyscYGzPW5usPMmoZurpP4NCCkozenNMO1T0L2avlPwtI8A23w z+LmqBpXFbWixMw8jYwxSdhal87nm8PaaFIZBvj46boZ6h9VqUSYozSb1Ys0q9ky BmUSAREhL3hPXeSyCHC5bQvaQ2lyL+uQSYURBSfwEbyCscqzAHi6zWF/sMNFPtW3 RmgVDC95vuqX42HgD4czfO35rYmHYRxykDWbraG8YLDVioO7CHo3Qiwr1WEegucP mJjrlQHCplk8ze67lBMtaB4q9qN3e9D63Ehge6Zw2No1UWiDlPwBxSYYtlAiKLz2 EHJZ97xRx4jG+RN16a9eDAyqqeMwQFH7yEmqgceor8aH0CtDB7eIto1sFwWni0L9 Es4ZlXQ76vSugM864JGsSIN4Ld/eQ0t/FkYjtLSJVh/DGF53Q5v8S73Wje+2w/UT 2RkBlh5HsZ1t1IJmx190wCeemn3hftTNuE/lDC5vYo1tmfGv0j+zvOd9YtR4uRQu rcxQxPHFyPji3ZDJhY1G =UhOC -----END PGP SIGNATURE----- --=_TFff3YVKJnOBdj9jKvzIY6O--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170430113422.Horde.7udwHoKOQOINbeW7AxByIRW>