Review Board 1.7.16

a driver for single-port FXO cards based on Si3052 chip + Si3011/17/18 DAA (Motorola 52-6116-2A, PM560MS etc.)

Review Request #977 - Created Oct. 14, 2010 and updated

Attached here is a driver for single-port FXO cards based on Si3052 chip + Si3011/17/18 DAA. They are marketed as Motorola 52-6116-2A, PM560MS and many others.
Driver is written from scratch to take advantage of international features some of the DAAs have. There is also patch for wcfxo module to support these cards circulating on Net, but it runs the card in backwards-compatible mode and doesn't allow most of the POTS settings to be tweaked. 

* DAHDI-tools need a simple patch from bug (dahdi-gencfg.patch) for dahdi_genconf to recognize new driver.
* You have to set the region name to one of those listed in fxo_modes.h file (this file is also used for wctdm driver, so region names are the same). For example: "modprobe fxo_si3052 region_param=ARGENTINA" (w/o quotes) would load the module with proper settings for Argentina. Also add "use_ulaw=1" if you plan to use ULAW instead of ALAW (default setting is ALAW).
* Generate config file for the card with dahdi_genconf, configure with dahdi_cfg, write config files for Asterisk, all just like with the wcfxo driver.

If CallerID detection doesn't work the problem might be with too long minimum ringer time. Default is 512ms, but sometimes first ring signal is shorter and is not detected as ring, so CallerID detection is not started by Asterisk. In this case check ringer length and add appropriate "min_ringer_time" parameter (for example "min_ringer_time=150" for 150ms). Valid values are 100, 150, 200, 256, 384, 512 and 1024 ms.
Comments and suggestions are welcome.
Tested features:
* Sending and receiving voice,
* Ringer detection and validation,
* DTMF detection,
* Caller ID reception (only ETSI FSK mode tested, but different ones should work too in principle),
* ULAW/ALAW mode,
* Busy pattern hangup detecion,
* Line disconnection detection (only when offhook due to hardware limitation).
* No errors were indicated by
Review request changed
Updated (Oct. 4, 2011, 8:39 a.m.)
Updated version.
* Rebased on current DAHDI SVN,
* Fix possible deadlock in hooksig callback on SMP,
* Fix TX samples sent for echo cancellation,
* Removed DMA auto restart option (had potential for hiding buffer handling bugs),
* Rewrote and simplified buffer handling code,
* Various small fixes and cleanups.

This version still needs dahdi-gencfg.patch to dahdi-tools in order to generate DAHDI config file at installation.

Any thoughts?
Posted (Dec. 12, 2012, 7:08 a.m.)
What's up with this one?

As you would expect, DAHDI moved forward and broke the patch. I have a version that builds, but is untested:;a=shortlog;h=refs/heads/review-si3052

A few simple changes to r5. runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to