Discussion:
[Asterisk-Users] Two zaptel T1 cards: no clock from one
Kevin Blackham
2004-12-04 00:57:37 UTC
Permalink
List,

I have a TE410P (T1 mode, all PRI) and a T100P (fxoks, for fxs channel
bank). I cannot seem to get the T100P to send any clock to the
channel bank. I prefer that it use the same clock source as the
TE410P, but it doesn't matter if it's not in sync just as long as it's
there.

The TE410P is configured 3x pri_cpe, 1x pri_net. The three cpe go to
XO Sonus switch, the net to legacy PBX. Clock is received from telco,
old PBX receives clock from zaptel card, everything's green there, but
the other card, the T100P, seems to not send any timing at all, as
verified by our T1 analyzer, and is persistently in red alarm. In
fact, even if I stick a loopback plug in the T100P, the alarm persists
(loopback causes a result in the TE410P). The T100P and channel bank
were just pulled from another working * box, and the configuration is
nearly identical, except it was the only T1 interface.

System: Supermicro dual Xeon 2.4, both cards on same PCI bus.
Cards: one T100P, one TE410P.
Config: spans 1-4 for quad card (module loaded first), span 5 is
single port card
Channel bank: Access Bank II, 12 FXS

Info dumps (some snipped for brevity)

lspci (snipped, these are the only devices on bus 5):
0000:05:02.0 Network controller: Tiger Jet Network Inc. Tiger3XX
Modem/ISDN interface
0000:05:03.0 Communication controller: Xilinx Corporation: Unknown
device 0314 (rev 01)

