Commit Graph

143 Commits

Author SHA1 Message Date
Pau Espin 76b2c2a108 srs_{ue,enb}: Add modifier to pass arbitrary cmd line arguments
Change-Id: Ie438c8aa9992dbc61b2133473a83d565cf5c7056
2020-04-01 20:06:33 +02:00
Pau Espin 12ae6d79a5 srs{enb,ue}: Use lowcase UHD as rf_type string
Older versions of srsLTe.git required passing UHD in caps to the conf
file, but that's not the case anymore. Let's use lowcase then.

Change-Id: If8a289ba110229d31b62b0d3adc1ae97324e6d27
2020-04-01 18:06:17 +00:00
Andre Puschmann 2dcc4312a0 iperf3: add config to adjust the duration of the iperf run
the time is passed as a string param and is then converted
into seconds when literals "h" or "m" are found.
So it would accept 2m and would convert it to 120s, for example.

Example:

+cfg-iperf3-time@15+

Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d
2020-04-01 15:35:03 +02:00
Pau Espin c04528cb1f Make amarisoft license server optional
* Since license_server_addr logic is generic among all amarisoft
  software, let's move it to its own config category "amarisoft", which
  all amarisoft classes (amarisoft_{enb,epc}.py as of now) will import
  during configure().
* The license server is disabled by default (value 0.0.0.0) since the
  usual case is to have a license in the local system.
* the license server can be enabled using scenario
  cfg-amarisoft-license@A.B.C.D where A.B.C.D is the address to use.

Change-Id: Id5456ad9497e91370857b80ff9a389111d3611ff
2020-04-01 15:22:14 +02:00
Andre Puschmann 7225d52e39 srs_{ue,enb}: change UHD stream args and buffer size as function of cell width for B2XX
Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc
2020-04-01 14:38:06 +02:00
Pau Espin da2e31f929 Introduce support for AmarisoftEPC
* A new abstract generic base class EPC is created
* srsEPC and AmarisoftEPC inherit from that class
* options are loaded from defaults.conf in cascade. First generic "epc",
  afterwards the specific enb type.
* A new scenario is added to select the EPC type to use. srsEPC is the
  default unless stated by an scenario.
* AmarisoftEPC delegates setup of the tun IP address to an "ifup"
  script. As a result, since we run without root permissions (ony with
  CAP_NET_ADMIN), the ifup script itself is unablet o set the IP
  address. To solve this, we introduce a new osmo-gsm-tester helper
  script which must be installed in the slave node which can be called
  through sudo to increase privileges to do so.

With this commit, I can already get srsUE<->amarisoftENB<->amarisoftEPC
to pass ping and iperf3 4g tests.

Change-Id: Ia50ea6a74b63b2d688c8d683aea11416ad40a6d3
2020-03-31 19:18:18 +02:00
Pau Espin 786a6bcd20 Introduce initial Amarisoft ENB support
* object class expects the amarisoft software to be placed in directory
  provided by env var AMARISOFT_PATH_ENB. On local runs, it will run the
  software from there. On remote runs it will copy over that directory to
  the slave.
* Configuration provided works with 6 PRBs, but probably won't work for
  other values (yet).
* ZMQ support not yet available, only UHD.

One can select the Amarisoft ENB by declaring it in resources.conf:
"""
- label: AmarisoftENB-B200
  type: amarisoftenb
  rf_dev_type: uhd
  rf_dev_args: "type=b200,serial=317B9FE,recv_frame_size=9232,send_frame_size=9232"
  remote_user: jenkins
  addr: 10.12.1.206
"""

And running:
"""
$ export AMARISOFT_PATH_ENB=/path/to/binaries
$ osmo-gsm-tester.py ... -s 4g:amarisoftenb-rftype@uhd+srsue-rftype@UHD+mod-enb-nprb@6 -t ping
"""

Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3
2020-03-31 08:22:18 +00:00
Andre Puschmann 793260d0f6 defaults.conf: set num_carriers default value
Change-Id: Ibe94fada0a40c499dd516408756c4ef7988ccec5
2020-03-24 21:21:16 +01:00
Andre Puschmann d61613ac80 srs_ue: adding num_carriers paramter and corresponding modifier
this allows to configure a UE to support multiple carriers

