lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

October 2023

  • 1 participants
  • 1843 discussions
[L] Change in osmocom-bb[master]: ASCI: Add group transmit mode support to RR layer
by pespin 03 Oct '23

03 Oct '23
Attention is currently required from: fixeria, jolly. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34545?usp=email ) Change subject: ASCI: Add group transmit mode support to RR layer ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34545?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9b62eef5d877e5d9dcf349717efd2cce28862c58 Gerrit-Change-Number: 34545 Gerrit-PatchSet: 6 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Tue, 03 Oct 2023 10:42:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmo-bsc[master]: meas_feed: Use osmo_io instead of write queue
by pespin 03 Oct '23

03 Oct '23
Attention is currently required from: arehbein, daniel. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/34526?usp=email ) Change subject: meas_feed: Use osmo_io instead of write queue ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/34526?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0570a3242e2846062e24c93cbbbbd31137acdee Gerrit-Change-Number: 34526 Gerrit-PatchSet: 7 Gerrit-Owner: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: arehbein <arehbein(a)sysmocom.de> Gerrit-Attention: daniel <dwillmann(a)sysmocom.de> Gerrit-Comment-Date: Tue, 03 Oct 2023 10:40:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-bsc[master]: Do not generate 'bit map 0' neighbor lists with R-GSM ARFCN
by pespin 03 Oct '23

03 Oct '23
Attention is currently required from: jolly, neels. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/34602?usp=email ) Change subject: Do not generate 'bit map 0' neighbor lists with R-GSM ARFCN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/34602?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40d024290fa4be2ba8d3149ec841b182d0cc8c1f Gerrit-Change-Number: 34602 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Comment-Date: Tue, 03 Oct 2023 10:39:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmocom-bb[master]: Fix potential NULL pointer dereferences, discovered by Coverity Scan
by fixeria 03 Oct '23

03 Oct '23
Attention is currently required from: jolly, pespin. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34608?usp=email ) Change subject: Fix potential NULL pointer dereferences, discovered by Coverity Scan ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34608?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I47aa506014d8bddb8c8ce9b506c1c5c7b8056d30 Gerrit-Change-Number: 34608 Gerrit-PatchSet: 2 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Tue, 03 Oct 2023 10:19:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmocom-bb[master]: Correctly extract bits from SI2*/SI5*
by fixeria 03 Oct '23

03 Oct '23
Attention is currently required from: jolly, pespin. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34604?usp=email ) Change subject: Correctly extract bits from SI2*/SI5* ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34604?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie5349464fed0a4276955235c7c87b5bcb299f20d Gerrit-Change-Number: 34604 Gerrit-PatchSet: 2 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Tue, 03 Oct 2023 10:19:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[L] Change in osmocom-bb[master]: ASCI: Add VTY commands to control voice group/broadcast calls
by fixeria 03 Oct '23

03 Oct '23
Attention is currently required from: jolly, laforge, pespin. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34495?usp=email ) Change subject: ASCI: Add VTY commands to control voice group/broadcast calls ...................................................................... Patch Set 16: (3 comments) File src/host/layer23/src/mobile/vty_interface.c: https://gerrit.osmocom.org/c/osmocom-bb/+/34495/comment/c54658cc_2b781905 PS16, Line 379: ASCI_STR You're missing `SHOW_STR` here, it should be: ``` show SHOW_STR asci "Display information about ASCI items\n" MS_NAME "Name of MS (see \"show ms\")\n" calls "Display ongoing ASCI calls\n" ``` https://gerrit.osmocom.org/c/osmocom-bb/+/34495/comment/c9bec87d_9ebaf001 PS16, Line 700: These commands perform VGCS on given MS without entering the VGCS node So then is there really a need for having a dedicated VTY node for just one command, which is also available without entering the node? I don't see the benefits of having it. https://gerrit.osmocom.org/c/osmocom-bb/+/34495/comment/d6499e2e_3df7c12e PS16, Line 735: These commands perform VBS on VBS node Same here, do we really want a separate note? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34495?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id32253b4e10b8df48e819d8a92bbcda332dd11e6 Gerrit-Change-Number: 34495 Gerrit-PatchSet: 16 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Tue, 03 Oct 2023 10:18:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[L] Change in osmocom-bb[master]: ASCI: Add decoding of SYSTEM INFORMATION TYPE 10 $(ASCI)$
by Jenkins Builder 03 Oct '23