cat /proc/interrupts (odd, shouldn't the T100P be generating 1000 ints/sec?):
CPU0 CPU1 CPU2 CPU3
0: 20727 0 18569488 0 IO-APIC-edge timer
9: 0 0 0 0 IO-APIC-level acpi
28: 177705 0 0 0 IO-APIC-level eth0
29: 9282 0 0 0 IO-APIC-level eth1
72: 35845 0 0 0 IO-APIC-level dpti0
100: 102 0 0 0 IO-APIC-level t1xxp
104: 18342391 0 0 0 IO-APIC-level t4xxp

lsmod:
Module Size Used by
wct1xxp 17568 0
wct4xxp 70048 0
zaptel 226436 222 wct1xxp,wct4xxp
e1000 87348 0
crc_ccitt 3072 1 zaptel

zaptel.conf:
span=1,1,0,esf,b8zs
span=2,2,0,esf,b8zs
span=3,3,0,esf,b8zs
span=4,4,0,esf,b8zs
span=5,0,0,esf,b8zs
bchan=1-23
dchan=24
bchan=25-47
dchan=48
bchan=49-71
dchan=72
bchan=73-95
dchan=96
fxoks=97-108
#fxoks=109-120
loadzone = us
defaultzone=us

asterisk/zapata.conf:
[channels]
language=en
echocancel=yes
echocancelwhenbridged=no
echotraining=yes
echotraining=800
immediate=no
;--pstn--
context=from-pstn
signalling=pri_cpe
switchtype=dms100
group = 1
channel => 1-23,25-47,49-71
;--pri to pbx--
signalling=pri_net
switchtype=dms100
group = 3
channel => 73-95
;--channel bank--
context=fax+modem
signalling=fxo_ks
channel => 97-108

a snippet from dmesg:
ACPI: PCI interrupt 0000:05:03.0[A] -> GSI 104 (level, low) -> IRQ 104
Found TE410P at base address f8401000, remapped to f9b98000
TE410P version c01a009b
FALC version: 00000005, Board ID: 00
<registers snipped>
TE410P: Launching card: 0
TE410P: Setting up global serial parameters
Found a Wildcard: Wildcard TE410P-Xilinx
ACPI: PCI interrupt 0000:05:02.0[A] -> GSI 100 (level, low) -> IRQ 100
Framer: DS21552, Revision: 3 (T1)
Found a Wildcard: Digium Wildcard T100P T1/PRI
Registered tone zone 0 (United States / North America)
TE410P: Span 1 configured for ESF/B8ZS
SPAN 1: Primary Sync Source
TE410P: Span 2 configured for ESF/B8ZS
SPAN 2: Secondary Sync Source
TE410P: Span 3 configured for ESF/B8ZS
SPAN 3: Tertiary Sync Source
TE410P: Span 4 configured for ESF/B8ZS
SPAN 4: Quaternary Sync Source
Using ESF/B8ZS coding/framing
Calling startup (flags is 4099)
Fernando Macías
2004-12-04 02:37:07 UTC
Permalink
I have a similar issue. I am trying to get two TE410Ps to operate
together correctly on the same box. The first card has operated well
for months. The other is always reported as "internally clocked" no
matter what I do. I used to run on RedHat 8.0 (old, I know) and it was
not until I moved to FC2 (kernel 2.6) the system became stable. Also,
you have to make sure the Digium boards do not share interrupts with
anything else. Confirm with cat /proc/interrupts. I have no experience
with multi CPU systems, but from your output it seems that the IRQs are
indeed different.

The problem persists in my system. The second card reports no clock.
However, the devices attached to it work consistently and I don't get
regular IRQ misses anymore. I say regular because with RH8 IRQ misses
for the new card would show up all the time. Now they only occur under
heavy network activity, such as copying a very large file from another
server.

Fernando
Post by Kevin Blackham
List,
I have a TE410P (T1 mode, all PRI) and a T100P (fxoks, for fxs channel
bank). I cannot seem to get the T100P to send any clock to the
channel bank. I prefer that it use the same clock source as the
TE410P, but it doesn't matter if it's not in sync just as long as it's
there.
The TE410P is configured 3x pri_cpe, 1x pri_net. The three cpe go to
XO Sonus switch, the net to legacy PBX. Clock is received from telco,
old PBX receives clock from zaptel card, everything's green there, but
the other card, the T100P, seems to not send any timing at all, as
verified by our T1 analyzer, and is persistently in red alarm. In
fact, even if I stick a loopback plug in the T100P, the alarm persists
(loopback causes a result in the TE410P). The T100P and channel bank
were just pulled from another working * box, and the configuration is
nearly identical, except it was the only T1 interface.
System: Supermicro dual Xeon 2.4, both cards on same PCI bus.
Cards: one T100P, one TE410P.
Config: spans 1-4 for quad card (module loaded first), span 5 is
single port card
Channel bank: Access Bank II, 12 FXS
Info dumps (some snipped for brevity)
0000:05:02.0 Network controller: Tiger Jet Network Inc. Tiger3XX
Modem/ISDN interface
0000:05:03.0 Communication controller: Xilinx Corporation: Unknown
device 0314 (rev 01)
CPU0 CPU1 CPU2 CPU3
0: 20727 0 18569488 0 IO-APIC-edge timer
9: 0 0 0 0 IO-APIC-level acpi
28: 177705 0 0 0 IO-APIC-level eth0
29: 9282 0 0 0 IO-APIC-level eth1
72: 35845 0 0 0 IO-APIC-level dpti0
100: 102 0 0 0 IO-APIC-level t1xxp
104: 18342391 0 0 0 IO-APIC-level t4xxp
Module Size Used by
wct1xxp 17568 0
wct4xxp 70048 0
zaptel 226436 222 wct1xxp,wct4xxp
e1000 87348 0
crc_ccitt 3072 1 zaptel
span=1,1,0,esf,b8zs
span=2,2,0,esf,b8zs
span=3,3,0,esf,b8zs
span=4,4,0,esf,b8zs
span=5,0,0,esf,b8zs
bchan=1-23
dchan=24
bchan=25-47
dchan=48
bchan=49-71
dchan=72
bchan=73-95
dchan=96
fxoks=97-108
#fxoks=109-120
loadzone = us
defaultzone=us
[channels]
language=en
echocancel=yes
echocancelwhenbridged=no
echotraining=yes
echotraining=800
immediate=no
;--pstn--
context=from-pstn
signalling=pri_cpe
switchtype=dms100
group = 1
channel => 1-23,25-47,49-71
;--pri to pbx--
signalling=pri_net
switchtype=dms100
group = 3
channel => 73-95
;--channel bank--
context=fax+modem
signalling=fxo_ks
channel => 97-108
ACPI: PCI interrupt 0000:05:03.0[A] -> GSI 104 (level, low) -> IRQ 104
Found TE410P at base address f8401000, remapped to f9b98000
TE410P version c01a009b
FALC version: 00000005, Board ID: 00
<registers snipped>
TE410P: Launching card: 0
TE410P: Setting up global serial parameters
Found a Wildcard: Wildcard TE410P-Xilinx
ACPI: PCI interrupt 0000:05:02.0[A] -> GSI 100 (level, low) -> IRQ 100
Framer: DS21552, Revision: 3 (T1)
Found a Wildcard: Digium Wildcard T100P T1/PRI
Registered tone zone 0 (United States / North America)
TE410P: Span 1 configured for ESF/B8ZS
SPAN 1: Primary Sync Source
TE410P: Span 2 configured for ESF/B8ZS
SPAN 2: Secondary Sync Source
TE410P: Span 3 configured for ESF/B8ZS
SPAN 3: Tertiary Sync Source
TE410P: Span 4 configured for ESF/B8ZS
SPAN 4: Quaternary Sync Source
Using ESF/B8ZS coding/framing
Calling startup (flags is 4099)
_______________________________________________
Asterisk-Users mailing list
http://lists.digium.com/mailman/listinfo/asterisk-users
http://lists.digium.com/mailman/listinfo/asterisk-users
Kevin Blackham
2004-12-04 23:00:19 UTC
Permalink
Yeah, proper crossover cable. I've eliminated all cabling issues with
the T1 analyzer. I get a full and accurate pattern back when I test
from the cable end where it would have been connected into the T100P,
with the channel bank in loopback. The main symptom is that when I
hook the analyzer directly to either the channel bank or the T100P,
neither is providing clock. I could have the channel bank supply one,
but I will have fax/modem calls bridged between the two PCI cards, so
a common clock is best. The most disturbing thing is that the T100P,
as the only card in a system, provided clock just fine.

There was a thread last month in -dev about being unable to use common
clock source across cards. Is this related? How can one cause zaptel
to provide ref clock? Should I be seeing 1000 interrupts/sec on any
and all TDM cards?
The cable should be cross-connect 1-4, 2-5 each way. Is it?
Lyle Giese
2004-12-05 00:55:51 UTC
Permalink
It is not important to have clocking between cards. Clocking is to make sure
everyone knows how long a T1 frame should last and everyone is doing it
exactly on schedule.

The problem is that for the most part a frame is buffered. So while the
DS0's are being processed, you don't have a new frame overwritting the old
info before it's read or the DS0 buffer is read twice. If the timing
between the two T1's is off that is a problem and that's called a slip.
Either in reading the buffer, you get the same info twice for a certain
voice channel or you miss reading and the buffer is overwritten before your
card reads it.

When you have two cards, you need to make sure that you are taking timing
for the card from a good source. If you are connecting to a telco, they
should all be good sources of timing and you shouldn't have any problems.

Probably another concept that is confusing is that timing is not syncing the
start and stop of the T1 frame, but really syncing the amount of time
between the start and finish of that frame. Because the time to get the
signal from point a to point b varies from the amount of time to get a
signal from point a to point c, we cann't( and don't ) depend on the T1
frame starting at the same time. It's really about filling the buffer and
having the correct amount of time to read it without overwriting it before
it's read or reading it twice.

