[Asterisk-Users] Problems with TDM400P card

Rich Adamson radamson at routers.com
Tue May 3 06:39:50 MST 2005


> > To help identify the source of the delays, I built a new system this
> > weekend from scratch. When that is complete, I'll use it to compare
> > the differences in motherboards, OS distro's, and maybe kernel versions.
> 
> Very good Rich, the results of that work will be very interesting.

And now for the results (thus far)....

Built a new system from scratch using ECS PM800-M2 Mobo, ide 7200 rpm
drive, 2.7ghz celery, 512 meg, fedora 3 (v2.6.9-1.667, no updates).

With TDM04b installed only (new system):
 - 'vmstat 1' shows 100% cpu every 8 seconds with no significant changes
    while processing a single pstn or iax call.
 - zttest shows 99.987793% consistently with no significant variation
 - wctdm using Int #11 (no sharing)

With Digium X100P installed only (new system):
 - 'vmstat 1' shows 12% cpu every 8 seconds with no significant changes
   while processing a single pstn or iax call.
 - zttest shows 99.987793% consistently with no significant variation
 - wcfxo using Int #11 (no sharing)

Conclusions:
 - the vmstat indication of 12% peak on x100p vs 100% peak on TDM04b
   suggests that each fxo module/port is being accessed by asterisk
   every 8 seconds, and not likely to be a kernel config/version issue.
 - the zttest ran exactly the same error rate regardless of the x100p
   vs TDM04b, and regardless of the significant changes in the Mobo.
   Since the x100p uses wcfxo and the TDM uses wctdm, either the same
   issue exists in both drivers (or its zaptel), or, its a Tigerjet 
   pci issue.
 - the 2.2ghz vs 2.7ghz celery processor differences had zero impact.
 - the kernel for RHv9 (2.4.20-31.9) vs Fedora3 (2.6.9-1.667) appears
   to have no significant impact on the TDM/pci throughput or
   interrupt servicing.
 - the improvement in zttest results from 99.975586% on a three year old
   mobo vs 99.987793% for the newer PM800-M2 mobo is _almost_ insignificant
   but its unknown whether the mobo, the slight cpu speed increase, or
   the kernel differences actually contributed to that slight improvement.
   (I have not tried spandsp on the new system.)
 - a modified zttest.c run on both systems to show the delays in reading
   8192 bytes from the TDM card as 23,850 microseconds lateness on
   the old mobo, and 24,000 microsecond lateness on the new system. No
   significant change resulting from the differences in mobo, pci
   structure, interrupt structure, cpu speed, quantity of ram, kernel
   differences (v2.4 vs v2.6), etc.

All of the above testing would suggest that in order to make the TDM04b
(and x100p) work reliably with things like spandsp (and probably better
echo cancellation), one or more of the following would need to be 
investigated:
 - issues with the Tigerjet pci controller on the TDM & X100p cards,
 - since asterisk code was not running when zttest was running, code
   within asterisk should not an issue.
 - with only wctdm/wcfxo/zaptel drivers loaded (no asterisk), the vmstat
   results suggest the OS is still doing something with the cards that
   is not being done when used on FreeBSD. Whatever that is, could "that"
   be the reason for the 24,000 microsecond lateness? (Probably not
   likely since that peak traffic occurs every 8 seconds, and that
   peak does not impact the 24,000 microsecond lateness measured every
   second.) Could there be code in wctdm/tcfxo/zaptel that is instigating
   the unusual vmstat results? Are the vmstat results a smokescreen?
 - is there anything unusual about the zap/pseudo OS interface that would
   impact these measurements (eg, is this the correct way to measure it)?
 
Any suggestions on the above would be greatly appreciated!!!

Rich





More information about the asterisk-users mailing list