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 } }