Lyle
----- Original Message -----
From: "Kevin Blackham" <***@gmail.com>
To: "Asterisk Users Mailing List - Non-Commercial Discussion"
<asterisk-***@lists.digium.com>
Sent: Saturday, December 04, 2004 5:00 PM
Subject: Re: [Asterisk-Users] Two zaptel T1 cards: no clock from one
Post by Kevin Blackham
Yeah, proper crossover cable. I've eliminated all cabling issues with
the T1 analyzer. I get a full and accurate pattern back when I test
from the cable end where it would have been connected into the T100P,
with the channel bank in loopback. The main symptom is that when I
hook the analyzer directly to either the channel bank or the T100P,
neither is providing clock. I could have the channel bank supply one,
but I will have fax/modem calls bridged between the two PCI cards, so
a common clock is best. The most disturbing thing is that the T100P,
as the only card in a system, provided clock just fine.
There was a thread last month in -dev about being unable to use common
clock source across cards. Is this related? How can one cause zaptel
to provide ref clock? Should I be seeing 1000 interrupts/sec on any
and all TDM cards?
The cable should be cross-connect 1-4, 2-5 each way. Is it?
_______________________________________________
Asterisk-Users mailing list
http://lists.digium.com/mailman/listinfo/asterisk-users
http://lists.digium.com/mailman/listinfo/asterisk-users
Rich Adamson
2004-12-05 03:18:50 UTC
Permalink
Post by Kevin Blackham
Yeah, proper crossover cable. I've eliminated all cabling issues with
the T1 analyzer. I get a full and accurate pattern back when I test
from the cable end where it would have been connected into the T100P,
with the channel bank in loopback. The main symptom is that when I
hook the analyzer directly to either the channel bank or the T100P,
neither is providing clock. I could have the channel bank supply one,
but I will have fax/modem calls bridged between the two PCI cards, so
a common clock is best. The most disturbing thing is that the T100P,
as the only card in a system, provided clock just fine.
There was a thread last month in -dev about being unable to use common
clock source across cards. Is this related? How can one cause zaptel
to provide ref clock? Should I be seeing 1000 interrupts/sec on any
and all TDM cards?
Help me understand what you mean by "neither is providing clock".

