Introduce and use osmo-bts-trx VTY cmd max_trxd_version on sysmocell-5K

Force TRXDv0 when using sysmocell-5k as a TRX, since its implementation
(different than osmo-trx) doesn't support higher versions. Furthermore,
it will crash upon receival of SETFORMAT string. By forcing maximum TRXD
version to 0, osmo-bts-trx won't sent any SETFORMAT message since 0 is
the initial version to use.

Depends: osmo-bts.git I5eb1fdc002f9d7f4acf475356d8fc998dc8f6326
Related: OS#4006
Change-Id: Ic95c38d91dba354ae64c5edbfcea3fbbf34a7de3
diff --git a/example/resources.conf.prod b/example/resources.conf.prod
index f4e9fe4..8b498d0 100644
--- a/example/resources.conf.prod
+++ b/example/resources.conf.prod
@@ -73,6 +73,7 @@
         launch_trx: false
         clock_reference: external
         trx_ip: 10.42.42.112
+        max_trxd_version: 0
 
 - label: OCTBTS 3500
   type: osmo-bts-octphy
diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py
index 246b196..1b18076 100644
--- a/src/osmo_gsm_tester/resource.py
+++ b/src/osmo_gsm_tester/resource.py
@@ -75,6 +75,7 @@
         'bts[].osmo_trx.remote_user': schema.STR,
         'bts[].osmo_trx.dev_args': schema.STR,
         'bts[].osmo_trx.multi_arfcn': schema.BOOL_STR,
+        'bts[].osmo_trx.max_trxd_version': schema.UINT,
         'arfcn[].arfcn': schema.INT,
         'arfcn[].band': schema.BAND,
         'modem[].type': schema.STR,
diff --git a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl
index 677b047..2239f74 100644
--- a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl
@@ -23,6 +23,9 @@
 phy 0
  osmotrx ip local ${osmo_bts_trx.osmo_trx.bts_ip}
  osmotrx ip remote ${osmo_bts_trx.osmo_trx.trx_ip}
+%if osmo_bts_trx.get('osmo_trx').get('max_trxd_version', False):
+ osmotrx trxd-max-version ${osmo_bts_trx.osmo_trx.max_trxd_version}
+%endif
 %for chan in osmo_bts_trx.osmo_trx.channels:
  instance ${loop.index}
   osmotrx rx-gain 25