2010/2/5 Guennadi Liakhovetski g.liakhovetski@gmx.de
On Thu, 4 Feb 2010, Raymond Yau wrote:
I would see your reply sooner, if you used reply-to-all.
if LIBASOUND_DEBUG = 1 cannot tell you which parameter fail in
hw_params() ,
you will need to define RULES_DEBUG in alsa-kernel/core/pcm_native.c and compile driver with debug=verbose
-#undef RULES_DEBUG +#define RULES DEBUG 1
That's already on too. Not sure what you mean by "compile driver with debug=verbose," supposedly, some kernel ALSA debug parameter. Since this is my driver, I can certainly add any debugging there, but it seems obvious to me, that the kernel is still getting a mono configuration, which shouldn't be the cae.
you can find out how ALSA refine the hw parameters by examing the system
log
If you mean "dmesg" output, then, as I said, there isn't much to look for there - the kernel is configured for mono...
Thanks Guennadi
your output is quite different from mine
arecord -v -f cd -c 1 -d 30 -r 8000 -Dplughw:1,0 any.wav Recording WAVE 'any.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono Plug PCM: Route conversion PCM (sformat=S16_LE) Transformation table: 0 <- 0*0.5 + 1*0.5 Its setup is: stream : CAPTURE access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 1 rate : 8000 exact rate : 8000 (8000/1) msbits : 16 buffer_size : 3968 period_size : 992 period_time : 124000 tstamp_mode : NONE period_step : 1 avail_min : 992 period_event : 0 start_threshold : 1 stop_threshold : 3968 silence_threshold: 0 silence_size : 0 boundary : 2080374784 Slave: Hardware PCM card 1 'HDA Intel' device 0 subdevice 0 Its setup is: stream : CAPTURE access : MMAP_INTERLEAVED format : S16_LE subformat : STD channels : 2