Hi! This is weird -- your mail arrived in my inbox on 2025-05-25, and your mail is dated 2025-04-29, also around two hours *before* the email you are responding to. Something seems to be wrong with your mail client. Please fix that!!
About a possible bit flip bug -- you may also remember that I confirmed in a separate mail Pau's findings that the code you pointed out is indeed correct. Please read again: https://lists.osmocom.org/hyperkitty/list/openbsc@lists.osmocom.org/message/QREFBIAXRKDOQ7N47XNRLGFIEYXOI73O/ You insist that there is a bit flip somewhere, which means that the bug is not in that part of the code we are looking at. Would you please explain in more detail: how do you determine a band misinterpretation? What is your test setup, what symptom do you see, and what do you expect to see instead? Thanks! ~N On Tue, Apr 29, 2025 at 10:40:19AM +0000, Volkan Akkuş wrote: > Dear Sir, > I have tested and verified on several phones. This is a BUG. > The trouble is that 1800 MHz transmission is identified as 1900 MHz and vice > versa for common ARFCNs. This is the opposite for the design, explained below. > https://www.3gpp.org/ftp/Specs/archive/05_series/05.05/0505-8k0.zip > > > A multi-band MS shall interpret ARFCN numbers 512 to 810 as either DCS 1800 > or PCS 1900 frequencies according to the parameter BAND_INDICATOR when > received in other than the DCS 1800 or PCS 1900 bands. If received in the DCS > 1800 or PCS 1900 bands, those ARFCN numbers shall be interpreted as > frequencies in the same band. The BAND_INDICATOR is broadcast on BCCH, PBCCH > and SACCH. The most recently received value shall be applied by the mobile > station. If the parameter is not broadcast, the default value is DCS 1800 > frequencies. > > BAND_INDICATOR (1 bit field) > See 3GPP TS 05.05 for definition of this field, which is coded as follows: > 0 ARFCN indicates 1800 band > 1 ARFCN indicates 1900 band > > > > > > Pau Espin Pedrol <pes...@sysmocom.de>, 29 Nisan 2025 Salı saat 13:10 > tarihinde şunu yazdı: > > > Hi, > > > > I fail to see what's wrong according to you: > > > > """ > > static int is_dcs_net(const struct gsm_bts *bts) > > { > > if (bts->band == GSM_BAND_850) > > > > return 0; > > if (bts->band == GSM_BAND_1900) > > > > return 0; > > return 1; > > } > > """ > > > > """ > > osmo_gsm48_rest_octets_si1_encode(si1->rest_octets, NULL, is_dcs_net(bts)); > > > > """ > > > > """ > > int osmo_gsm48_rest_octets_si1_encode(uint8_t *data, uint8_t *nch_pos, > > int is1800_net) > > { > > ... > > if (is1800_net) > > bitvec_set_bit(&bv, L); > > else > > bitvec_set_bit(&bv, H); > > } > > """ > > > > > > Do you mind explaining the case in which we end up encoding a wrong value? > > > > Also probably better use redmine to fill a bug report if you think there > > may be one. > > > > Regards, > > Pau > > > > -- > > - Pau Espin Pedrol pes...@sysmocom.de http://www.sysmocom.de/ > > > > ======================================================================= > > * sysmocom - systems for mobile communications GmbH > > * Siemensstr. 26a > > * 10551 Berlin, Germany > > * Sitz / Registered office: Berlin, HRB 134158 B > > * Geschaeftsfuehrer / Managing Director: Harald Welte -- - Neels Hofmeyr <nhofm...@sysmocom.de> https://www.sysmocom.de/ ======================================================================= * sysmocom - systems for mobile communications GmbH * Siemensstr. 26a * 10551 Berlin, Germany * Sitz / Registered office: Berlin, HRB 134158 B * Geschaeftsfuehrer / Managing Director: Harald Welte