[pulseaudio-discuss] M-Audio Delta 1010

Alexander E. Patrakov patrakov at gmail.com
Sun Jun 29 22:14:12 PDT 2014


30.06.2014 10:05, Matt Zagrabelny wrote:
> Hi Alexander!
>
>> Actually I think there is enough information in the original mail for me to
>> guess why, but still, please provide the information I have asked for. The
>> problem is that your card, which is based on the ICE1712 chipset, does not
>> expose the 7.1 output and the second spdif output via the stock ALSA card
>> file. I.e., the "surround71:1" and "spdif:1,1" devices don't exist, and that
>> needs to be fixed in alsa-lib.
>>
>> You can test the theory by running these two commands:
>>
>> pasuspender -- speaker-test -t wav -c6 -D surround51:1
>
> % pasuspender -- speaker-test -t wav -c6 -D surround51:1
>
> speaker-test 1.0.27.2
>
> Playback device is surround51:1
> Stream parameters are 48000Hz, S16_LE, 6 channels
> WAV file(s)
> Sample format not available for playback: Invalid argument
> Setting of hwparams failed: Invalid argument

OK, so your card only accepts 32-bit samples.

pasuspender -- speaker-test -t wav -c6 -D 'plug:"surround51:1"'

>
>> pasuspender -- speaker-test -t wav -c8 -D surround71:1
>
> % pasuspender -- speaker-test -t wav -c8 -D surround71:1
>
> speaker-test 1.0.27.2
>
> Playback device is surround71:1
> Stream parameters are 48000Hz, S16_LE, 8 channels
> WAV file(s)
> ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition
> 'cards.ICE1712.pcm.surround71.0:CARD=1'
> ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer
> returned error: No such file or directory
> ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: No such file
> or directory
> ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM surround71:1
> Playback open error: -2,No such file or directory

Well, this confirms the issue. Please replace the 
/usr/share/alsa/cards/ICE1712.conf file with the attached one and see if 
it helps. Also please verify the channel positions. Again, a plug will 
be necessary:

pasuspender -- speaker-test -t wav -c8 -D 'plug:"surround71:1"'

Please also verify that the Analog Surround 7.1 profile appears in 
PulseAudio after that (you need to restart PulseAudio: killall 
pulseaudio). If that succeeds, I will post the formal patch to the 
alsa-devel list.

As for the second SPDIF, sorry, I think there is some misunderstanding 
here. According to the reviews, the card has one spdif input and one 
spdif output, both of which are already supported.

-- 
Alexander E. Patrakov
-------------- next part --------------
#
# Configuration for the ICE1712 (Envy24) chip
#

# default with dmix & dsnoop
ICE1712.pcm.default {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type asym
	playback.pcm {
		type plug
		slave.pcm {
			@func concat
			strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
		}
	}
	capture.pcm {
		type plug
		slave.pcm {
			@func concat
			strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
		}
	}
}

<confdir:pcm/front.conf>

ICE1712.pcm.front.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type asym
	playback.pcm {
		type route
		ttable.0.0 1
		ttable.1.1 1
		slave.pcm {
			type hw
			card $CARD
		}
		slave.channels 10
	}
	capture.pcm {
		type route
		ttable.0.0 1
		ttable.1.1 1
		slave.pcm {
			type hw
			card $CARD
		}
		slave.channels 12
	}
}	

<confdir:pcm/surround40.conf>

ICE1712.pcm.surround40.0 {
	@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 hw
		card $CARD
	}
	slave.channels 10
}	

<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
<confdir:pcm/surround71.conf>

ICE1712.pcm.surround51.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type route
	ttable.0.0 1
	ttable.1.1 1
	ttable.2.2 1
	ttable.3.3 1
	ttable.4.4 1
	ttable.5.5 1
	slave.pcm {
		type hw
		card $CARD
	}
	slave.channels 10
}

ICE1712.pcm.surround71.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type route
	ttable.0.0 1
	ttable.1.1 1
	ttable.2.2 1
	ttable.3.3 1
	ttable.4.4 1
	ttable.5.5 1
	ttable.6.6 1
	ttable.7.7 1
	slave.pcm {
		type hw
		card $CARD
	}
	slave.channels 10
}

<confdir:pcm/iec958.conf>

ICE1712.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
	}
	type asym
	playback.pcm {
		type hooks
		slave.pcm {
			type route
			ttable.0.8 1
			ttable.1.9 1
			slave.pcm {
				type hw
				card $CARD
			}
			slave.format S32_LE
			slave.channels 10
		}
		hooks.0 {
			type ctl_elems
			hook_args [
				{
					interface PCM
					name "IEC958 Playback PCM Stream"
					lock true
					preserve true
					value [ $AES0 $AES1 $AES2 $AES3 ]
				}
			]
		}
	}
	capture.pcm {
		type route
		ttable.0.8 1
		ttable.1.9 1
		slave.pcm {
			type hw
			card $CARD
		}
		slave.format S32_LE
		slave.channels 12
	}
}


More information about the pulseaudio-discuss mailing list