Re: [asterisk-users] meetme() and dahdi_dummy on an embedded system

2010-03-31 Thread Darko Bodnaruk
Hi,

Vinicius, did you actually solve the choppy audio issue by compiling
Gordon's kernel? I have the same problem on the exact same Alix platform
(using kernel 2.6.31, though).

regards,
Darko


ps. Sorry everyone if this mail does not get threaded right. I've just
joined the mailing list and not sure how to reply to an existing thread I
found on the web.
-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] MeetMe() and dahdi_dummy on an embedded system

2010-02-26 Thread Vinícius Fontes
- Gordon Henderson gordon+aster...@drogon.net escreveu:

 On Thu, 25 Feb 2010, Vinícius Fontes wrote:
 
  Just checked and I'm using the high res timer as well:
 
  Feb 25 17:42:32 voyage vmunix: [   27.028798] dahdi_dummy: Trying to
 load High Resolution Timer
  Feb 25 17:42:32 voyage vmunix: [   27.028816] dahdi_dummy:
 Initialized High Resolution Timer
  Feb 25 17:42:32 voyage vmunix: [   27.028831] dahdi_dummy: Starting
 High Resolution Timer
  Feb 25 17:42:32 voyage vmunix: [   27.028849] dahdi_dummy: High
 Resolution Timer started, good to go
  Feb 25 17:42:32 voyage vmunix: [   27.055253] dahdi: Registered tone
 zone 20 (Brazil)
 
 Ok. Looks good.
 
  I also compiled DAHDI and Asterisk from the sources. Took about 2
 hours 
  but it finally compiled and is running okay. :) Still not sure
 what's 
  happening, since even with 2 users on the meetme room I still get
 the 
  choppy audio. My best guess would be something kernel related.
 Thinking 
  about recompiling the kernel, but I'm not sure what I could set to
 maybe 
  solve these issues.
 
 That's why I cross compile - it just takes too long!
 
  Would you mind sharing the kernel version number you're running on
 your 
  boxes, and if I'm not asking too much, the .config file you used?
 Thanks 
  a lot in advance.
 
 http://unicorn.drogon.net/configs/config.2.6.30.1.geode
 
 Drop that into .config in a stock 2.6.30.1 kernel off www.kernel.org
 and 
 off you go. That will produce a kernel with no modules in it.
 
 You'll need to re-make dahdi.
 
 Good luck!
 
 Gordon
 -- 

Your kernel configs worked like a charm! The only thing I had to enable was the 
support for virtual consoles, or else I wouldn't be able to run safe_asterisk.

Many, many thanks for sharing your .config file!

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] MeetMe() and dahdi_dummy on an embedded system

2010-02-26 Thread Gordon Henderson

On Fri, 26 Feb 2010, Vinícius Fontes wrote:


http://unicorn.drogon.net/configs/config.2.6.30.1.geode

Drop that into .config in a stock 2.6.30.1 kernel off www.kernel.org
and
off you go. That will produce a kernel with no modules in it.

You'll need to re-make dahdi.

Good luck!

Gordon
--


Your kernel configs worked like a charm! The only thing I had to enable 
was the support for virtual consoles, or else I wouldn't be able to run 
safe_asterisk.


Many, many thanks for sharing your .config file!


Cheers!

And I've just realised that a lot of my systems do actually use meetme - 
in the page application - which would seem and easy way to test it too.


Gordon-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] MeetMe() and dahdi_dummy on an embedded system