03 Oct '23
Jenkins Builder has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34614?usp=email ) Change subject: ASCI: Add decoding of SYSTEM INFORMATION TYPE 10 $(ASCI)$ ...................................................................... Patch Set 1: (3 comments) File src/host/layer23/src/common/sysinfo.c: Robot Comment from checkpatch (run ID jenkins-gerrit-lint-11588): https://gerrit.osmocom.org/c/osmocom-bb/+/34614/comment/87cc0bee_a87fe7d5 PS1, Line 673: /* Increment frequency number for every <info field> and every <next frequency> occurence. */ 'occurence' may be misspelled - perhaps 'occurrence'? Robot Comment from checkpatch (run ID jenkins-gerrit-lint-11588): https://gerrit.osmocom.org/c/osmocom-bb/+/34614/comment/535256a8_d63ae535 PS1, Line 744: c->rxlev_acc_min_db = - 110; space prohibited after that '-' (ctx:WxW) Robot Comment from checkpatch (run ID jenkins-gerrit-lint-11588): https://gerrit.osmocom.org/c/osmocom-bb/+/34614/comment/b0aa8708_21e5c542 PS1, Line 1092: if (rc == EOF) { suspect code indent for conditional statements (8, 8) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34614?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I81c7929f6d951d8eef7d08624f0b72830370c448 Gerrit-Change-Number: 34614 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 03 Oct 2023 07:59:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[L] Change in osmocom-bb[master]: ASCI: Add decoding of SYSTEM INFORMATION TYPE 10 $(ASCI)$
by jolly 03 Oct '23

