How to compile ztdummy
ztdummy is a Linux kernel module that will provide your Asterisk with a Zaptel timer even if you don't have any Digium hardware installed in your Linux server. For Linux kernel version 2.4 the ztdummy module takes timing from the usb-uhci kernel module, which should be loaded before ztdummy. Note that usb-uhci must not be compiled into the kernel, it'll only work with ztdummy if loaded as a module! On kernel version 2.6 ztdummy uses internal high-resolution kernel timer and does not require any USB. Using the internal kernel timer is recommended.General instructions for compiling all of the zaptel modules including ztdummy are here: Asterisk Zaptel Installation
Do you have the correct USB Controller?
If you are using a Linux 2.4 kernel you will need a USB controller to use ztdummy.There are two types of USB controller chips used on motherboards: USB OHCI and USB UHCI. To use ztdummy, you need an USB UHCI type controller on the motherboard, as the OHCI chips work very differently. If you do not have an appropriate USB controller as a timing source, then you should use Asterisk zaprtc. It was originally written by Klaus-Peter Junghanns and is distributed at http://www.junghanns.net/asterisk/.
- To check if you have the usb_uhci module, do lsmod
- Check out the zaptel module from the Asterisk CVS repository
- Make sure you have the Linux Kernel source files installed
- Edit the Makefile and remove the '#' in front of ztdummy in the top
- Do a make all
- Do make install
- To load the ztdummy, do modprobe ztdummy
You will probably want to include 'modprobe ztdummy' in your /etc/rc.d/rc.local to make sure it is present at startup before Asterisk is launched.
Additional info
This page contains outdated information. Now that 2.6 kernels are norm, it still talks about 2.4 and 'make linux26' which have been deprecated.
Also these instructions do not work on Fedora 6/7 as of kernel 2.6.22.1-32 . These are the errors when doing modprobe ztdummy after compilation
ztdummy: Unknown symbol rtc_register
ztdummy: Unknown symbol rtc_unregister
ztdummy: Unknown symbol rtc_control
even though crc_ccitt is set as M. here is the output from lsmod | grep zaptel
zaptel 186404 0
crc_ccitt 6337 1 zaptel
There is a bug opened with Digium
http://bugs.digium.com/view.php?id=10426
Install instructions for Debian Lenny as of 2/3/2010 for ztdummy timer
Check out zaptel packagesvn checkout http://svn.digium.com/svn/zaptel/branches/1.4 zaptel
Install kernel source (assuming you've got build-essential)
sudo apt-get install linux-headers-`uname -r`
cd zaptel
./configure
make
sudo make install
sudo modprobe ztdummy
Install instructions for CentOS as of 3/10/2008 for ztdummy timer only
Install the CentOS kernel sources (google it)
Build the kernel source
Make sure /usr/src/kernel/.config is your kernel config
Make sure /lib/modules/`uname -r`/build points to your kernel directory
Required Packages:
- Subversion
- ncurses
- ncurses-devel
- newt
- newt-devel
- bison
- bison-devel
cd /usr/src
svn co http://svn.digium.com/svn/zaptel/tags/1.4.2.1 zaptel
cd zaptel
. ...