By definition, every single T1 provides clocking within the transmit
side of a T1. Its embedded in the data stream and you can't turn it off.

Are you talking about clock "sync"?
Kevin Blackham
2004-12-05 16:38:55 UTC
Permalink
Post by Rich Adamson
Help me understand what you mean by "neither is providing clock".
By definition, every single T1 provides clocking within the transmit
side of a T1. Its embedded in the data stream and you can't turn it off.
Are you talking about clock "sync"?
First, In reply to Lyle, framing/line coding match, and the span 5 is
in the dmesg, but the wct1xxp doesn't spit out "SPAN x" and it's mixed
in:
Found a Wildcard: Digium Wildcard T100P T1/PRI
...Using ESF/B8ZS coding/framing

You're absolutely right, so I must be thinking of clock sync, and I'm
not clear on recall what I saw from the channel bank.
Kevin Blackham
2004-12-05 17:27:44 UTC
Permalink
Oh, you got to be kidding me. :) I've removed zaptel, wct1xxp,
wct4xxp completely, and reloaded in the same order as they are loaded,
alternate different ways, etc. No help. After trying only wct1xxp
with 12 channels and seeing alarms clear, something stray was left
saying span 5 was 'UNCONFIGURED' (with only 1 span in zaptel.conf).
So, I rebooted ro see if I could reset some phantom state, and viola!
The damn thing is just fine now.

