| # | |
| # USB-Audio.conf - configuration for USB Audio devices | |
| # | |
| # | |
| # DO NO EDIT; this is an internal ALSA file. | |
| # If you want to add your own definitions, put them into /etc/asound.conf or | |
| # ~/.asoundrc, with "cards." before the "USB-Audio", e.g.: | |
| # | |
| # cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no | |
| # | |
| # If your device requires such a definition to work correctly, please report it | |
| # to <alsa-devel@alsa-project.org>. | |
| # If a device has sample formats not supported by dmix, dmix can be disabled | |
| # here. | |
| USB-Audio.pcm.use_dmix { | |
| "AudioPhile" no # uses big-endian 24-bit samples | |
| "Audiophile USB (tm)" no | |
| } | |
| # If a device does not have a four-channel mode for the front/rear outputs, | |
| # other modes can be selected here. | |
| # six_channels - for devices that route the last two of the four channels | |
| # to the center/LFE outputs | |
| # two_stereo_devices - for devices that have two stereo audio interfaces | |
| USB-Audio.pcm.surround40_type { | |
| "AudioPhile" two_stereo_devices | |
| "Audiophile USB (tm)" two_stereo_devices | |
| "ICUSBAUDIO7D" six_channels | |
| "OmniStudio" two_stereo_devices | |
| "Quattro" two_stereo_devices | |
| "SB Audigy 2 NX" six_channels | |
| "USB AudioSport Quattro (tm)" two_stereo_devices | |
| } | |
| # 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 | |
| "SB Omni Surround 5.1" 1 | |
| "Xonar U7" 1 | |
| "Xonar U7 MKII" 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 | |
| "Cmedia Audio" 999 | |
| "Corsair HS60 PRO Surround USB S" 999 | |
| "DELL PROFESSIONAL SOUND BAR AE5" 999 | |
| "HP Digital Stereo Headset" 999 | |
| "GN 9330" 999 | |
| "Logitech Speaker Lapdesk N700" 999 | |
| "Logitech G35 Headset" 999 | |
| "Logitech USB Headset" 999 | |
| "Logitech USB Headset H540" 999 | |
| "Logitech Wireless Headset" 999 | |
| "Plantronics Blackwire 3220 Seri" 999 | |
| "Plantronics GameCom 780" 999 | |
| "Plantronics USB Headset" 999 | |
| "Plantronics Wireless Audio" 999 | |
| "SB WoW Headset" 999 | |
| "Scarlett 2i2 4th Gen" 999 | |
| "Scarlett 2i2 USB" 999 | |
| "Scarlett 2i4 USB" 999 | |
| "Scarlett Solo 4th Gen" 999 | |
| "Scarlett Solo USB" 999 | |
| "Sennheiser USB headset" 999 | |
| "SWTOR Gaming Headset by Razer" 999 | |
| "ThinkStation P620 Main" 999 | |
| "ThinkStation P620 Rear" 999 | |
| "Thunderbolt Dock Audio Headset" 999 | |
| "Thunderbolt Dock Audio Module" 999 | |
| "USB Device 0x46d_0x821" 999 | |
| "USB Device 0x46d_0x992" 999 | |
| "WD15 Dock" 999 | |
| "WD19 Dock" 999 | |
| "ThinkPad USB-C Dock Gen2 USB Au" 999 | |
| } | |
| # Second iec958 device number, if any. | |
| USB-Audio.pcm.iec958_2_device { | |
| "PHIREE U2" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF | |
| "PHIREE U2SX" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF | |
| } | |
| # If a device requires non-standard definitions for front, default, surround40, | |
| # surround51, surround71 or iec958, they can be defined here. | |
| # M-Audio AudioPhile USB: | |
| # device 0: analog output, digital input | |
| # device 1: digital output, analog input | |
| USB-Audio."AudioPhile".pcm.default "cards.USB-Audio.Audiophile USB (tm).pcm.default" | |
| USB-Audio."Audiophile USB (tm)".pcm.default { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| type asym | |
| playback.pcm { | |
| type plug | |
| slave.pcm { | |
| type hw | |
| card $CARD | |
| device 0 | |
| } | |
| } | |
| capture.pcm { | |
| type plug | |
| slave.pcm { | |
| @func concat | |
| strings [ "dsnoop:DEV=1,CARD=" $CARD ] | |
| } | |
| } | |
| } | |
| USB-Audio."AudioPhile".pcm.iec958 "cards.USB-Audio.Audiophile USB (tm).pcm.iec958" | |
| USB-Audio."Audiophile USB (tm)".pcm.iec958 { | |
| @args [ CARD AES0 AES1 AES2 AES3 ] | |
| @args.CARD { type string } | |
| @args.AES0 { type integer } | |
| @args.AES1 { type integer } | |
| @args.AES2 { type integer } | |
| @args.AES3 { type integer } | |
| type asym | |
| playback.pcm { | |
| type hw | |
| card $CARD | |
| device 1 | |
| } | |
| capture.pcm { | |
| type hw | |
| card $CARD | |
| device 0 | |
| } | |
| } | |
| # For this card we can (and must to get IEC61937) set AES bits | |
| USB-Audio."MicroII".pcm.iec958 "cards.USB-Audio.Audio Advantage MicroII.pcm.iec958" | |
| USB-Audio."Audio Advantage MicroII".pcm.iec958 { | |
| @args [ CARD AES0 AES1 AES2 AES3 ] | |
| @args.CARD { type string } | |
| @args.AES0 { type integer } | |
| @args.AES1 { type integer } | |
| @args.AES2 { type integer } | |
| @args.AES3 { type integer } | |
| type hooks | |
| slave.pcm { | |
| type hw | |
| card $CARD | |
| } | |
| hooks.0 { | |
| type ctl_elems | |
| hook_args [ | |
| { | |
| interface PCM | |
| name "IEC958 Playback Default" | |
| preserve true | |
| optional true | |
| value [ $AES0 $AES1 $AES2 $AES3 ] | |
| } | |
| { | |
| name "IEC958 Playback Switch" | |
| lock true | |
| preserve true | |
| value 1 | |
| } | |
| ] | |
| } | |
| } | |
| ################################################################################ | |
| <confdir:pcm/front.conf> | |
| USB-Audio.pcm.front.0 { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio." | |
| { @func card_name card $CARD } | |
| ".pcm.front:CARD=" $CARD | |
| ] | |
| } | |
| default { | |
| # We could use softvol, but the driver might have guessed a | |
| # wrong name for the real volume control. | |
| type hw | |
| card $CARD | |
| device 0 | |
| } | |
| } | |
| USB-Audio.pcm.default { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio." | |
| { @func card_name card $CARD } | |
| ".pcm.default:CARD=" $CARD | |
| ] | |
| } | |
| default { | |
| type asym | |
| playback.pcm { | |
| type plug | |
| slave.pcm { | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio.pcm.default_playback_dmix_" | |
| { | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio.pcm.use_dmix." | |
| { @func card_name card $CARD } | |
| ] | |
| } | |
| default yes | |
| } | |
| ":CARD=" $CARD | |
| ] | |
| } | |
| } | |
| } | |
| capture.pcm { | |
| type plug | |
| slave.pcm { | |
| @func concat | |
| strings [ "dsnoop:" $CARD ] | |
| } | |
| } | |
| } | |
| } | |
| USB-Audio.pcm.default_playback_dmix_yes { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| @func concat | |
| strings [ "dmix:" $CARD ] | |
| } | |
| USB-Audio.pcm.default_playback_dmix_no { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| type hw | |
| card $CARD | |
| device 0 | |
| } | |
| <confdir:pcm/surround40.conf> | |
| USB-Audio.pcm.surround40.0 { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio." | |
| { @func card_name card $CARD } | |
| ".pcm.surround40:CARD=" $CARD | |
| ] | |
| } | |
| default { | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio.pcm.surround40_" | |
| { | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio.pcm.surround40_type." | |
| { @func card_name card $CARD } | |
| ] | |
| } | |
| default default | |
| } | |
| ":CARD=" $CARD | |
| ] | |
| } | |
| } | |
| } | |
| USB-Audio.pcm.surround40_default { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| type hw | |
| card $CARD | |
| device 0 | |
| } | |
| USB-Audio.pcm.surround40_six_channels { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| type route | |
| ttable.0.0 1 | |
| ttable.1.1 1 | |
| ttable.2.4 1 | |
| ttable.3.5 1 | |
| slave { | |
| pcm { | |
| type hw | |
| card $CARD | |
| device 0 | |
| } | |
| channels 6 | |
| } | |
| } | |
| USB-Audio.pcm.surround40_two_stereo_devices { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| type route | |
| ttable.0.0 1 | |
| ttable.1.1 1 | |
| ttable.2.2 1 | |
| ttable.3.3 1 | |
| slave.pcm { | |
| type multi | |
| slaves { | |
| a { | |
| pcm { | |
| type hw | |
| card $CARD | |
| device 0 | |
| } | |
| channels 2 | |
| } | |
| b { | |
| pcm { | |
| type hw | |
| card $CARD | |
| device 1 | |
| } | |
| channels 2 | |
| } | |
| } | |
| bindings [ | |
| { slave a channel 0 } | |
| { slave a channel 1 } | |
| { slave b channel 0 } | |
| { slave b channel 1 } | |
| ] | |
| } | |
| } | |
| <confdir:pcm/surround21.conf> | |
| <confdir:pcm/surround41.conf> | |
| <confdir:pcm/surround50.conf> | |
| <confdir:pcm/surround51.conf> | |
| USB-Audio.pcm.surround51.0 { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio." | |
| { @func card_name card $CARD } | |
| ".pcm.surround51:CARD=" $CARD | |
| ] | |
| } | |
| default { | |
| type route | |
| ttable.0.0 1 | |
| ttable.1.1 1 | |
| ttable.2.4 1 | |
| ttable.3.5 1 | |
| ttable.4.2 1 | |
| ttable.5.3 1 | |
| slave { | |
| pcm { | |
| type hw | |
| card $CARD | |
| device 0 | |
| } | |
| channels 6 | |
| } | |
| } | |
| } | |
| <confdir:pcm/surround71.conf> | |
| USB-Audio.pcm.surround71.0 { | |
| @args [ CARD ] | |
| @args.CARD { type string } | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio." | |
| { @func card_name card $CARD } | |
| ".pcm.surround71:CARD=" $CARD | |
| ] | |
| } | |
| default { | |
| type route | |
| ttable.0.0 1 | |
| ttable.1.1 1 | |
| ttable.2.4 1 | |
| ttable.3.5 1 | |
| ttable.4.2 1 | |
| ttable.5.3 1 | |
| ttable.6.6 1 | |
| ttable.7.7 1 | |
| slave { | |
| pcm { | |
| type hw | |
| card $CARD | |
| device 0 | |
| } | |
| channels 8 | |
| } | |
| } | |
| } | |
| <confdir:pcm/iec958.conf> | |
| USB-Audio.pcm.iec958.0 { | |
| @args [ CARD AES0 AES1 AES2 AES3 ] | |
| @args.CARD { type string } | |
| @args.AES0 { type integer } | |
| @args.AES1 { type integer } | |
| @args.AES2 { type integer } | |
| @args.AES3 { type integer } | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio." | |
| { @func card_name card $CARD } | |
| ".pcm.iec958:CARD=" $CARD | |
| ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3 | |
| ] | |
| } | |
| default { | |
| # FIXME: we cannot set the AES parameters | |
| type hw | |
| card $CARD | |
| device { | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio.pcm.iec958_device." | |
| { @func card_name card $CARD } | |
| ] | |
| } | |
| default 0 | |
| } | |
| } | |
| } | |
| USB-Audio.pcm.iec958.1 { | |
| @args [ CARD AES0 AES1 AES2 AES3 ] | |
| @args.CARD { type string } | |
| @args.AES0 { type integer } | |
| @args.AES1 { type integer } | |
| @args.AES2 { type integer } | |
| @args.AES3 { type integer } | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio." | |
| { @func card_name card $CARD } | |
| ".pcm.iec958_2:CARD=" $CARD | |
| ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3 | |
| ] | |
| } | |
| default { | |
| # FIXME: we cannot set the AES parameters | |
| type hw | |
| card $CARD | |
| device { | |
| @func refer | |
| name { | |
| @func concat | |
| strings [ | |
| "cards.USB-Audio.pcm.iec958_2_device." | |
| { @func card_name card $CARD } | |
| ] | |
| } | |
| default 999 | |
| } | |
| } | |
| } | |
| # vim: ft=alsaconf |