03 Oct '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34614?usp=email ) Change subject: ASCI: Add decoding of SYSTEM INFORMATION TYPE 10 $(ASCI)$ ...................................................................... ASCI: Add decoding of SYSTEM INFORMATION TYPE 10 $(ASCI)$ This information can be used by the MS to get infos about neighbor cells with the same voice group/broadcast call. Related: OS#5782 Change-Id: I81c7929f6d951d8eef7d08624f0b72830370c448 --- M src/host/layer23/include/osmocom/bb/common/sysinfo.h M src/host/layer23/src/common/sysinfo.c M src/host/layer23/src/mobile/gsm48_rr.c 3 files changed, 335 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/14/34614/1 diff --git a/src/host/layer23/include/osmocom/bb/common/sysinfo.h b/src/host/layer23/include/osmocom/bb/common/sysinfo.h index 0368901..594d336 100644 --- a/src/host/layer23/include/osmocom/bb/common/sysinfo.h +++ b/src/host/layer23/include/osmocom/bb/common/sysinfo.h @@ -18,12 +18,27 @@ #define FREQ_TYPE_REP_5bis 0x40 /* sub channel of SI 5bis */ #define FREQ_TYPE_REP_5ter 0x80 /* sub channel of SI 5ter */ +struct si10_cell_info { + uint8_t index; /* frequency index of the frequencies received in SI5* */ + int16_t arfcn; /* ARFCN or -1 (if not found in SI5*) */ + uint8_t bsic; + bool barred; /* Cell is barred, values below are invalid. */ + bool la_different; /* Location area is different, so CRH is valid. */ + uint8_t cell_resel_hyst_db; + uint8_t ms_txpwr_max_cch; + uint8_t rxlev_acc_min_db; + uint8_t cell_resel_offset; + uint8_t temp_offset; + uint8_t penalty_time; +}; + /* structure of all received system information */ struct gsm48_sysinfo { /* flags of available information */ uint8_t si1, si2, si2bis, si2ter, si3, si4, si5, si5bis, si5ter, si6, si13; + bool si10; /* memory maps to simply detect change in system info messages */ uint8_t si1_msg[23]; @@ -36,6 +51,7 @@ uint8_t si5b_msg[18]; uint8_t si5t_msg[18]; uint8_t si6_msg[18]; + uint8_t si10_msg[21]; uint8_t si13_msg[23]; struct gsm_sysinfo_freq freq[1024]; /* all frequencies */ @@ -158,6 +174,10 @@ uint8_t nb_reest_denied; /* 1 = denied */ uint8_t nb_cell_barr; /* 1 = barred */ uint16_t nb_class_barr; /* bit 10 is emergency */ + + /* SI 10 */ + uint8_t si10_cells; /* number neighbor cells found in SI 10 */ + struct si10_cell_info si10_cell[32]; /* 32 neighbor cell descriptions */ }; char *gsm_print_arfcn(uint16_t arfcn); @@ -191,6 +211,8 @@ const struct gsm48_system_information_type_5ter *si, int len); int gsm48_decode_sysinfo6(struct gsm48_sysinfo *s, const struct gsm48_system_information_type_6 *si, int len); +int gsm48_decode_sysinfo10(struct gsm48_sysinfo *s, + const struct gsm48_system_information_type_10 *si, int len); int gsm48_decode_sysinfo13(struct gsm48_sysinfo *s, const struct gsm48_system_information_type_13 *si, int len); int gsm48_decode_mobile_alloc(struct gsm_sysinfo_freq *freq, diff --git a/src/host/layer23/src/common/sysinfo.c b/src/host/layer23/src/common/sysinfo.c index 12780c2..d2ed792 100644 --- a/src/host/layer23/src/common/sysinfo.c +++ b/src/host/layer23/src/common/sysinfo.c @@ -601,6 +601,188 @@ return 0; } +/* Decode "SI 10 Rest Octets" (10.5.2.44) */ +static int gsm48_decode_si10_rest_first(struct gsm48_sysinfo *s, struct bitvec *bv, + struct si10_cell_info *c) +{ + uint8_t ba_ind; + + /* <BA ind : bit(1)> */ + ba_ind = bitvec_get_uint(bv, 1); + if (ba_ind != s->nb_ba_ind_si5) { + LOGP(DRR, LOGL_NOTICE, "SI10: Band indicator %u != band indicator %u of SI5!\n", ba_ind, + s->nb_ba_ind_si5); + return EOF; + } + + /* { L <spare padding> | H <neighbour information> } */ + if (bitvec_get_bit_high(bv) != H) { + LOGP(DRR, LOGL_INFO, "SI10: No neighbor cell defined.\n"); + return EOF; + } + + /* <first frequency: bit(5)> */ + c->index = bitvec_get_uint(bv, 5); + + /* <bsic : bit(6)> */ + c->bsic = bitvec_get_uint(bv, 6); + + /* { H <cell parameters> | L } */ + if (bitvec_get_bit_high(bv) != H) { + LOGP(DRR, LOGL_NOTICE, "SI10: No cell parameter for first cell, cannot continue to decode!\n"); + return EOF; + } + + /* <cell barred (H)> | L <further cell info> */ + if (bitvec_get_bit_high(bv) == H) { + c->barred = true; + return 0; + } + + /* { H <cell reselect hysteresis : bit(3)> | L } */ + if (bitvec_get_bit_high(bv) == H) { + c->la_different = true; + c->cell_resel_hyst_db = bitvec_get_uint(bv, 3) * 2; + } + + /* <ms txpwr max cch : bit(5)> */ + c->ms_txpwr_max_cch = bitvec_get_uint(bv, 5); + /* <rxlev access min : bit(6)> */ + c->rxlev_acc_min_db = bitvec_get_uint(bv, 6) - 110; + /* <cell reselect offset : bit(6)> */ + c->cell_resel_offset = bitvec_get_uint(bv, 6); + /* <temporary offset : bit(3)> */ + c->temp_offset = bitvec_get_uint(bv, 3); + /* <penalty time : bit(5)> */ + c->penalty_time = bitvec_get_uint(bv, 5); + + return 0; +} + +static int gsm48_decode_si10_rest_other(struct gsm48_sysinfo *s, struct bitvec *bv, + struct si10_cell_info *c) +{ + int rc; + + /* { H <info field> }** L <spare padding> */ + if (bitvec_get_bit_high(bv) != H) + return EOF; + + c->index = (c->index + 1) & 0x1f; + /* <next frequency (H)>** L <differential cell info> */ + /* Increment frequency number for every <info field> and every <next frequency> occurence. */ + while ((rc = bitvec_get_bit_high(bv)) == H) + c->index = (c->index + 1) & 0x1f; + if (rc < 0) + goto short_read; + + /* { H <BCC : bit(3)> | L <bsic : bit(6)> } */ + rc = bitvec_get_bit_high(bv); + if (rc < 0) + goto short_read; + if (rc == H) { + rc = bitvec_get_uint(bv, 3); + if (rc < 0) + goto short_read; + c->bsic = (c->bsic & 0x07) | rc; + } else { + rc = bitvec_get_uint(bv, 6); + if (rc < 0) + goto short_read; + c->bsic = rc; + } + + /* { H <diff cell pars> | L } */ + rc = bitvec_get_bit_high(bv); + if (rc < 0) + goto short_read; + if (rc != H) + return 0; + + /* <cell barred (H)> | L <further cell info> */ + rc = bitvec_get_bit_high(bv); + if (rc < 0) + goto short_read; + if (rc == H) { + c->barred = true; + return 0; + } + + /* { H <cell reselect hysteresis : bit(3)> | L } */ + rc = bitvec_get_bit_high(bv); + if (rc < 0) + goto short_read; + if (rc == H) { + c->la_different = true; + rc = bitvec_get_uint(bv, 3); + if (rc < 0) + goto short_read; + c->cell_resel_hyst_db = bitvec_get_uint(bv, 3) * 2; + } + + /* { H <ms txpwr max cch : bit(5)> | L } */ + rc = bitvec_get_bit_high(bv); + if (rc < 0) + goto short_read; + if (rc == H) { + rc = bitvec_get_uint(bv, 5); + if (rc < 0) + goto short_read; + c->ms_txpwr_max_cch = rc; + } + + /* { H <rxlev access min : bit(6)> | L } */ + rc = bitvec_get_bit_high(bv); + if (rc < 0) + goto short_read; + if (rc == H) { + rc = bitvec_get_uint(bv, 6); + if (rc < 0) + goto short_read; + c->rxlev_acc_min_db = rc - 110; + } else + c->rxlev_acc_min_db = - 110; + + /* { H <cell reselect offset : bit(6)> | L } */ + rc = bitvec_get_bit_high(bv); + if (rc < 0) + goto short_read; + if (rc == H) { + rc = bitvec_get_uint(bv, 6); + if (rc < 0) + goto short_read; + c->cell_resel_offset = rc; + } + + /* { H <temporary offset : bit(3)> | L } */ + rc = bitvec_get_bit_high(bv); + if (rc < 0) + goto short_read; + if (rc == H) { + rc = bitvec_get_uint(bv, 3); + if (rc < 0) + goto short_read; + c->temp_offset = rc; + } + + /* { H <penalty time : bit(5)> | L } */ + rc = bitvec_get_bit_high(bv); + if (rc < 0) + goto short_read; + if (rc == H) { + rc = bitvec_get_uint(bv, 5); + if (rc < 0) + goto short_read; + c->penalty_time = rc; + } + + return 0; + +short_read: + LOGP(DRR, LOGL_NOTICE, "SI10: Short read of differential cell info.\n"); + return -EINVAL; +} + int gsm48_decode_sysinfo1(struct gsm48_sysinfo *s, const struct gsm48_system_information_type_1 *si, int len) { @@ -787,6 +969,7 @@ 0xce, FREQ_TYPE_REP_5); s->si5 = 1; + s->si10 = false; return 0; } @@ -804,6 +987,7 @@ 0xce, FREQ_TYPE_REP_5bis); s->si5bis = 1; + s->si10 = false; return 0; } @@ -821,6 +1005,7 @@ 0x8e, FREQ_TYPE_REP_5ter); s->si5ter = 1; + s->si10 = false; return 0; } @@ -852,6 +1037,90 @@ return 0; } +static int16_t arfcn_from_freq(struct gsm48_sysinfo *s, uint16_t index) +{ + uint16_t arfcn, i = 0; + + /* First, search for the P-GSM ARFCN. */ + for (arfcn = 1; arfcn < 124; arfcn++) { + if (!(s->freq[arfcn].mask & FREQ_TYPE_REP)) + continue; + if (index == i++) + return arfcn; + } + + /* Second, search for ARFCN 0. */ + if ((s->freq[arfcn].mask & FREQ_TYPE_REP)) { + if (index == i++) + return arfcn; + } + + /* Third, search for all other ARFCN. */ + for (arfcn = 125; arfcn < 1024; arfcn++) { + if (!(s->freq[arfcn].mask & FREQ_TYPE_REP)) + continue; + if (index == i++) + return arfcn; + } + + /* If not found, return EOF (-1) as idicator. */ + return EOF; +} + +int gsm48_decode_sysinfo10(struct gsm48_sysinfo *s, + const struct gsm48_system_information_type_10 *si, int len) +{ + int payload_len = len - sizeof(*si); + struct bitvec bv; + int i; + int rc; + + bv = (struct bitvec) { + .data_len = payload_len, + .data = (uint8_t *)si->rest_octets, + }; + + memcpy(s->si10_msg, si, OSMO_MIN(len, sizeof(s->si10_msg))); + + /* Clear cell list. */ + s->si10_cells = 0; + memset(s->si10_cell, 0, sizeof(s->si10_cell)); + + /* SI 10 Rest Octets of first neighbor cell, if included. */ + rc = gsm48_decode_si10_rest_first(s, &bv, &s->si10_cell[0]); + puts("1"); + if (rc == EOF) { + puts("2"); + s->si10 = true; + return 0; + } + puts("3"); + if (rc < 0) + return rc; + puts("5"); + s->si10_cell[0].arfcn = arfcn_from_freq(s, s->si10_cell[0].index); + s->si10_cells++; + + for (i = 1; i < ARRAY_SIZE(s->si10_cell); i++) { + /* Clone last cell info and then store differential elements. */ + memcpy(&s->si10_cell[i], &s->si10_cell[i - 1], sizeof(s->si10_cell[i])); + /* SI 10 Rest Octets of other neighbor cell, if included. */ + rc = gsm48_decode_si10_rest_other(s, &bv, &s->si10_cell[i]); + if (rc == EOF) + break; + puts("6"); + if (rc < 0) + return rc; + puts("7"); + s->si10_cell[i].arfcn = arfcn_from_freq(s, s->si10_cell[i].index); + s->si10_cells++; + } + puts("8"); + + s->si10 = true; + return 0; +} + int gsm48_decode_sysinfo13(struct gsm48_sysinfo *s, const struct gsm48_system_information_type_13 *si, int len) { diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c index a515338..502d7fe 100644 --- a/src/host/layer23/src/mobile/gsm48_rr.c +++ b/src/host/layer23/src/mobile/gsm48_rr.c @@ -2897,13 +2897,40 @@ return gsm48_new_sysinfo(ms, si->system_information); } -/* Receive "SYSTEM INFORMATION TYPE 10" message (9.1.50). */ +/* receive "SYSTEM INFORMATION 10" message (9.1.50) */ static int gsm48_rr_rx_sysinfo_10(struct osmocom_ms *ms, struct msgb *msg) { - LOGP(DRR, LOGL_INFO, "SYSINFO 10\n"); + /* NOTE: Short L2 header is included in this structure */ + struct gsm48_system_information_type_10 *si = msgb_l3(msg); + struct gsm48_sysinfo *s = ms->cellsel.si; + int payload_len = msgb_l3len(msg) - sizeof(*si); - /* Ignore content. */ - return -ENOTSUP; + if (!s) { + LOGP(DRR, LOGL_INFO, "No cell selected, SYSTEM INFORMATION 10 " + "ignored\n"); + return -EINVAL; + } + + if (payload_len < 20) { + LOGP(DRR, LOGL_NOTICE, "Short read of SYSTEM INFORMATION 10 " + "message.\n"); + return -EINVAL; + } + + /* No complete SI5, cannot decode yet. */ + if (!s->si5 || !(s->si5bis || !s->nb_ext_ind_si5)) + return 0; + + /* We decode when changed or when SI10 could not decoded, due to missing neighbor cell infos. */ + if (!memcmp(si, s->si10_msg, OSMO_MIN(msgb_l3len(msg), sizeof(s->si10_msg))) && s->si10) + return 0; + + LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 10\n"); + + gsm48_decode_sysinfo10(s, si, msgb_l3len(msg)); + + /* We cannot call gsm48_new_sysinfo, because it requires regular message types. */ + return 0; } /* receive "SYSTEM INFORMATION 13" message (9.1.43a) */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34614?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I81c7929f6d951d8eef7d08624f0b72830370c448 Gerrit-Change-Number: 34614 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmocom-bb[master]: ASCI: Add VTY command to display group call neighbor cells
by jolly 03 Oct '23

