[Home]

Summary:ASTERISK-14927: chan_alsa.c: snd_pcm_open failed: No such file or directory
Reporter:Vasilios Tzanoudakis (vtzan)Labels:
Date Opened:2009-10-01 14:16:10Date Closed:2011-06-07 14:07:54
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_alsa
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:When trying to reach my alsa extension

exten => 8000,1,Dial(alsa/default)

I am getting this error log.


[Oct  1 20:44:24] ERROR[2121] res_timing_timerfd.c: Failed to create timerfd timer: Function not implemented
[Oct  1 20:44:24] WARNING[2138] channel.c: No channel type registered for 'alsa'
[Oct  1 20:44:24] WARNING[2138] app_dial.c: Unable to create channel of type 'alsa' (cause 66 - Channel not implemented)





****** ADDITIONAL INFORMATION ******

/etc/asterisk/alsa.conf
========================
[general]
autoanswer=yes
context=default
extension=s
input_device=default
output_device=default
;input_device=hw:0,0 ;tried also those setting without luck :-(
;output_device=hw:0,0

asound.conf
===========
# default dmix configuration

#pcm.!default {
#    type plug
#    slave.pcm "dmix"
#}

ctl.mixer0 {
   type plughw
   card 0
}

pcm.dmixer  {
  type dmix
  ipc_key 1025
  ipc_perm 0660
  slave {
     pcm "hw:0,0"
     period_time 0
     period_size 1024
     buffer_size 8192
     rate 44100
  }
  bindings {
     0 0
     1 1
  }
}
# Dsnoop device. Slave PCM refers to sound card whose input channel
# (microphone) you'll be using.
pcm.!dsnooper {
  type dsnoop
  ipc_key 1027
  #slave.pcm "hw:0,0"
  slave {
     pcm "hw:0,0"
     period_time 0
     period_size 1024
     buffer_size 8192
     rate 44100
  }
}
# Combine both half-duplex ("one way") devices into one full-duplex
# ("both ways") device.
pcm.multiplex {
type asym
  playback.pcm "dmixer"
  capture.pcm "dsnooper"
}
# Replace default alsa device with multiplexing device created above.
pcm.!default {
  type plug
  slave.pcm "multiplex"
}
# Finally, this should convince AOSS to work with your mic
pcm.dsp0 {
  type plug
  slave.pcm "multiplex"
}
==========================
root@overo:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: overo [overo], device 0: TWL4030 twl4030-0 []
 Subdevices: 1/1
 Subdevice #0: subdevice #0

==========================
Mplayer sound WORKS GREAT!

mplayer -ao alsa:device=default stream.wav
==============================

cat /dev/snd/controlC0
cat: /dev/snd/controlC0: File descriptor in bad state

=================

Alsamixer works great too.

Any help would really be appreciated.
Thanks.






Comments:By: Vasilios Tzanoudakis (vtzan) 2009-10-02 06:00:31

Problem is similar to this:

http://lists.digium.com/pipermail/asterisk-users/2007-July/191943.html
=======================================================================
asterisk-1.4.7, Fedora 7, intel emt64 - nocona:

  == Parsing '/etc/asterisk/alsa.conf': Found
ALSA lib pcm_dsnoop.c:558:(snd_pcm_dsnoop_open) unable to
open slave
[Jul 15 10:12:23] ERROR[24420]: chan_alsa.c:365
alsa_card_init: snd_pcm_open failed: No such file or directory
[Jul 15 10:12:23] ERROR[24420]: chan_alsa.c:481
soundcard_init: Problem opening alsa I/O devices
  == No sound card detected -- console channel will be
unavailable


But:

ls /dev/snd -l
total 0
crw-rw-rw-+ 1 root root 116, 7 2007-07-14 14:22 controlC0
crw-rw-rw-+ 1 root root 116, 6 2007-07-14 14:22 pcmC0D0c
crw-rw-rw-+ 1 root root 116, 5 2007-07-14 14:22 pcmC0D0p
crw-rw-rw-+ 1 root root 116, 4 2007-07-14 14:22 pcmC0D1p
crw-rw-rw-+ 1 root root 116, 3 2007-07-14 14:22 seq
crw-rw-rw-+ 1 root root 116, 2 2007-07-14 14:22 timer

and alsamixer works.