2010-02-25 Thread Shaun Ruffell
On 02/25/2010 11:19 AM, Vinícius Fontes wrote:
 I'm playing around with an ALIX 2D2 board 
 (http://www.pcengines.ch/alix2d2.htm). It's a fanless, x86 system using an 
 AMD Geode processor with 256MB of RAM. Also available are two network 
 interfaces, two USB ports and one serial port (no keyboard or VGA). I'm using 
 the Voyage Linux distro, which basically is Debian Lenny optimized for this 
 board.
 
 Asterisk 1.6.1.12 runs fine on the system. The only issue I'm having is with 
 MeetMe(). As there's no DAHDI devices attached, I'm running dahdi_dummy. 
 Audio gets all choppy on MeetMe(), but works fine for other applications such 
 as Playback(). SIP calls also work fine.
 
 Most probably it's a timing issue. I connected an Astribank unit with 16 FXS 
 in order to provide timing, and after that I get crystal clear audio on 
 MeetMe().
 
 Of course I wouldn't like to have an expensive Astribank attached to the ALIX 
 board just to provide timing. So my question is: is there any way to improve 
 dahdi_dummy's performance, or maybe some other way to get this to work 
 without the need for a physical DAHDI device?

What version of DAHDI are you using?  As long as the host kernel is able to 
accurately keep accurate wall time, I'm not aware of any conditions that would 
prevent dahdi_dummy in dahdi-linux 2.2.1 from working fine, so I'm very curious 
if this isn't the case.  In fact, in the trunk of dahdi-linux dahdi_dummy.ko is 
off by default and dahdi.ko will be able to keep time regardless of whether 
there are any physical spans connected or configured.

-- 
Shaun Ruffell
Digium, Inc. | Linux Kernel Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: www.digium.com  www.asterisk.org

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] MeetMe() and dahdi_dummy on an embedded system

2010-02-25 Thread Vinícius Fontes
- Shaun Ruffell sruff...@digium.com escreveu:

 On 02/25/2010 11:19 AM, Vinícius Fontes wrote:
  I'm playing around with an ALIX 2D2 board
 (http://www.pcengines.ch/alix2d2.htm). It's a fanless, x86 system
 using an AMD Geode processor with 256MB of RAM. Also available are two
 network interfaces, two USB ports and one serial port (no keyboard or
 VGA). I'm using the Voyage Linux distro, which basically is Debian
 Lenny optimized for this board.
  
  Asterisk 1.6.1.12 runs fine on the system. The only issue I'm having
 is with MeetMe(). As there's no DAHDI devices attached, I'm running
 dahdi_dummy. Audio gets all choppy on MeetMe(), but works fine for
 other applications such as Playback(). SIP calls also work fine.
  
  Most probably it's a timing issue. I connected an Astribank unit
 with 16 FXS in order to provide timing, and after that I get crystal
 clear audio on MeetMe().
  
  Of course I wouldn't like to have an expensive Astribank attached to
 the ALIX board just to provide timing. So my question is: is there any
 way to improve dahdi_dummy's performance, or maybe some other way to
 get this to work without the need for a physical DAHDI device?
 
 What version of DAHDI are you using?  As long as the host kernel is
 able to accurately keep accurate wall time, I'm not aware of any
 conditions that would prevent dahdi_dummy in dahdi-linux 2.2.1 from
 working fine, so I'm very curious if this isn't the case.  In fact, in
 the trunk of dahdi-linux dahdi_dummy.ko is off by default and dahdi.ko
 will be able to keep time regardless of whether there are any physical
 spans connected or configured.

Sorry, forgot to include the DAHDI version.

voyage:~# dahdi_cfg -tv
DAHDI Tools Version - 2.2.1

DAHDI Version: 2.2.1
Echo Canceller(s): 
Configuration
==

I'm almost sure this board's RTC is not very accurate. Is there any way to 
measure the RTC's accuracy?

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] MeetMe() and dahdi_dummy on an embedded system

2010-02-25 Thread Gordon Henderson

On Thu, 25 Feb 2010, Vinícius Fontes wrote:


- Shaun Ruffell sruff...@digium.com escreveu:


On 02/25/2010 11:19 AM, Vinícius Fontes wrote:

I'm playing around with an ALIX 2D2 board