Change-Id: I4fa0a0c6e52efb17aa0b07e55abb5470d8028e8b
2020-03-24 14:30:19 +01:00
Andre Puschmann 82b88901f3 srs_enb: add num_cells param to srsENB
this is needed to support the upcoming multi-cell feature in srsENB.
It's required for carrier aggregation (CA) but can also
be used for (currently) two independent 4G cells.

This commit adds baseline support for the parameter. Upcoming
commits will add hooks to configure the cell's EARFCN, etc.

Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37
2020-03-24 14:30:19 +01:00
Andre Puschmann 35234f2e21 srs_ue: add scenario for airplane mode simulation in srsUE
Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb
2020-03-23 21:00:36 +01:00
Pau Espin 7788e3952d scenarios: Drop unnecessary srsue-rftype-soapy.conf
There's already a parametrized scenario handling it. We don't use any
soapy backend for srsue anyway yet.

Change-Id: Ie680178d2b16139473b5899803fb69a715a79216
2020-03-17 20:12:46 +01:00
Pau Espin 1e81b5af9a srs{ue,enb,epc}: Disable pcap by default, allow enabling by param
Take the change to fix several small things and support recording pcap
in srsENB.

pcap generation can be enabled with scenario cfg-srs-enable-pcap.

Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935
2020-03-16 13:47:30 +01:00
Pau Espin dff272884d scenarios: Use parametrized scenario for rftype
Change-Id: Ib3d7db13d7de492eee5ad25cf5c88239be9e9fbf
2020-03-04 13:33:21 +01:00
Pau Espin b69377112c Introduce LTE Transmission Mode and RLC DRB mode params
Change-Id: I38f247f266ba736cdbb6f36ba5673b8fd46a8d67
2020-02-27 18:14:24 +01:00
Pau Espin 9b8823efd7 Use parametrized scenario to set ENB num_prb
Change-Id: Iec7d7e6312aee6f4e4ce6710bc78a144beff2f39
2020-02-27 17:16:47 +01:00
Pau Espin 1deb1ae0bc enb: Add modifiers for num_prb
Change-Id: I0b8c834f1c67cc4bf4d07d03358ba2012331cbde
2020-02-27 15:37:08 +01:00
Pau Espin 6c42bb584b srs_enb: Make num_prb a config parameter
Change-Id: I336e71f53556596050cf3eb55a7810a009dbf7a8
2020-02-27 15:05:11 +01:00
Pau Espin a9a2fe2ad3 srsLTE: Support configuring different RF backends
Before this patch, only virtual RF through ZeroMQ was supported.
This patch allows configuring srsUE and srsENB to use a real SDR with
UHD/SoapySDR backend connected through a physical RF network, while
still keeping compatibility to run on virtual RF ZeroMQ network, based
on the resources used (controlled by scenarios). For instance, one can
first run a suite through the phyisical RF (using 2 UHD-controlled SDRs)
and afterwards with ZeroMQ using the following default-suites.conf:

- 4g:srsenb-rftype-uhd+srsue-rftype-uhd
- 4g:srsenb-rftype-zmq+srsue-rftype-zmq

Change-Id: I7dbbe328f4c0225fe74e878bb2da13fe39ccf049
2020-02-20 15:54:33 +01:00
Pau Espin f0a1af567f default-suites.conf: Run 4g test suite (srsLTE ZeroMQ)
Change-Id: I3f8c3588d7b139f044462d02069919256126bf57
2020-02-13 18:07:18 +01:00
Pau Espin c8b0f9359e Initial srsLTE support
2 tests (iperf3, ping) working against a full srs{UE,ENB,EPC} network
using ZeroMQ backend for RF (so no real RF support yet, that will come
next).

Related: OS##4295, OS#4296

