[Asterisk-Dev] Indirect Registers failed verification
Dinesh Nair
dinesh at alphaque.com
Sun Nov 14 12:43:56 MST 2004
hi * folk,
inconsistently, the zaptel drivers on freebsd 4.10 fail with the following
messages repeated ad nauseaum. since this portion of the freebsd zaptel
drivers are exactly the same as the linux zaptel drivers, i'm wondering if
anyone has seen this error (see error log below) before and what it would
possibly indicate. this happens inconsistently, and i can't seem to
reproduce it at will, though it seems more common if i take a phone
onhook/offhook frequently and is usually triggered by a power alarm on a
module. any pointers are much appreciated.
i notice that this is stemmed from an interrupt and is handled here as follows:
if (ints & 0x0f) {
sc->intcount++;
x = sc->intcount % 4;
if ((x < sc->cards) && (sc->cardflag & (1 << x))) {
if (sc->modtype[x] == MOD_TYPE_FXS) {
wcfxs_proslic_check_hook(sc, x);
if (!(sc->intcount & 0xfc))
wcfxs_proslic_recheck_sanity(sc, x);
} else if (sc->modtype[x] == MOD_TYPE_FXO) {
wcfxs_voicedaa_check_hook(sc, x);
}
}
if (!(sc->intcount % 10000)) {
/* Accept an alarm once per 10 seconds */
for (x=0;x<4;x++)
if (sc->modtype[x] == MOD_TYPE_FXS) {
if (sc->mod.fxs.palarms[x])
sc->mod.fxs.palarms[x]--;
}
}
wcfxs_receiveprep(sc, ints);
wcfxs_transmitprep(sc, ints);
}
also, why is the sanity check only called when (intcount & 0xfc) == 0 ?
--- ERROR LOG ---
Ouch, part reset, quickly restoring reality (1)
!!!!!!! DTMF_ROW_0_PEAK iREG 0 = ff9f should be 55c2
!!!!!!! DTMF_ROW_1_PEAK iREG 1 = 0 should be 51e6
!!!!!!! DTMF_ROW2_PEAK iREG 2 = 0 should be 4b85
!!!!!!! DTMF_ROW3_PEAK iREG 3 = 0 should be 4937
!!!!!!! DTMF_COL1_PEAK iREG 4 = ff85 should be 3333
!!!!!!! DTMF_FWD_TWIST iREG 5 = 0 should be 202
!!!!!!! DTMF_RVS_TWIST iREG 6 = 0 should be 202
!!!!!!! DTMF_ROW_RATIO_TRES iREG 7 = 0 should be 198
!!!!!!! DTMF_COL_RATIO_TRES iREG 8 = 2 should be 198
!!!!!!! DTMF_ROW_2ND_ARM iREG 9 = 0 should be 611
!!!!!!! DTMF_COL_2ND_ARM iREG a = 0 should be 202
!!!!!!! DTMF_PWR_MIN_TRES iREG b = ff11 should be e5
!!!!!!! DTMF_OT_LIM_TRES iREG c = 0 should be a1c
!!!!!!! OSC1_COEF iREG d = 0 should be 7b30
!!!!!!! OSC1X iREG e = 0 should be 63
!!!!!!! OSC1Y iREG f = 1c should be 0
!!!!!!! OSC2_COEF iREG 10 = 0 should be 7870
!!!!!!! OSC2X iREG 11 = 0 should be 7d
!!!!!!! OSC2Y iREG 12 = 70 should be 0
!!!!!!! RING_OSC iREG 14 = 0 should be 7ef0
!!!!!!! RING_X iREG 15 = 0 should be 160
!!!!!!! PULSE_ENVEL iREG 17 = 0 should be 2000
!!!!!!! PULSE_X iREG 18 = 0 should be 2000
!!!!!!! RECV_DIGITAL_GAIN iREG 1a = 0 should be 2000
!!!!!!! XMIT_DIGITAL_GAIN iREG 1b = 0 should be 4000
!!!!!!! LOOP_CLOSE_TRES iREG 1c = 0 should be 1000
!!!!!!! RING_TRIP_TRES iREG 1d = 0 should be 3600
!!!!!!! COMMON_MIN_TRES iREG 1e = 0 should be 1000
!!!!!!! COMMON_MAX_TRES iREG 1f = 0 should be 200
!!!!!!! PWR_ALARM_Q1Q2 iREG 20 = 0 should be 7c0
!!!!!!! PWR_ALARM_Q3Q4 iREG 21 = 0 should be 2600
!!!!!!! PWR_ALARM_Q5Q6 iREG 22 = 0 should be 1b80
!!!!!!! LOOP_CLOSURE_FILTER iREG 23 = 0 should be 8000
!!!!!!! RING_TRIP_FILTER iREG 24 = 80 should be 320
!!!!!!! TERM_LP_POLE_Q1Q2 iREG 25 = 0 should be 8c
!!!!!!! TERM_LP_POLE_Q3Q4 iREG 26 = 0 should be 100
!!!!!!! TERM_LP_POLE_Q5Q6 iREG 27 = 8c should be 10
!!!!!!! CM_BIAS_RINGING iREG 28 = 0 should be c00
!!!!!!! DCDC_MIN_V iREG 29 = 0 should be c00
!!!!!!! DCDC_XTRA iREG 2a = 0 should be 1000
!!!!!!! LOOP_CLOSE_TRES_LOW iREG 2b = 0 should be 1000
!!!!! Init Indirect Registers UNSUCCESSFULLY.
Indirect Registers failed verification.
--
Regards, /\_/\ "All dogs go to heaven."
dinesh at alphaque.com (0 0) http://www.alphaque.com/
+==========================----oOO--(_)--OOo----==========================+
| for a in past present future; do |
| for b in clients employers associates relatives neighbours pets; do |
| echo "The opinions here in no way reflect the opinions of my $a $b." |
| done; done |
+=========================================================================+
More information about the asterisk-dev
mailing list