Topic: MADIface 192 kHz problem
I'm trying to get a MADIface (with a MA32 A converter) to run at 192 kHz under Linux (on x86_64 Gentoo).
I can set the sampling rate using:
# amixer -c 1 cset numid=2 9
numid=2,iface=MIXER,name='Sample Clock Source'
; Item #0 'AutoSync'
; Item #1 'Internal 32.0 kHz'
; Item #2 'Internal 44.1 kHz'
; Item #3 'Internal 48.0 kHz'
; Item #4 'Internal 64.0 kHz'
; Item #5 'Internal 88.2 kHz'
; Item #6 'Internal 96.0 kHz'
; Item #7 'Internal 128.0 kHz'
; Item #8 'Internal 176.4 kHz'
; Item #9 'Internal 192.0 kHz'
But when I try to read data at 192 kHz I always get a :
Warning: Unable to set the number of hardware channels to 32: Invalid argument
Unable to set hardware parameters: Invalid argument
The ALSA-lib (i.e., asound.so) function for getting the number of available channels seems to return the wrong max and min number of channels when running at 192 kHz. The max-number of channels should be 16 at 192 kHz. I works fine if I let the card run at 48 kHz.
I also tried to start jack at 192 kHz with this result:
# jackd -v -d alsa -r 192000 -p 64 -n 2 -C hw:1,0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
getting driver descriptor from /usr/lib64/jack/jack_dummy.so
getting driver descriptor from /usr/lib64/jack/jack_net.so
getting driver descriptor from /usr/lib64/jack/jack_alsa.so
JACK compiled with System V SHM support.
server `default' registered
registered builtin port type 32 bit float mono audio
registered builtin port type 8 bit raw midi
clock source = system clock via clock_gettime
loading driver ..
start poll on 3 fd's
apparent rate = 192000
creating alsa driver ... -|hw:1,0|64|2|192000|0|0|nomon|swmeter|-|32bit
control device hw:0
new client: alsa_pcm, id = 1 type 1 @ 0x6091a0 fd = -1
configuring for 192000Hz, period = 64 frames (0.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: cannot set channel count to 64 for capture
ALSA: cannot configure capture channel
cannot load driver module alsa
starting server engine shutdown
stopping server thread
server thread back from poll
last xrun delay: 0.000 usecs
max delay reported by backend: 0.000 usecs
freeing engine shared memory
max usecs: 0.000, engine deleted
WARNING: 1 message buffer overruns!
cleaning up shared memory
cleaning up files
unregistering server `default'
The kernel is:
# uname -a
Linux fllap5 2.6.34-gentoo-r11 #1 SMP PREEMPT Mon Oct 11 08:17:48 CEST 2010 x86_64 Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz GenuineIntel GNU/Linux
Am I missing some setting to get this to work?