srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes
Change-Id: I4228ba8746a54db4c17443718c01069d431361b9
diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py
index 0b748e0..bb48880 100644
--- a/src/osmo_gsm_tester/obj/enb_amarisoft.py
+++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py
@@ -209,7 +209,10 @@
# rf driver is shared between amarisoft enb and ue, so it has a
# different cfg namespace 'trx'. Copy needed values over there:
config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None),
- rf_dev_args=values['enb'].get('rf_dev_args', None))))
+ rf_dev_args=values['enb'].get('rf_dev_args', None),
+ rx_gain=values['enb'].get('rx_gain', None),
+ tx_gain=values['enb'].get('tx_gain', None),
+ )))
self.gen_conf = values
diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py
index 1b49b30..6fd80ee 100644
--- a/src/osmo_gsm_tester/obj/ms_amarisoft.py
+++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py
@@ -274,7 +274,10 @@
# rf driver is shared between amarisoft enb and ue, so it has a
# different cfg namespace 'trx'. Copy needed values over there:
config.overlay(values, dict(trx=dict(rf_dev_type=values['ue'].get('rf_dev_type', None),
- rf_dev_args=values['ue'].get('rf_dev_args', None))))
+ rf_dev_args=values['ue'].get('rf_dev_args', None),
+ rx_gain=values['ue'].get('rx_gain', None),
+ tx_gain=values['ue'].get('tx_gain', None),
+ )))
self.gen_conf_file(self.config_file, AmarisoftUE.CFGFILE, values)
self.gen_conf_file(self.config_rf_file, AmarisoftUE.CFGFILE_RF, values)
diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py
index cafdab8..ded8568 100644
--- a/src/osmo_gsm_tester/resource.py
+++ b/src/osmo_gsm_tester/resource.py
@@ -92,6 +92,8 @@
'enb[].id': schema.UINT,
'enb[].num_prb': schema.UINT,
'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE,
+ 'enb[].tx_gain': schema.UINT,
+ 'enb[].rx_gain': schema.UINT,
'enb[].rf_dev_type': schema.STR,
'enb[].rf_dev_args': schema.STR,
'enb[].additional_args': schema.STR,
@@ -134,6 +136,8 @@
'modem[].additional_args': schema.STR,
'modem[].airplane_t_on_ms': schema.INT,
'modem[].airplane_t_off_ms': schema.INT,
+ 'modem[].tx_gain': schema.UINT,
+ 'modem[].rx_gain': schema.UINT,
'osmocon_phone[].serial_device': schema.STR,
}
diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl
index 874feca..cd08835 100644
--- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl
@@ -10,8 +10,8 @@
% endif
},
-tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */
-rx_gain: 60.0, /* RX gain (in dB) B2x0: 0 to 73 dB */
+tx_gain: ${trx.tx_gain}, /* TX gain (in dB) B2x0: 0 to 89.8 dB */
+rx_gain: ${trx.rx_gain}, /* RX gain (in dB) B2x0: 0 to 73 dB */
% if trx.rf_dev_type == 'zmq':
tx_time_offset: 0,
% else:
diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl
index 95b10f0..b3efd22 100644
--- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl
@@ -64,8 +64,8 @@
# Default "auto". B210 USRP: 400 us, bladeRF: 0 us.
#####################################################################
[rf]
-tx_gain = 80
-rx_gain = 40
+tx_gain = ${enb.tx_gain}
+rx_gain = ${enb.rx_gain}
device_name = ${enb.rf_dev_type}
diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
index 37175dd..a600f5e 100644
--- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
@@ -37,8 +37,8 @@
dl_earfcn = 2850
% endif
freq_offset = 0
-tx_gain = 80
-#rx_gain = 40
+tx_gain = ${ue.tx_gain}
+rx_gain = ${ue.rx_gain}
#nof_radios = 1
nof_antennas = ${ue.num_antennas}
diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf
index aea2791..f7820c0 100644
--- a/sysmocom/defaults.conf
+++ b/sysmocom/defaults.conf
@@ -135,16 +135,22 @@
srsenb:
num_prb: 100
enable_pcap: false
+ tx_gain: 80
+ rx_gain: 40
amarisoftenb:
num_prb: 100
enable_pcap: false
+ tx_gain: 89
+ rx_gain: 60
srsue:
enable_pcap: false
airplane_t_on_ms: -1
airplane_t_off_ms: -1
num_carriers: 1
+ tx_gain: 80
+ rx_gain: 40
iperf3cli:
time: 60