summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/src/mobile/sysinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/host/layer23/src/mobile/sysinfo.c')
-rw-r--r--src/host/layer23/src/mobile/sysinfo.c40
1 files changed, 29 insertions, 11 deletions
diff --git a/src/host/layer23/src/mobile/sysinfo.c b/src/host/layer23/src/mobile/sysinfo.c
index cdfaafb1..2a125626 100644
--- a/src/host/layer23/src/mobile/sysinfo.c
+++ b/src/host/layer23/src/mobile/sysinfo.c
@@ -85,13 +85,14 @@ int gsm48_sysinfo_dump(struct gsm48_sysinfo *s, uint16_t arfcn,
for (i = 0; i < 1024; i++) {
if ((s->freq[i].mask & FREQ_TYPE_NCELL)) {
if (!k) {
- sprintf(buffer, "SI2 (neigh.): ");
+ sprintf(buffer, "SI2 (neigh.) BA=%d: ",
+ s->nb_ba_ind_si2);
j = strlen(buffer);
}
- if (j >= 75) {
+ if (j >= 70) {
buffer[j - 1] = '\0';
print(priv, "%s\n", buffer);
- sprintf(buffer, " ");
+ sprintf(buffer, " ");
j = strlen(buffer);
}
sprintf(buffer + j, "%d,", i);
@@ -107,13 +108,14 @@ int gsm48_sysinfo_dump(struct gsm48_sysinfo *s, uint16_t arfcn,
for (i = 0; i < 1024; i++) {
if ((s->freq[i].mask & FREQ_TYPE_REP)) {
if (!k) {
- sprintf(buffer, "SI5 (report): ");
+ sprintf(buffer, "SI5 (report) BA=%d: ",
+ s->nb_ba_ind_si5);
j = strlen(buffer);
}
- if (j >= 75) {
+ if (j >= 70) {
buffer[j - 1] = '\0';
print(priv, "%s\n", buffer);
- sprintf(buffer, " ");
+ sprintf(buffer, " ");
j = strlen(buffer);
}
sprintf(buffer + j, "%d,", i);
@@ -138,8 +140,8 @@ int gsm48_sysinfo_dump(struct gsm48_sysinfo *s, uint16_t arfcn,
for (j = 0; j < 64; j++) {
if ((s->freq[i+j].mask & FREQ_TYPE_SERV))
buffer[j + 5] = 'S';
- else if ((s->freq[i+j].mask & (FREQ_TYPE_NCELL
- & FREQ_TYPE_REP)))
+ else if ((s->freq[i+j].mask & FREQ_TYPE_NCELL)
+ && (s->freq[i+j].mask & FREQ_TYPE_REP))
buffer[j + 5] = 'b';
else if ((s->freq[i+j].mask & FREQ_TYPE_NCELL))
buffer[j + 5] = 'n';
@@ -156,9 +158,11 @@ int gsm48_sysinfo_dump(struct gsm48_sysinfo *s, uint16_t arfcn,
/* serving cell */
print(priv, "Serving Cell:\n");
- print(priv, " MCC = %s MNC = %s LAC = 0x%04x Cell ID = 0x%04x "
- "(%s, %s)\n", gsm_print_mcc(s->mcc), gsm_print_mnc(s->mnc),
- s->lac, s->cell_id, gsm_get_mcc(s->mcc),
+ print(priv, " BSIC = %d,%d MCC = %s MNC = %s LAC = 0x%04x Cell ID "
+ "= 0x%04x\n", s->bsic >> 3, s->bsic & 0x7,
+ gsm_print_mcc(s->mcc), gsm_print_mnc(s->mnc), s->lac,
+ s->cell_id);
+ print(priv, " Country = %s Network Name = %s\n", gsm_get_mcc(s->mcc),
gsm_get_mnc(s->mcc, s->mnc));
print(priv, " MAX_RETRANS = %d TX_INTEGER = %d re-establish = %s\n",
s->max_retrans, s->tx_integer,
@@ -174,6 +178,20 @@ int gsm48_sysinfo_dump(struct gsm48_sysinfo *s, uint16_t arfcn,
print(priv, " CBQ = %d CRO = %d TEMP_OFFSET = %d "
"PENALTY_TIME = %d\n", s->sp_cbq, s->sp_cro, s->sp_to,
s->sp_pt);
+ if (s->nb_ncc_permitted_si2) {
+ print(priv, "NCC Permitted BCCH =");
+ for (i = 0; i < 8; i++)
+ if ((s->nb_ncc_permitted_si2 & (1 << i)))
+ print(priv, " %d", i);
+ print(priv, "\n");
+ }
+ if (s->nb_ncc_permitted_si6) {
+ print(priv, "NCC Permitted SACCH/TCH =");
+ for (i = 0; i < 8; i++)
+ if ((s->nb_ncc_permitted_si6 & (1 << i)))
+ print(priv, " %d", i);
+ print(priv, "\n");
+ }
print(priv, "\n");
/* neighbor cell */