Hi All
Well, thank you Mr. Polite.
Yes, apologies for the way I wrote. I was feeling a bit impatient at the time.
Now having thought about it further, I thought the truth was that ZTDummy used to rely on UHCI or the RTC to get it's timing.  If you didn't have those, then you were scuppered.  Now that 2.6 has better timing in it, ZTDummy uses that and does not rely on hardware anymore, just the Kernel.
Sort of. Under 2.4, ztdummy used the 1kHz interrupt available from a UHCI USB interface, if available. If your USB was OHCI or EHCI then ztdummy was no use. A third party made available a replacement for ztdummy called zaprtc. It was in fact a replacement for the rtc module in the kernel, so if your kernel had rtc.c compiled in (CONFIG_RTC=y) then you needed to recompile the kernel to make it a module instead (CONFIG_RTC=m). That allowed rtc.o to be unloaded and zaprtc.o to take its place. It used the 1024Hz interrupt from the RTC chip. In order to make an effective rate of 1000Hz, it evenly skipped 3 interrupts in every 128. This small jitter didn't matter in practice, as it was the average that was important. I used zaprtc on kernel 2.4 very successfully.
 
When 2.6 came out, it included a hook to be able to link driver routines into the 1000Hz jiffy clock. ztdummy was modified to make use of this under 2.6, so eliminating the dependency on UHCI hardware. When I moved to a 2.6 machine and used this new ztdummy, I found that it was possible for jiffies to be missed, and that this caused IAX and SIP channels on MeetMe to experience increasing delays (there were several mechanisms capable of producing that effect, but this was definitely one of them). Looking at the kernel code for rtc.c (intending to create a 2.6 compatible zaprtc), I discovered that the 2.6 rtc also had hooks in its interrupt service routine. So I modified ztdummy to make use of these hooks to implement the same strategy that had been in zaprtc. It performed just as well as zaprtc had, so I submitted it to the bug tracker at http://bugs.digium.com/view.php?id=4301 and it was accepted into the official tree. Due to a bit of a mix-up when it got commited, its default was unfortunately set to be turned off.
But you mentioned that it doesnt' use the Kernel clock on 2.6.13 or higher.  What does it it use as a timing source?
When kernel 2.6.13 came out, that version had a default jiffy rate that was not 1000Hz, and so the jiffy hook could no longer be used. Consequently, the default for 2.6.13 and up was set to use the rtc hook, which isn't dependent on the kernel clock rate. In fact, using the rtc is best on ANY 2.6 kernel on the PC platform.
 
By the way, why was this thread posted to asterisk-perl in the first place? It doesn't seem to have anything to do with perl.....
 
Cheers
Tony


From: Tony Mountifield [mailto:[EMAIL PROTECTED]
Sent: Saturday, January 21, 2006 18:34
To: Ray Burkholder; 'Vijay Gandhi'; 'tejas shah'; [email protected]
Subject: Re: Asterisk Configuration

Sorry, but that's complete nonsense. If the system has no Digium hardware with its associated driver loaded, then ztdummy absolutely IS required in order to provide a timing source to the zaptel module. The Linux lernel on its own doesn't know anything about providing timing to zaptel.
 
To Vijay, the answer is that you compile it from source just like you do the rest of asterisk. Download the tarbal for zaptel-1.2.2 (recently released), unpack it into /usr/src/zaptel, then just do:
 
# make all
# make install
# make config
 
The edit /etc/rc.d/init.d/zaptel and change the MODULES and RMODULES lines just to include ztdummy, and none of the hardware drivers.
 
If Slackware doesn't put startup scripts in /etc/rc.d/init.d then you might have to set up the zaptel loading by hand.
 
There is no need to recompile the kernel, nor to change its clock rate, since ztdummy doesn't use the kernel clock on 2.6.13 or higher.
 
Cheers
Tony
----- Original Message -----
Sent: Saturday, January 21, 2006 8:16 PM
Subject: RE: Asterisk Configuration

Kernel 2.6 doesn't need ztdummy as it has a 1000 hz timer built in.  On debian it default to 250hz so you might need to recompile your kernel to make what ever interval is needed by Asterisk (I think the kernel config has options for 100, 250 and 1000 hz).  It has been a while for me, so I'm not certain about the requirement.  I think the newsgroup or the code or the make file refers to it.


From: Vijay Gandhi [mailto:[EMAIL PROTECTED]
Sent: Saturday, January 21, 2006 15:53
To: 'tejas shah'; [email protected]
Subject: Asterisk Configuration

Hi Guys,
 
Can anyone tell me how to install ztdummy on the slackware system with kernel 2.6.15, i am not using any digium hardware, i need to install ztdummy on my slackware system which is compiled with kernel 2.6.15.1.
Please suggest the best possible way...................
 
Regards
 
Vijay Gandhi

--
Scanned for viruses & dangerous content at One Unified and is believed to be clean.
--
Scanned for viruses & dangerous content at One Unified and is believed to be clean.

--
Scanned for viruses & dangerous content at One Unified and is believed to be clean.
--
Scanned for viruses & dangerous content at One Unified and is believed to be clean.

Reply via email to