[system_information] Print more debugging about what's going on
This commit is contained in:
parent
7f2d25b095
commit
152b6261f8
|
@ -684,25 +684,31 @@ static int set_system_infos(struct gsm_bts_trx *trx)
|
||||||
}
|
}
|
||||||
#ifdef GPRS
|
#ifdef GPRS
|
||||||
rc = gsm_generate_si(si_tmp, trx->bts, RSL_SYSTEM_INFO_13);
|
rc = gsm_generate_si(si_tmp, trx->bts, RSL_SYSTEM_INFO_13);
|
||||||
if (rc < 0)
|
if (rc < 0) {
|
||||||
|
i = 13;
|
||||||
goto err_out;
|
goto err_out;
|
||||||
|
}
|
||||||
rsl_bcch_info(trx, RSL_SYSTEM_INFO_13, si_tmp, rc);
|
rsl_bcch_info(trx, RSL_SYSTEM_INFO_13, si_tmp, rc);
|
||||||
#endif
|
#endif
|
||||||
rc = gsm_generate_si(si_tmp, trx->bts, 5);
|
rc = gsm_generate_si(si_tmp, trx->bts, 5);
|
||||||
if (rc < 0)
|
if (rc < 0) {
|
||||||
|
i = 5;
|
||||||
goto err_out;
|
goto err_out;
|
||||||
|
}
|
||||||
rsl_sacch_filling(trx, RSL_SYSTEM_INFO_5, si_tmp, rc);
|
rsl_sacch_filling(trx, RSL_SYSTEM_INFO_5, si_tmp, rc);
|
||||||
|
|
||||||
rc = gsm_generate_si(si_tmp, trx->bts, 6);
|
rc = gsm_generate_si(si_tmp, trx->bts, 6);
|
||||||
if (rc < 0)
|
if (rc < 0) {
|
||||||
|
i = 6;
|
||||||
goto err_out;
|
goto err_out;
|
||||||
|
}
|
||||||
rsl_sacch_filling(trx, RSL_SYSTEM_INFO_6, si_tmp, rc);
|
rsl_sacch_filling(trx, RSL_SYSTEM_INFO_6, si_tmp, rc);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
err_out:
|
err_out:
|
||||||
fprintf(stderr, "Cannot generate SI for BTS %u, most likely "
|
fprintf(stderr, "Cannot generate SI %u for BTS %u, most likely "
|
||||||
"a problem with neighbor cell list generation\n",
|
"a problem with neighbor cell list generation\n",
|
||||||
trx->bts->nr);
|
i, trx->bts->nr);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include <openbsc/abis_rsl.h>
|
#include <openbsc/abis_rsl.h>
|
||||||
#include <openbsc/rest_octets.h>
|
#include <openbsc/rest_octets.h>
|
||||||
#include <openbsc/bitvec.h>
|
#include <openbsc/bitvec.h>
|
||||||
|
#include <openbsc/debug.h>
|
||||||
|
|
||||||
#define GSM48_CELL_CHAN_DESC_SIZE 16
|
#define GSM48_CELL_CHAN_DESC_SIZE 16
|
||||||
#define GSM_MACBLOCK_LEN 23
|
#define GSM_MACBLOCK_LEN 23
|
||||||
|
@ -73,10 +74,14 @@ static int freq_list_bmrel_set_arfcn(u_int8_t *chan_list, unsigned int arfcn)
|
||||||
if (arfcn == min_arfcn)
|
if (arfcn == min_arfcn)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (arfcn < min_arfcn)
|
if (arfcn < min_arfcn) {
|
||||||
|
DEBUGP(DRR, "arfcn(%u) < min(%u)\n", arfcn, min_arfcn);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
if (arfcn > min_arfcn + 111)
|
}
|
||||||
|
if (arfcn > min_arfcn + 111) {
|
||||||
|
DEBUGP(DRR, "arfcn(%u) > min(%u) + 111\n", arfcn, min_arfcn);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
bitno = (arfcn - min_arfcn);
|
bitno = (arfcn - min_arfcn);
|
||||||
byte = bitno / 8;
|
byte = bitno / 8;
|
||||||
|
@ -121,17 +126,21 @@ static int bitvec2freq_list(u_int8_t *chan_list, struct bitvec *bv,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((max - min) > 111)
|
if ((max - min) > 111) {
|
||||||
|
DEBUGP(DRR, "min_arfcn=%u, max_arfcn=%u, distance > 111\n", min, max);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
chan_list[0] |= (min >> 9) & 1;
|
chan_list[0] |= (min >> 9) & 1;
|
||||||
chan_list[1] = (min >> 1);
|
chan_list[1] = (min >> 1);
|
||||||
chan_list[2] = (min & 1) << 7;
|
chan_list[2] = (min & 1) << 7;
|
||||||
|
|
||||||
for (i = 0; i < bv->data_len*8; i++) {
|
for (i = 0; i < bv->data_len*8; i++) {
|
||||||
rc = freq_list_bmrel_set_arfcn(chan_list, i);
|
if (bitvec_get_bit_pos(bv, i)) {
|
||||||
if (rc < 0)
|
rc = freq_list_bmrel_set_arfcn(chan_list, i);
|
||||||
return rc;
|
if (rc < 0)
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue