On Wed, 2021-12-22 at 22:01 +0800, 赵成义 wrote: > Hi guys, > > > I found that some usb earphones can match the device-strings hw:%f > and iec958:%f of the default.conf configuration file > at the same time, so two output ports will be displayed, one is the > analog output and the other is the S/PDIF digital output. > > > Is there any difference between these two outputs? Which device- > string I should disable between hw:%f and iec958:%f? > and how can I disable one of them? iec958:%f is meant for S/PDIF, which is a certain kind of a physical connector. Earphones are very unlikely to have such connector. If the connector doesn't exist, that's an issue somewhere below PulseAudio: alsa configuration (most likely), kernel driver or hardware. If you get audio when using that output, then the iec958 device is probably just an alias for the hw device. If the earphones support hardware volume controls, then there's a difference between iec958 and hw in that PulseAudio won't use hardware volume control with the iec958 output. Probably the correct way to disable the iec958 output is to add your device to this file https://github.com/alsa-project/alsa-lib/blob/master/src/conf/cards/USB-Audio.conf (and submit your change to ALSA upstream). More specifically, the file contains this section which has a list of devices that should have their iec958 output disabled: # If a device does not use the first PCM device for digital data, the device # number for the iec958 device can be changed here. USB-Audio.pcm.iec958_device { # "NoiseBlaster 3000" 42 "USB Sound Blaster HD" 1 "Xonar U7" 1 "ASUS XONAR U5" 1 "XONAR U5" 1 "XONAR SOUND CARD" 1 "Xonar SoundCard" 2 # The below don't have digital in/out, so prevent them from being opened. "Andrea PureAudio USB-SA Headset" 999 "Blue Snowball" 999 "C-Media USB Headphone Set" 999 "HP Digital Stereo Headset" 999 "GN 9330" 999 ... The file is installed in /usr/share/alsa/cards/USB-Audio.conf. Your problem description contains one weird thing: The mono-fallback device has the "fallback = yes" option set, which means that it should be available only if nothing else works. That means that it should be impossible to have it available at the same time as iec958-stereo. Maybe that's a bug in PulseAudio. -- Tanu