[alsa-devel] new driver - some initial problems

William Juul william at juul.no
Fri Feb 8 09:43:37 CET 2008


I am new to alsa development, but I am trying to write a alsa capture
driver for a DAC. The driver is based on at73c213 since it will be
running on AVR32 and using the SSC bus.
The driver is running on a NGW100 card and I am using buildroot
provided by Atmel. The alsa version is 1.0.14a and the kernel is
2.6.23.

The DAC is not using any configuration bus so I have switched to using
platform_* functions instead of dev/spi (grabbed from snd-dummy). I
have also been taking some capture pieces from the snd-dummy driver.

I am now stuck with two problems:
1) When using arecord -L, I only get the "null" device
2) When I try to use arecord to do a recording I get "arecord:
set_params:1039: unable to install sw params:". I get the same message
when trying to use the snd-dummy driver, even though this driver also
has PCM device.

Any hints on how to proceed?

I can post the driver source if that is interesting.

Best regards
William Juul

Listings (annotated):

# modprobe -v snd-dummy
Loading module snd-page-alloc
Loading module soundcore
Loading module snd
Loading module snd-timer
Loading module snd-pcm
Loading module snd-dummy
#
#
# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Dummy [Dummy], device 0: Dummy PCM [Dummy PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
#
# arecord -L
default:CARD=Dummy
    Dummy, Dummy PCM
    Default Audio Device
null
    Discard all samples (playback) or generate zero samples (capture)
#
#
#
# arecord > dummy.wav
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
pcm->setup: 1
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : U8
  subformat    : STD
  channels     : 1
  rate         : 8000
  exact rate   : 8000 (8000/1)
  msbits       : 8
  buffer_size  : 355
  period_size  : 355
  period_time  : 44375
  tick_time    : 4000
  tstamp_mode  : NONE
  period_step  : 1
  sleep_min    : 0
  avail_min    : 355
  xfer_align   : 355
  start_threshold  : 1
  stop_threshold   : 355
  silence_threshold: 0
  silence_size : 0
  boundary     : 1488977920
arecord: set_params:1039: unable to install sw params:
start_mode: DATA
xrun_mode: STOP
tstamp_mode: NONE
period_step: 1
sleep_min: 0
avail_min: 0
xfer_align: 0
silence_threshold: 0
silence_size: 0
boundary: 1488977920
#
#
# arecord  -r  22786 -c 1 -f U8 -s 1 -A 100 -v > dummy.wav
# (This works OK)
#
# reboot
...
#
#
# modprobe -v snd-ads127x
Loading module soundcore
Loading module snd
Loading module snd-page-alloc
Loading module snd-timer
Loading module snd-pcm
Loading module snd-ads127x
snd_ads127x_probe OK
#
#
# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: ads127x_0 [AVR32 NGW100 external DAC], device 0: ads127x [ads127x]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
# arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
#
#
#
#
# arecord  -r  22786 -c 1 -f S24_LE -s 1 -A 100  > ads127x.wav
ALSA /home/williaj/src/ads127x/src/ads127x.c:141: snd_ads127x_pcm_open
Recording WAVE 'stdin' : Signed 24 bit Little Endian, Rate 22786 Hz, Mono
pcm->setup: 1
  stream       : CAPTURE
  accessALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos =
0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
       : RW_INTERLEAVED
  format       : S24_LEALSA sound/core/pcm_lib.c:155: BUG: stream = 1,
pos = 0x3b5f034, buffer size = 0xfcc, period size = 0x3f3

  subformat    : STD
  channels     : 1
  raALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos = 0x3b5f034,
buffer size = 0xfcc, period size = 0x3f3
te         : 22786
  exact rate   : 22786 (22786/1)
  msbits       : 32
  buffer_size  : 4044
  period_size  : 1011
  period_time  : 44369
  tick_time ALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos =
0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
   : 4000
  tstamp_mode  : NONE
  period_step ALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos =
0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
 : 1
  sleep_min    : 0
ALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos = 0x3b5f034,
buffer size = 0xfcc, period size = 0x3f3

  xfer_align   : 1011
  start_threshold  : 1
ALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos = 0x3b5f034,
buffer size = 0xfcc, period size = 0x3f3
  stop_threshold   : 4044
  silence_threshold: ALSA sound/core/pcm_lib.c:155: BUG: stream = 1,
pos = 0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
0
  silence_size : 0
  boundary     : 21202206ALSA sound/core/pcm_lib.c:155: BUG: stream =
1, pos = 0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
72
overrun!!! (at least 1.074 ms long)
overrun!!! (at least 0.151 ms long)
overrun!!! (at least 0.139 ms long)
overrun!!! (at least 0.141 ms long)
overrALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos = 0x3b5f034,
buffer size = 0xfcc, period size = 0x3f3
un!!! (at least 0.142 ms long)
overrun!!! (at lALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos =
0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
east 0.139 ms long)
overrun!!! (at least 0.137 ALSA sound/core/pcm_lib.c:155: BUG: stream
= 1, pos = 0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
ms long)
overrun!!! (at least 0.139 ms long)
oALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos = 0x3b5f034,
buffer size = 0xfcc, period size = 0x3f3
verrun!!! (at least 0.138 ms long)
overrun!!! (ALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos =
0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
at least 0.149 ms long)
overrun!!! (at least 0.ALSA sound/core/pcm_lib.c:155: BUG: stream = 1,
pos = 0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
145 ms long)
overrun!!! (at least 0.154 ms long)
overrun!!! (at least 0.146 ms long)
overrun!!! (at least 0.146 ms long)
overrun!!! (at least 0.724 ms loALSA sound/core/pcm_lib.c:155: BUG:
stream = 1, pos = 0x3b5f034, buffer size = 0xfcc, period size = 0x3f3
ng)
overrun!!! (at least 0.152 ms long)
ALSA sound/core/pcm_lib.c:155: BUG: stream = 1, pos = 0x3b5f034,
buffer size = 0xfcc, period size = 0x3f3
overrun!!! (at least 0.125 ms long)


More information about the Alsa-devel mailing list