Thanks for your help, all. I'll see if I can recreate this again and
file a bug report, if so.
Rich Adamson
2004-12-06 12:32:38 UTC
Permalink
Post by Kevin Blackham
Oh, you got to be kidding me. :) I've removed zaptel, wct1xxp,
wct4xxp completely, and reloaded in the same order as they are loaded,
alternate different ways, etc. No help. After trying only wct1xxp
with 12 channels and seeing alarms clear, something stray was left
saying span 5 was 'UNCONFIGURED' (with only 1 span in zaptel.conf).
So, I rebooted ro see if I could reset some phantom state, and viola!
The damn thing is just fine now.
Thanks for your help, all. I'll see if I can recreate this again and
file a bug report, if so.
FWIW, I've been working on a RHv9 system with a TDM04B and T100P and
also noticed some rather unusual module loading issues. Not sure why,
but doing:
1) modprobe zaptel, insmod wct1xxp, then insmod wctdm works fine,
2) modprobe zaptel, insmod wctdm, then wct1xxp always fails.

I played around with the ordering of channels in /etc/zaptel combined
with approach 1 and 2, but the only combination that ever worked is #1.
That suggests the t100p driver is sensitive/dependent on something
else that has not been documented/discussed. After doing several
iterations on the above, I changed the order of the modules in
/etc/rc.d/init.d/zaptel and now it reloads reliably from a reboot and
from 'service zaptel stop/start'.

Best guess (as a non-programmer) is some sort of bug, probably in the
wctdm driver since it seems to have other driver problems, that no
one has identified as yet. But then, how many people actually have
those two specific digium cards installed in the same system?

Rich

Peter Svensson
2004-12-04 23:12:33 UTC
Permalink
Post by Kevin Blackham
Yeah, proper crossover cable. I've eliminated all cabling issues with
the T1 analyzer. I get a full and accurate pattern back when I test
from the cable end where it would have been connected into the T100P,
with the channel bank in loopback. The main symptom is that when I
hook the analyzer directly to either the channel bank or the T100P,
neither is providing clock. I could have the channel bank supply one,
but I will have fax/modem calls bridged between the two PCI cards, so
a common clock is best. The most disturbing thing is that the T100P,
as the only card in a system, provided clock just fine.
There was a thread last month in -dev about being unable to use common
clock source across cards. Is this related? How can one cause zaptel
to provide ref clock? Should I be seeing 1000 interrupts/sec on any
and all TDM cards?
Yes, you should see a 1000 Hz interrupt rate from both cards. Seeing the
interrupts does not mean that the card is providing clock. Not being able
to use a common clock is not a big deal. The cards should still be very
capable of running voice etc. There is some other problem.

Given the reports seen here and on the bug tracker lately it seems there
may be some problem setting up clocking for the second card if it is to
provide the clock source itself. I suggest you call Digium since the
driver support is included in the price you paid for the card.

For totally accurate multiple spans you need a TE410P or TE405P, at least
for the time being. Those will be bit accurate when bridged. In theory it
may be possible to synchronize several cards but that is all theory at the
moment.

Peter
Lyle Giese
2004-12-05 02:28:49 UTC
Permalink
Since Span 5 is a channelized T1 make sure the last two parameters match the
settings for the chan bank(esf & b8zs). You cann't remove timing from a T1.
You can only make YOUR card take timing from the incoming digital signal,
take timing from another T1 on the same card or supply it's own internal
timing. (these cards do not pass timing between cards from what I have read
here.)

My gut reaction is that something else is wrong. I also noticed in your
debug output that span 1 through 4 were represented, but span 5 does not
show up.

What about ztcfg and zttool outputs?

Lyle

