Ok,
Let me start off that I know very little about audio and drivers.
Recently I started looking in to running Puredata and possibly jack on the Pandora handheld. However I ran in to a number of problems getting these to interface with alsa. I should note that on the pandora we don't have too up to date versions of alsa and kernel so perhaps these are already resolved. In SL4P (slackware for pandora) I have:
ALSA: 1.0.24 Kernel: 3.2.30
I will paste a couple of use-cases and their corresponding dmesg output:
When I run ~$ pd -alsa I get:
snd_pcm_hw_params (input): Invalid argument snd_pcm_hw_params (output): Invalid argument
and: [201429.385345] omap_mcbsp_dai_hw_params: not enough bandwidth for desired rate and channels [201429.385375] asoc: interface omap-mcbsp-dai.1 hw params failed
With 'jackd -d alsa -S' (need s16_le):
loading driver .. creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|16bit control device hw:0 configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods ALSA: final selected sample format for capture: 16bit little-endian ALSA: use 2 periods for capture ALSA: cannot set hardware parameters for capture ALSA: cannot configure capture channel
cannot load driver module alsa
and: [201746.759857] asoc: can't set codec twl4030-hifi hw params
The pandora kernel-dev explained that the hardware can only handle stereo streams. However someone in #jack explains it as the following: "This typically means that the ALSA driver is incomplete or buggy when used the way JACK does (poll+mmap) vs. the way aplay does (blocking read+write). So things that do stuff the "aplay way" will work; things that do stuff the JACK way will not work."
I hope someone can shed some light on this and perhaps give some ideas to how to get this working.
cheers, alexander