Change-Id: I290c0d79258a9f94f00c7ff2e1c6c5579c0e32f4
2020-02-13 18:07:18 +01:00
Pau Espin ab2ffae89a resources.conf.prod: sysmocell500 new firmware now supports TRXDv1
Change-Id: Iec50662580479bf7b6dc08d08a1de8075b2da078
2020-02-12 19:04:55 +01:00
Pau Espin e0a3d3eeed default-suites.confg: Add suites to test LimeNet-micro
Change-Id: I7f774e7bf6539c5afd1d3e35da765ba8d702fdb7
2019-11-26 14:39:36 +01:00
Pau Espin dd71022af7 bts_osmotrx: Add support to run osmo-trx on LimeNet-micro
bts_osmotrx will check if target host can run the inst, and otherwise
run osmo-trx-lms already present in the system (installed by other
means). This way same class can be used both ways, since the only real
difference between the 2 scenarios is:
* copying inst vs not copying it.
* Running binary from inst vs running it from PATH.

This commit does not provide a mechanism to make sure the osmo-trx or its
dependencies are up-to-date in the target system. A solution for that
will be provided separately.

Related: SYS#4663
Change-Id: I6bd76f6d7e0cb2b6f7bdde971b6515846048a341
2019-11-26 14:33:11 +01:00
Pau Espin c18c5b82ca bts_osmotrx: Allow Setting Rx/TX paths through resources.conf
Change-Id: Iddb0f20366c3242098bdf869f39fc3e2244c13e7
2019-11-26 14:24:24 +01:00
Pau Espin 1a89d44463 resources.conf: Mark osmo-bts-trx as supporting a5/3
Change-Id: I478e0719589a8055e7b16536e679d2801efc5caf
2019-11-26 14:19:37 +01:00
Pau Espin 7e1ee5044b Revert "resources.conf.prod: Use different ARFCN for sysmocell-5k"
This reverts commit 91199a3137.

Since we now support powercycling the SC5, we don't longer need to use a
different ARFCN for it.

Change-Id: Ie8b49c556c90b4a97a73695a93ac4108660a217f
2019-09-10 16:45:35 +02:00
Pau Espin 55cee160b0 Support SC5 power cycling through powersupply
* Add powersupply related code to bts_osmotrx.py to power cycle the
board.
* Each time the board is started, we need to unlock the RF (start TRX
implementation).

Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2
2019-09-10 16:45:35 +02:00
Pau Espin b3572001ea Add testsuite to check osmo-trx with TRXDv0
Change-Id: I8e87aa5e24d1ed0737ec50e6a0f7fd8779a3c15b
2019-09-10 11:44:07 +02:00
Pau Espin 449c647f8b resources.conf.prod: Fix indentation
Change-Id: Ic124c51aac26769058f0e90dc5497d16b44be085
2019-09-10 11:37:59 +02:00
Pau Espin 7e12cf3a66 default-suites: Drop multi-trx osmo-trx-lms tests
The feature is not supported yet and it seems to be leaving osmo-trx-lms
in a zombie state preventing it to exit and blocking other tests.
Let's disable it until this feature is working properly under manual
use.

Related: OS#4151
Change-Id: Ic255481e6f1fbbf06c4576f924cf27ae80567801
2019-08-14 12:32:55 +02:00
Pau Espin 91199a3137 resources.conf.prod: Use different ARFCN for sysmocell-5k
Due to a bug in sysmocell-5K's TRX implementation, it may keep polluting
the air transmitting after the BTS is disconnected. This could cause
interferences with other tests. Correct fix would be to RF lock it after
test finishes (through ccli), but let's simply use a different ARFCN for
now.