----- Original Message -----
From: "Kevin Blackham" <***@gmail.com>
To: "Asterisk Users Mailing List - Non-Commercial Discussion"
<asterisk-***@lists.digium.com>
Sent: Friday, December 03, 2004 6:57 PM
Subject: [Asterisk-Users] Two zaptel T1 cards: no clock from one
Post by Kevin Blackham
List,
I have a TE410P (T1 mode, all PRI) and a T100P (fxoks, for fxs channel
bank). I cannot seem to get the T100P to send any clock to the
channel bank. I prefer that it use the same clock source as the
TE410P, but it doesn't matter if it's not in sync just as long as it's
there.
The TE410P is configured 3x pri_cpe, 1x pri_net. The three cpe go to
XO Sonus switch, the net to legacy PBX. Clock is received from telco,
old PBX receives clock from zaptel card, everything's green there, but
the other card, the T100P, seems to not send any timing at all, as
verified by our T1 analyzer, and is persistently in red alarm. In
fact, even if I stick a loopback plug in the T100P, the alarm persists
(loopback causes a result in the TE410P). The T100P and channel bank
were just pulled from another working * box, and the configuration is
nearly identical, except it was the only T1 interface.
System: Supermicro dual Xeon 2.4, both cards on same PCI bus.
Cards: one T100P, one TE410P.
Config: spans 1-4 for quad card (module loaded first), span 5 is
single port card
Channel bank: Access Bank II, 12 FXS
Info dumps (some snipped for brevity)
0000:05:02.0 Network controller: Tiger Jet Network Inc. Tiger3XX
Modem/ISDN interface
0000:05:03.0 Communication controller: Xilinx Corporation: Unknown
device 0314 (rev 01)
CPU0 CPU1 CPU2 CPU3
0: 20727 0 18569488 0 IO-APIC-edge timer
9: 0 0 0 0 IO-APIC-level acpi
28: 177705 0 0 0 IO-APIC-level eth0
29: 9282 0 0 0 IO-APIC-level eth1
72: 35845 0 0 0 IO-APIC-level dpti0
100: 102 0 0 0 IO-APIC-level t1xxp
104: 18342391 0 0 0 IO-APIC-level t4xxp
Module Size Used by
wct1xxp 17568 0
wct4xxp 70048 0
zaptel 226436 222 wct1xxp,wct4xxp
e1000 87348 0
crc_ccitt 3072 1 zaptel
span=1,1,0,esf,b8zs
span=2,2,0,esf,b8zs
span=3,3,0,esf,b8zs
span=4,4,0,esf,b8zs
span=5,0,0,esf,b8zs
bchan=1-23
dchan=24
bchan=25-47
dchan=48
bchan=49-71
dchan=72
bchan=73-95
dchan=96
fxoks=97-108
#fxoks=109-120
loadzone = us
defaultzone=us
[channels]
language=en
echocancel=yes
echocancelwhenbridged=no
echotraining=yes
echotraining=800
immediate=no
;--pstn--
context=from-pstn
signalling=pri_cpe
switchtype=dms100
group = 1
channel => 1-23,25-47,49-71
;--pri to pbx--
signalling=pri_net
switchtype=dms100
group = 3
channel => 73-95
;--channel bank--
context=fax+modem
signalling=fxo_ks
channel => 97-108
ACPI: PCI interrupt 0000:05:03.0[A] -> GSI 104 (level, low) -> IRQ 104
Found TE410P at base address f8401000, remapped to f9b98000
TE410P version c01a009b
FALC version: 00000005, Board ID: 00
<registers snipped>
TE410P: Launching card: 0
TE410P: Setting up global serial parameters
Found a Wildcard: Wildcard TE410P-Xilinx
ACPI: PCI interrupt 0000:05:02.0[A] -> GSI 100 (level, low) -> IRQ 100
Framer: DS21552, Revision: 3 (T1)
Found a Wildcard: Digium Wildcard T100P T1/PRI
Registered tone zone 0 (United States / North America)
TE410P: Span 1 configured for ESF/B8ZS
SPAN 1: Primary Sync Source
TE410P: Span 2 configured for ESF/B8ZS
SPAN 2: Secondary Sync Source
TE410P: Span 3 configured for ESF/B8ZS
SPAN 3: Tertiary Sync Source
TE410P: Span 4 configured for ESF/B8ZS
SPAN 4: Quaternary Sync Source
Using ESF/B8ZS coding/framing
Calling startup (flags is 4099)
_______________________________________________
Asterisk-Users mailing list
http://lists.digium.com/mailman/listinfo/asterisk-users
http://lists.digium.com/mailman/listinfo/asterisk-users
Loading...