(http://www.pcengines.ch/alix2d2.htm). It's a fanless, x86 system
using an AMD Geode processor with 256MB of RAM. Also available are two
network interfaces, two USB ports and one serial port (no keyboard or
VGA). I'm using the Voyage Linux distro, which basically is Debian
Lenny optimized for this board.


Asterisk 1.6.1.12 runs fine on the system. The only issue I'm having

is with MeetMe(). As there's no DAHDI devices attached, I'm running
dahdi_dummy. Audio gets all choppy on MeetMe(), but works fine for
other applications such as Playback(). SIP calls also work fine.


Most probably it's a timing issue. I connected an Astribank unit

with 16 FXS in order to provide timing, and after that I get crystal
clear audio on MeetMe().


Of course I wouldn't like to have an expensive Astribank attached to

the ALIX board just to provide timing. So my question is: is there any
way to improve dahdi_dummy's performance, or maybe some other way to
get this to work without the need for a physical DAHDI device?

What version of DAHDI are you using?  As long as the host kernel is
able to accurately keep accurate wall time, I'm not aware of any
conditions that would prevent dahdi_dummy in dahdi-linux 2.2.1 from
working fine, so I'm very curious if this isn't the case.  In fact, in
the trunk of dahdi-linux dahdi_dummy.ko is off by default and dahdi.ko
will be able to keep time regardless of whether there are any physical
spans connected or configured.


Sorry, forgot to include the DAHDI version.

voyage:~# dahdi_cfg -tv
DAHDI Tools Version - 2.2.1

DAHDI Version: 2.2.1
Echo Canceller(s):
Configuration
==

I'm almost sure this board's RTC is not very accurate. Is there any way 
to measure the RTC's accuracy?


I use these boards too. Brilliant little things. 5 watts and 80+ 
concurrent calls handling media before they fall over! Not much good for 
transcoding though...


  http://unicorn.drogon.net/cutie.jpg

However I have a slightly different approach in that I have my own 
semi-custom Linux for them which runs entirely in RAM. I also 
custom-compile the kernel for the architecture, and have compiled up dhadi 
and asterisk specifically for that CPU too. (Read my earlier whinges about 
it some time back!)


  dsx$ df -h
  FilesystemSize  Used Avail Use% Mounted on
  /dev/ram0 136M   79M   58M  58% /
  /dev/hda3 189M   95M   95M  50% /data


dahdi_dummy on my systems use the high resolution timer and not RTC:

  dahdi: Telephony Interface Registered on major 196
  dahdi: Version: 2.2.0-rc2
  dahdi_dummy: Trying to load High Resolution Timer
  dahdi_dummy: Initialized High Resolution Timer
  dahdi_dummy: Starting High Resolution Timer
  dahdi_dummy: High Resolution Timer started, good to go

Other than a few quick tests, I've not really run many meetmes on one, but 
I have a few dozen of these out in the world with clients so I don't 
really know what they're doing with them... However they all use IAX 
trunking which I understand requires timing too.


There's a few tweaks you can do to the system even running the distro 
you're using - make sure no extra services are running - make sure logging 
is minimal and not using fsync on every write (see your syslog config 
file), mount partitions with the noatime and nodiratime flags - use as 
fast a CF card as you can get, and so on. (Google for tuning hints for 
systems like the Acer Aspire One and other similar laptops with SSDs and 
so on)


Output of ps ax:

  PID TTY  STAT   TIME COMMAND
1 ?Ss 0:01 init [2]
2 ?S 0:00 [kthreadd]
3 ?S 0:00 [ksoftirqd/0]
4 ?S 0:00 [events/0]
5 ?S 0:00 [khelper]
   60 ?S 0:00 [kblockd/0]
   67 ?S 0:00 [khubd]
  106 ?S  0:00 [pdflush]
  108 ?S 0:00 [kswapd0]
  153 ?S 0:00 [aio/0]
  737 ?S  0:00 [pdflush]
 1006 ?Ss 0:00 /sbin/syslogd
 1010 ?Ss 0:00 /sbin/klogd -x
 1021 ?Ss 0:00 /usr/sbin/sshd
 1028 ?Ss 0:00 /usr/local/apache2/bin/httpd -k start
 1042 ?Ss 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g
 1047 ?Ssl0:00 /usr/sbin/asterisk -p
 1086 ?Ss 0:00 /usr/sbin/cron
 1099 ttyS0Ss 0:00 /bin/login --
 1323 ?S  0:00 /usr/local/apache2/bin/httpd -k start
 2089 ttyS0S+ 0:00 -bash
 2094 ?Ss 0:00 sshd: d...@pts/0
 2098 pts/0Ss 0:00 login -h yakko.drogon.net -p -f
 2099 pts/0R  0:00 -bash
 2109 pts/0R+ 0:00 ps ax

Not sure I can get it any more minimal than that!

Gordon-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --


Re: [asterisk-users] MeetMe() and dahdi_dummy on an embedded system

2010-02-25 Thread Vinícius Fontes
- Gordon Henderson gordon+aster...@drogon.net escreveu:

 On Thu, 25 Feb 2010, Vinícius Fontes wrote:
 
  - Shaun Ruffell sruff...@digium.com escreveu:
 
  On 02/25/2010 11:19 AM, Vinícius Fontes wrote:
  I'm playing around with an ALIX 2D2 board
  (http://www.pcengines.ch/alix2d2.htm). It's a fanless, x86 system
  using an AMD Geode processor with 256MB of RAM. Also available are
 two
  network interfaces, two USB ports and one serial port (no keyboard
 or
  VGA). I'm using the Voyage Linux distro, which basically is Debian
  Lenny optimized for this board.
 
  Asterisk 1.6.1.12 runs fine on the system. The only issue I'm
 having
  is with MeetMe(). As there's no DAHDI devices attached, I'm
 running
  dahdi_dummy. Audio gets all choppy on MeetMe(), but works fine for
  other applications such as Playback(). SIP calls also work fine.
 
  Most probably it's a timing issue. I connected an Astribank unit
  with 16 FXS in order to provide timing, and after that I get
 crystal
  clear audio on MeetMe().
 
  Of course I wouldn't like to have an expensive Astribank attached
 to
  the ALIX board just to provide timing. So my question is: is there
 any
  way to improve dahdi_dummy's performance, or maybe some other way
 to
  get this to work without the need for a physical DAHDI device?
 
  What version of DAHDI are you using?  As long as the host kernel
 is
  able to accurately keep accurate wall time, I'm not aware of any
  conditions that would prevent dahdi_dummy in dahdi-linux 2.2.1
 from
  working fine, so I'm very curious if this isn't the case.  In fact,
 in
  the trunk of dahdi-linux dahdi_dummy.ko is off by default and
 dahdi.ko
  will be able to keep time regardless of whether there are any
 physical
  spans connected or configured.
 
  Sorry, forgot to include the DAHDI version.
 
  voyage:~# dahdi_cfg -tv
  DAHDI Tools Version - 2.2.1
 
  DAHDI Version: 2.2.1
  Echo Canceller(s):
  Configuration
  ==
 
  I'm almost sure this board's RTC is not very accurate. Is there any
 way 
  to measure the RTC's accuracy?
 
 I use these boards too. Brilliant little things. 5 watts and 80+ 
 concurrent calls handling media before they fall over! Not much good
 for 
 transcoding though...
 
http://unicorn.drogon.net/cutie.jpg
 
 However I have a slightly different approach in that I have my own 
 semi-custom Linux for them which runs entirely in RAM. I also 
 custom-compile the kernel for the architecture, and have compiled up
 dhadi 
 and asterisk specifically for that CPU too. (Read my earlier whinges
 about 
 it some time back!)
 
dsx$ df -h
FilesystemSize  Used Avail Use% Mounted on
/dev/ram0 136M   79M   58M  58% /
/dev/hda3 189M   95M   95M  50% /data
 
 
 dahdi_dummy on my systems use the high resolution timer and not RTC:
 
dahdi: Telephony Interface Registered on major 196
dahdi: Version: 2.2.0-rc2
dahdi_dummy: Trying to load High Resolution Timer
dahdi_dummy: Initialized High Resolution Timer
dahdi_dummy: Starting High Resolution Timer
dahdi_dummy: High Resolution Timer started, good to go
 
 Other than a few quick tests, I've not really run many meetmes on one,
 but 
 I have a few dozen of these out in the world with clients so I don't 
 really know what they're doing with them... However they all use IAX 
 trunking which I understand requires timing too.
 
 There's a few tweaks you can do to the system even running the distro
 
 you're using - make sure no extra services are running - make sure
 logging 
 is minimal and not using fsync on every write (see your syslog config
 
 file), mount partitions with the noatime and nodiratime flags - use as
 
 fast a CF card as you can get, and so on. (Google for tuning hints for
 
 systems like the Acer Aspire One and other similar laptops with SSDs
 and 
 so on)
 
 Output of ps ax:
 
PID TTY  STAT   TIME COMMAND
  1 ?Ss 0:01 init [2]
  2 ?S 0:00 [kthreadd]
  3 ?S 0:00 [ksoftirqd/0]
  4 ?S 0:00 [events/0]
  5 ?S 0:00 [khelper]
 60 ?S 0:00 [kblockd/0]
 67 ?S 0:00 [khubd]
106 ?S  0:00 [pdflush]
108 ?S 0:00 [kswapd0]
153 ?S 0:00 [aio/0]
737 ?S  0:00 [pdflush]
   1006 ?Ss 0:00 /sbin/syslogd
   1010 ?Ss 0:00 /sbin/klogd -x
   1021 ?Ss 0:00 /usr/sbin/sshd
   1028 ?Ss 0:00 /usr/local/apache2/bin/httpd -k start
   1042 ?Ss 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g
   1047 ?Ssl0:00 /usr/sbin/asterisk -p
   1086 ?Ss 0:00 /usr/sbin/cron
   1099 ttyS0Ss 0:00 /bin/login --
   1323 ?S  0:00 /usr/local/apache2/bin/httpd -k start
   2089 ttyS0S+ 0:00 -bash
   2094 ?Ss 0:00 sshd: d...@pts/0
   2098 pts/0Ss 0:00 login -h yakko.drogon.net -p -f
   2099 pts/0R   

Re: [asterisk-users] MeetMe() and dahdi_dummy on an embedded system

2010-02-25 Thread Gordon Henderson

On Thu, 25 Feb 2010, Vinícius Fontes wrote:


Just checked and I'm using the high res timer as well:

Feb 25 17:42:32 voyage vmunix: [   27.028798] dahdi_dummy: Trying to load High 
Resolution Timer
Feb 25 17:42:32 voyage vmunix: [   27.028816] dahdi_dummy: Initialized High 
Resolution Timer
Feb 25 17:42:32 voyage vmunix: [   27.028831] dahdi_dummy: Starting High 
Resolution Timer
Feb 25 17:42:32 voyage vmunix: [   27.028849] dahdi_dummy: High Resolution 
Timer started, good to go
Feb 25 17:42:32 voyage vmunix: [   27.055253] dahdi: Registered tone zone 20 
(Brazil)


Ok. Looks good.

I also compiled DAHDI and Asterisk from the sources. Took about 2 hours 
but it finally compiled and is running okay. :) Still not sure what's 
happening, since even with 2 users on the meetme room I still get the 
choppy audio. My best guess would be something kernel related. Thinking 
about recompiling the kernel, but I'm not sure what I could set to maybe 
solve these issues.


That's why I cross compile - it just takes too long!

Would you mind sharing the kernel version number you're running on your 
boxes, and if I'm not asking too much, the .config file you used? Thanks 
a lot in advance.


http://unicorn.drogon.net/configs/config.2.6.30.1.geode

Drop that into .config in a stock 2.6.30.1 kernel off www.kernel.org and 
off you go. That will produce a kernel with no modules in it.


You'll need to re-make dahdi.

Good luck!

Gordon-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users