03 Oct '23
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34615?usp=email ) Change subject: ASCI: Add VTY command to display group call neighbor cells ...................................................................... ASCI: Add VTY command to display group call neighbor cells Related: OS#5782 Change-Id: Ie84221507bdf247c1563b829d6cf0adb53ce161f --- M src/host/layer23/include/osmocom/bb/common/sysinfo.h M src/host/layer23/src/common/sysinfo.c M src/host/layer23/src/mobile/vty_interface.c 3 files changed, 68 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/15/34615/1 diff --git a/src/host/layer23/include/osmocom/bb/common/sysinfo.h b/src/host/layer23/include/osmocom/bb/common/sysinfo.h index 594d336..a6e2e9f 100644 --- a/src/host/layer23/include/osmocom/bb/common/sysinfo.h +++ b/src/host/layer23/include/osmocom/bb/common/sysinfo.h @@ -185,6 +185,7 @@ int gsm48_sysinfo_dump(const struct gsm48_sysinfo *s, uint16_t arfcn, void (*print)(void *, const char *, ...), void *priv, uint8_t *freq_map); +int gsm48_si10_dump(const struct gsm48_sysinfo *s, void (*print)(void *, const char *, ...), void *priv); int gsm48_decode_lai(struct gsm48_loc_area_id *lai, uint16_t *mcc, uint16_t *mnc, uint16_t *lac); int gsm48_decode_chan_h0(const struct gsm48_chan_desc *cd, diff --git a/src/host/layer23/src/common/sysinfo.c b/src/host/layer23/src/common/sysinfo.c index d2ed792..dfa3f45 100644 --- a/src/host/layer23/src/common/sysinfo.c +++ b/src/host/layer23/src/common/sysinfo.c @@ -311,6 +311,48 @@ return 0; } +int gsm48_si10_dump(const struct gsm48_sysinfo *s, void (*print)(void *, const char *, ...), void *priv) +{ + const struct si10_cell_info *c; + int i; + + if (!s || !s->si10) { + print(priv, "No group channel neighbor information available.\n"); + return 0; + } + + if (!s->si10_cells) { + print(priv, "No group channel neighbors exist.\n"); + return 0; + } + + /* Group call neighbor cells. */ + print(priv, "Group channel neighbor cells (current or last call):\n"); + for (i = 0; i < s->si10_cells; i++) { + c = &s->si10_cell[i]; + print(priv, " index = %d", c->index); + if (c->arfcn >= 0) + print(priv, " ARFCN = %d", c->arfcn); + else + print(priv, " ARFCN = not in SI5*"); + print(priv, " BSIC = %d,%d", c->bsic >> 3, c->bsic & 0x7); + if (c->barred) { + print(priv, " barred"); + continue; + } + if (c->la_different) + print(priv, " CRH = %d", c->cell_resel_hyst_db); + print(priv, " MS_TXPWR_MAX_CCCH = %d\n", c->ms_txpwr_max_cch); + print(priv, " RXLEV_MIN = %d", c->rxlev_acc_min_db); + print(priv, " CRO = %d", c->cell_resel_offset); + print(priv, " TEMP_OFFSET = %d", c->temp_offset); + print(priv, " PENALTY_TIME = %d", c->penalty_time); + } + print(priv, "\n"); + + return 0; +} + /* * decoding */ diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index a4b97bc..0cb6fc3 100644 --- a/src/host/layer23/src/mobile/vty_interface.c +++ b/src/host/layer23/src/mobile/vty_interface.c @@ -389,6 +389,20 @@ return CMD_SUCCESS; } +DEFUN(show_asci_neighbors, show_asci_neighbors_cmd, "show asci MS_NAME neighbors", + ASCI_STR "Display neigbor cells of ongoing or last ASCI call") +{ + struct osmocom_ms *ms; + + ms = l23_vty_get_ms(argv[0], vty); + if (!ms) + return CMD_WARNING; + + gsm48_si10_dump(ms->cellsel.si, l23_vty_printf, vty); + + return CMD_SUCCESS; +} + DEFUN(monitor_network, monitor_network_cmd, "monitor network MS_NAME", "Monitor...\nMonitor network information\nName of MS (see \"show ms\")") { @@ -2484,6 +2498,7 @@ install_element_ve(&show_forb_la_cmd); install_element_ve(&show_forb_plmn_cmd); install_element_ve(&show_asci_calls_cmd); + install_element_ve(&show_asci_neighbors_cmd); install_element_ve(&monitor_network_cmd); install_element_ve(&no_monitor_network_cmd); install_element(ENABLE_NODE, &off_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34615?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie84221507bdf247c1563b829d6cf0adb53ce161f Gerrit-Change-Number: 34615 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-MessageType: newchange
1 0
0 0
[L] Change in osmocom-bb[master]: ASCI: Add group receive and transmit mode support to MM layer
by jolly 03 Oct '23

03 Oct '23
Attention is currently required from: jolly, laforge. Hello Jenkins Builder, fixeria, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/34492?usp=email to look at the new patch set (#15). The following approvals got outdated and were removed: Verified+1 by Jenkins Builder The change is no longer submittable: Verified is unsatisfied now. Change subject: ASCI: Add group receive and transmit mode support to MM layer ...................................................................... ASCI: Add group receive and transmit mode support to MM layer Related: OS#5364 Change-Id: I05957182a57423ad947ab200b52f65fde859e110 --- M src/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h M src/host/layer23/src/mobile/gsm48_mm.c 2 files changed, 710 insertions(+), 78 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/92/34492/15 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34492?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I05957182a57423ad947ab200b52f65fde859e110 Gerrit-Change-Number: 34492 Gerrit-PatchSet: 15 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-MessageType: newpatchset
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • ...
  • 185
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.