[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