From 2c841100a96f66ed55524df0610784d7e7d15165 Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Thu, 2 Mar 2017 17:32:57 +0100 Subject: octphy: align frame number for new firmware versions Firmware releases OCTSDR-2G-02.07.00-B1314-BETA and newer require to align the GPRS frame number (fn-3) for ph_data indications. To preserve compatibility the header version is checked during compile time and the right method is compiled in. Change-Id: Ib93d5fb3b34ff92f10021a0e9ce9c8aa3044b7ff --- src/osmo-bts-octphy/l1_if.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/osmo-bts-octphy') diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index a4d0e3ad..ac4d960d 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -50,6 +50,12 @@ #include "l1_utils.h" #include "octpkt.h" +#include + +/* NOTE: The octphy GPRS frame number handling changed with + * OCTSDR-2G-02.07.00-B1314-BETA. From that version on, each ph_data_ind must + * subtract 3 from the frame number before passing the frame to the PCU */ +#define cOCTVC1_MAIN_VERSION_ID_FN_PARADIGM_CHG 0x41c0522 #include #define OCTVC1_RC2STRING_DECLARE @@ -1040,7 +1046,16 @@ static int handle_ph_data_ind(struct octphy_hdl *fl1, PRIM_OP_INDICATION, l1p_msg); l1sap->u.data.link_id = link_id; l1sap->u.data.chan_nr = chan_nr; + +#if (cOCTVC1_MAIN_VERSION_ID >= cOCTVC1_MAIN_VERSION_ID_FN_PARADIGM_CHG) + if (sapi == cOCTVC1_GSM_SAPI_ENUM_PDTCH) { + l1sap->u.data.fn = fn - 3; + } else + l1sap->u.data.fn = fn; +#else l1sap->u.data.fn = fn; +#endif + l1sap->u.data.rssi = rssi; b_total = data_ind->MeasurementInfo.usBERTotalBitCnt; b_error =data_ind->MeasurementInfo.usBERCnt; -- cgit v1.2.3