Related: OS#4129
Change-Id: I6d5555aa8740b262ee92110987189c076db44f76
2019-07-26 11:47:43 +00:00
Pau Espin 0cde25f1d9 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
2019-07-24 20:53:03 +02:00
Pau Espin 3f2712eaf9 resources.conf.prod: Update config to use new smart socket HW setup
Change-Id: I5cfce927569b6a2d8ca57d3394116bbcff3eee56
2019-04-18 23:59:12 +02:00
Pau Espin 9e2ef07e04 default-suites.conf: Add tests for OC2G
Change-Id: I5599c86565ebb6d7d6931d36fd49e57fe2020d1f
2019-03-27 14:00:55 +01:00
Pau Espin feb66e714a Integrate osmo-{bts,pcu}-oc2g
Change-Id: I446e27039f75e63c2870d751c190a4fd76947000
2019-03-27 13:50:41 +01:00
Holger Hans Peter Freyther c02b96e77b nitb_netreg_mass: Provide 100 subscribers
Change-Id: I386885f4179d4fc2df23cc48cd1eda850b5a990b
2019-03-07 10:05:48 +00:00
Holger Hans Peter Freyther 10501ccc8e resource: Add a mobile resource for the virtual test
Add a new resource and make a reservation in the suite.

Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc
2019-03-07 09:39:39 +00:00
Pau Espin 8910fbb9a8 resources.conf.prod: Add dev_args to select specific Lime device
Change-Id: I6ef234edb06031644758174e93a9d3817d0acc1f
2019-03-06 18:31:47 +01:00
Holger Hans Peter Freyther c1d705f28e resources: Introduce a separate resource file for the virtual tests
Create a dedicated resources file for running "virtual" tests. If all
components run on the same machine we can avoid having to manage
separate network.

Change-Id: I0da1267a71dc06fd06f3cf4fc3dcfefda4bcf40b
2019-02-20 20:38:21 +00:00
Holger Hans Peter Freyther d2db10d80e ms_driver: Add a virtual bts and make use of it
It's very close to the osmo-bts-trx but without osmo-trx. Modify
the suite to make use of this BTS.

Change-Id: I9f5a2501eb4473ccf2287c902ee207c6a45a1bc5
2018-12-13 10:17:02 +00:00
Pau Espin 8028463e57 Add and use compatible scenario when testing IPA dynts with nanoBTS
nanoBTS doesn't support SDCCH8 in TS!=1 according to osmo-bsc code.
Let's use in this case TCH/H to make sure they are not used for the test
(since we require osmo-bsc to use full rate codecs for the call).

Change-Id: I37f3fe813d4074fbfe64ff3176048e7d25d470e2
2018-11-30 11:30:33 +00:00
Pau Espin 5686602a98 resources.conf: Set UHD identifiers on B200 devices
osmo-trx-uhd uses these args during device search/selection process. As
those were not set until now for B200, it means when a B200 was used by
osmo-gsm-tester any UHD device could be picked up and used by UHD.
That was actually happening since inclusion of UmTRX devices in Prod
setup, when running tests against desired B200, actually the UmTRX
device was being used.

Change-Id: I696bbc800b05fdd9a68a77f363d76dcc53ef24ee
2018-11-23 13:42:36 +00:00
Pau Espin 289383c914 resources.conf.rnd: gobi2k changed by ec20
Given current bad support of most features used, gobi2k modem was
removed and an EC20 was added instead.

Change-Id: I2df38547978c7d2b1a1309f6e73b5a59413e08ff
2018-11-19 09:40:24 +00:00
Pau Espin 4a6324742a default-suites: Enable tests for LimeSDR-USB
Change-Id: I896ea76f1d2847ec014a62c87220d184b95d1dd2
2018-11-18 20:30:02 +00:00
Pau Espin b79d39eb2c default-suites: Add tests for UmTRX
Change-Id: I0d0fe17676550a96d9bcf795faf43f7e6b82fb1a
2018-11-09 13:34:18 +00:00
Pau Espin e7f9f41e12 resurces.conf.prod: Add UmTRX device
Change-Id: I11f3275bddcc1c0c5bcd75e6a32f040a8f7c1174
2018-11-09 13:34:18 +00:00
Pau Espin a89d2e31d6 resources.conf.prod: Update modem info after HW upgrade
A new quadmodem with 4xEC20 has been added to the Prod setup.

Change-Id: I51f0b7dd7a1857d34fc2c5076016caeffa15240d
2018-11-06 15:47:19 +00:00
Pau Espin fcdf34ade8 resources.conf: ec20: Enable voice support
It was tested that it could do MO and MT voicecall just fine as SierraW
modems.

Change-Id: Ie14c00f9f80e00fdbb52ab82a53b4b5a187d41e7
2018-10-31 09:59:45 +01:00
Pau Espin 8cecdb2ae3 default-suites.conf: Enable testing egprs
Change-Id: I1885e2a749e62547f60b9c35e15f1277b2627bb4
2018-10-31 09:59:45 +01:00