osmo-trx/Transceiver52M
Pau Espin fd99c6ce05 radioInterfaceMulti: Fail to tune on freq not following multi-arfcn restrictions
multi-arfcn feature uses a hardcoded disposition of logical channels on
a physical channel. Logical channels in the phisical channel are
separated by MCBTS_SPACING Hz, that is 4 GSM ARFCNs.

As a result, multi-arfcn restricts the TRX ARFCN setup to the following:
ARFCN(TRX0)=N, ARFCN(TRX1)=N+1*4, ARFCN(TRX2)=N+2*4, ...

Let's make sure radioInterfaceMulti verifies the requested Rx/Tx
frequencies for each logical channel over TRXC match the restriction
explained above. It will check freq going to be set is indeed separated
by MCBTS_SPACING from already set channels, making sure the ARFCN series
is consistent.

Otherwise, before this patch, one could set in osmo-bsc:
ARFCN(TRX0)=N, ARFCN(TRX1)=N+2

and osmo-trx would silently ack the related Rx/TxTUNE TRXC commands, but
actually still transmit on ARFCN N+4 instead. As a result, in this
scenario TRX!=0 were unusable with multi-arfcn.

Related: OS#4207
Change-Id: I2f3d66a611d3a489b3e4d9431994f4ec77b4460f
2020-01-07 16:04:04 +01:00
..
arch Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
device uhd: Improve some logging lines printing UHD pretty-print output 2020-01-07 16:04:04 +01:00
Channelizer.cpp Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
Channelizer.h mcbts: Add multi-ARFCN channelizing filters 2016-07-01 03:07:27 -07:00
ChannelizerBase.cpp Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
ChannelizerBase.h Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
Complex.h Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
Makefile.am Move std_inband.rbf under device/usrp1/ dir 2019-08-01 13:46:00 +02:00
Resampler.cpp Add SPDX annotation 2019-07-22 12:06:26 +02:00
Resampler.h Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
Synthesis.cpp Add SPDX annotation 2019-07-22 12:06:26 +02:00
Synthesis.h mcbts: Add multi-ARFCN channelizing filters 2016-07-01 03:07:27 -07:00
Transceiver.cpp Transceiver.cpp: Introduce and use new logging categories 2019-12-20 14:19:35 +01:00
Transceiver.h Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
osmo-trx.cpp Make logging category DLMS generic and reusable for other backends 2020-01-07 16:04:04 +01:00
proto_trxd.c Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
proto_trxd.h Transceiver: Clean up receival of downlink bursts 2019-08-26 14:34:09 +02:00
radioBuffer.cpp Add SPDX annotation 2019-07-22 12:06:26 +02:00
radioBuffer.h radioBuffer: Remove extra ; at the end of inline function definitions. 2017-03-20 18:41:02 +00:00
radioClock.cpp Add SPDX annotation 2019-07-22 12:06:26 +02:00
radioClock.h Add SPDX annotation 2019-07-22 12:06:26 +02:00
radioInterface.cpp radioInterface: Atomically fetch and change underrun variable 2019-09-20 19:17:22 +02:00
radioInterface.h radioInterfaceMulti: Fail to tune on freq not following multi-arfcn restrictions 2020-01-07 16:04:04 +01:00
radioInterfaceMulti.cpp radioInterfaceMulti: Fail to tune on freq not following multi-arfcn restrictions 2020-01-07 16:04:04 +01:00
radioInterfaceResamp.cpp radioInterface: Atomically fetch and change underrun variable 2019-09-20 19:17:22 +02:00
radioVector.cpp Add SPDX annotation 2019-07-22 12:06:26 +02:00
radioVector.h Add SPDX annotation 2019-07-22 12:06:26 +02:00
sigProcLib.cpp Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
sigProcLib.h Fix common misspellings and typos 2019-10-17 08:06:19 +00:00
signalVector.cpp SigProcLib: Improve Vector buffer allocation mess 2018-12-05 19:41:34 +00:00
signalVector.h SigProcLib: Improve Vector buffer allocation mess 2018-12-05 19:41:34 +00:00