Commit Graph

107 Commits

Author SHA1 Message Date
Oliver Smith bcde1d0538 Update git URLs
git.osmocom.org has been deprecated, use gerrit or gitea urls instead.

Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Git_infrastructure
Related: OS#6251
Change-Id: I03a06d23e87a75257eb731a97facd7a67c40a2c6
2023-11-29 14:22:08 +01:00
Vadim Yanitskiy 6bdbcc2446 templates: fix deprecated BTS type: s/sysmobts/osmo-bts/
This change fixes the following deprecation warning:

% BTS type 'sysmobts' is deprecated, use 'type osmo-bts' instead.

Change-Id: Iab1a0d14de5349438e73edfb57be4f7271afbfef
2023-06-21 18:48:58 +07:00
Harald Welte 882b8aee01 update git URLs (git -> https; gitea/gerrit)
Change-Id: I5f51b260445624759e77a70c5065838b29ec8c01
2022-06-18 12:05:50 +02:00
Pau Espin 85968eef35 ttcn3: Use osmocom registry to pull ttcn3-bts-test
Since recently, the ttcn3-bts-test image is available in the osmocom
registry. Let's use that one instead of the sysmocom one.

The imaqge is built and pushed to the registry regularly by osmocom
jenkins job registry-rebuild-upload-ttcn3-bts-tests (see
osmo-ci.git/jobs/registry-rebuild-upload-titan.yml).

Related: SYS#5765
Change-Id: I6de9719830290aa7f3ca80a6080ed37f107bdc16
2021-12-20 11:41:46 +01:00
AlaiaL 855e712bc0 srs-enb: adds support to the malloc interceptor.
Adds support to the malloc interceptor for the SRS eNodeB. This interceptor will generate a log file that lists the mallocs, reallocs and frees produced by the srsenb.

Change-Id: I0078020468f58bdd70b0b5de879eb58192f947a6
2021-06-11 08:26:58 +02:00
AlaiaL 5f9a763c56 4g-iperf3-bidir: modified the test to parameterize the number of ue in the test.
Parameterize the iperf3 bidirectional test for the 4g test suite to execute a
given number of UEs. By default, the number of ue is 1.

Change-Id: I34fb436d581eda12388819b5dee9a3bafd419a7f
2021-06-11 08:26:58 +02:00
AlaiaL 63d33de35f 4g-iperf3-dl: modified the test to parameterize the number of ue in the test.
Parameterize the iperf3 downlink test for the 4g test suite to execute a
given number of UEs. By default, the number of ue is 1.

Change-Id: Ifafea196289d1ce0d35ae66c6564266ba123b27a
2021-06-11 08:26:58 +02:00
AlaiaL 8ff29392e3 4g-iperf3-ul: modified the test to parameterize the number of ue in the test.
Parameterize the iperf3 uplink test for the 4g test suite to execute a
given number of UEs. By default, the number of ue is 1.

Change-Id: I4b006df04bd1af6c117bcb25e6a6b1609ac732fb
2021-06-11 08:26:58 +02:00
AlaiaL e9d7f5f9b6 iperf: adds the option to define the packet length for udp.
Added the feature to configure the packet length in udp iperf. Added a modifier to select the length value.
The default value is configured to 1460.

Change-Id: Ic886faa82b7cb25f2bce685eb80910623e4ff686
2021-06-11 08:26:58 +02:00
Pau Espin 3ccf09f5c0 sysmocom/defaults.conf: Fix recently changed node name
This node was changed recently but this file was not updated.

Change-Id: Id5df83a356579340259d9d02ebc621f298151599
2021-05-12 18:06:06 +02:00
Andre Puschmann 6c985372a1 ms_srs: add 5G NSA support
extend the MS to allow for NR carriers

Change-Id: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16
2021-05-05 14:26:57 +02:00
Andre Puschmann 6e081aa1dc amarisoft_enb: add NR support
this patch adds the ability to configure NR cells with
Amarisoft eNB. It adds the new DRB-NR template and updates
the normal enb.cfg template to allow using it as LTE only
or with NR cells (5G NSA).

Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe
2021-05-05 14:26:56 +02:00
Andre Puschmann 88b7fd2af6 ms_srs: add short_sn as config option for srsUE
this allows to change the announced support for PDCP
short sequence number lengths

Change-Id: Ibcf72dbb424ae3b6a87b60febb4dadf716407612
2021-05-03 13:50:11 +02:00
Andre Puschmann bde48c3767 ping: add a short delay after UE is attached before starting ping
this is mainly to avoid ping losses in 5G NSA during NR attach.
No impact on 4G though.

Change-Id: Ic507dc4a24e8576b0ec3b301ee8e340ed553b300
2021-05-03 13:43:44 +02:00
Andre Puschmann 4462067afc 4g: add overlay template path for all suites
this allows, without changing the test case, to use a custom
template, which is useful for development. By default, nothing changes
and the OGT template is used

Change-Id: Ifc43ac41b16813116f2559da5223a6fecc186125
2021-05-03 13:43:44 +02:00
Andre Puschmann 47f4f09592 ping.py: add stricter pass/fail check
the ping test should only pass if not a single ping is lost

Change-Id: If089f77df1ffe991f26f1546558d51aac242df83
2021-05-03 13:43:44 +02:00
Andre Puschmann 31ecf59ffd ms_amarisoft: extend AmariUE to support custom frequency bands
this patch adds generic support for custom frequency bands to the ms class.
it then extends the config template for AmariUE to use them.
we set the default values for EARFCNs for DL/UL to the old values.

Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724
2021-05-03 13:43:44 +02:00
AlaiaL a17140fee4 enb_srs: add support for eNB traces
this patch adds support for srsENB event tracing. it provides
a cfg scenario to enable it.

Change-Id: Icb2342acac5db87a0889cbf1b6c7bb1ad26c16fa
2021-05-03 13:43:44 +02:00
Pau Espin 0696c60812 Initial Open5GS support
Change-Id: Iff8b88dc22d8f156572839abb48b0c1377c55e33
2021-03-30 14:17:47 +02:00
Pau Espin 965ed62fd2 sysmocom/default.conf: Add missing default value for force_ul_amplitude
Change-Id: I04218dca21f27e32d7c85a74a3e9bbf63b499357
2021-03-16 18:36:54 +01:00
Pau Espin 3bb14bedfe sysmo/defaults.conf: Fix attribute name
According to schema, the name is cipher_list.
Same goes for "integrity".

Fixes: a81801558e
Change-Id: Ib7b48ce207b96ea5f5b59db08320563be40edba1
2021-03-16 17:18:47 +00:00
Andre Puschmann 6246a9db19 iperf3_bidir: add extra test for bi-directional iperf test
Change-Id: Ibb62f53dbb15bc4788c92ebb2dee70e31dd851de
2021-03-16 18:09:49 +01:00
Andre Puschmann 1a1970721a mod-enb-ncells@.conf: add scenario file to select number of cells
Change-Id: Ib599de56b0b51a125555895014d78d3d649c01a0
2021-03-16 18:09:49 +01:00
Andre Puschmann 001ca8595d epc-label@.conf: add scenario to select runnode based on label
this allows to select the resource/machine the EPC runs on based on the label

Change-Id: I710c67ad5a11bd33071acd779e19835ae49ce4a3
2021-03-16 18:07:22 +01:00
Andre Puschmann c487f7438c ms_srs: add config scheme to select NAS log level
we've provided only all_log_level so far but sometimes it's needed
to select the level per layer. This patch adds the ability
to do so for the NAS layer in the UE.

Change-Id: Iab2bce65e8af81f6d344849c97952e6441cb2846
2021-03-16 18:04:40 +01:00
Andre Puschmann aec7fa5390 {enb,ms}-label.conf: raneme and add modifier to select eNB/MS based on label
Change-Id: I26ea160b65b9dd5ef3e5ca1100d4541a0bbcbb27
2021-03-16 18:04:40 +01:00
Andre Puschmann d1732d7820 srsepc.conf.tmpl: double value of T3413 (paging timer)
we've already incrased the t3413 value in 9c7fd618d2
but realized it may still be too low in some cases.

we set it to 12s now.

Change-Id: I9c3c59c0ff8f539a44b420f8ba31eea016c211ce
2021-02-08 17:48:09 +01:00
Andre Puschmann b79a0c5e75 scenarios: remove ncells@ scenario and define number of cells explicitly
the specific cell scenarios files already contain cell-related
information so having a extra ncells scenario seems too much overhead.
furthermore, in more complex tests its helps to reduce the filename/path
lenght to avoid hitting the 255 character limit

Change-Id: If022d9e8d239805ee1280fb52660e68dda7484a0
2021-02-08 17:48:09 +01:00
Nils Fürste a81801558e enb: Set cipher and integrity via scenario file
This patch enables setting cipher and integrity algorithms
in Amarisoft eNB and srsENB via scenario files. If no
settings are defined following defaults are applied:
- Cipher algorithm: EEA0, EEA2, EEA1
- Integrity algorithm: EIA2, EIA1, EIA0

Example of setting cipher algorithms:
- 4g:srsue-rftype@uhd+srsenb-rftype@uhd+mod-enb-cipher@eea1+mod-enb-cipher@eea0+mod-enb-nprb@6

Change-Id: I595206b7d49016fb6d0aec175c828d9537c53886
2021-02-08 17:48:09 +01:00
Andre Puschmann 29263b7389 4g: add checks for received PRACHs for ping tests
the tests already check for sent PRACHs, this will
also check for received PRACHs on the eNB to make
sure we don't detect any fake PRACHs during the tests.

Change-Id: Ib23056b1ad4b18a7dde6cd0c997f5114ac2acb61
2021-02-08 17:48:09 +01:00
Nils Fürste a8263f40e9 Introduce Android UEs as new modems
To expand the test capacities we would like to introduce
Android UEs as new modems. Currently the following tests
are supported:
- Ping
- iPerf3 DL/UL
- RRC Mobile MT Ping

In the following is a small description.

Prerequisites:
    - Android UE
        - Rooted (Ping, iPerf, RRC Idle MT Ping)
        - Qualcomm baseband with working diag_mdlog (RRC Idle MT Ping)
        - iPerf3
        - Dropbear
    - OGT Slave Unit
        - Android SDK Platform-Tools
	  (https://developer.android.com/studio/releases/platform-tools#downloads)
        - Pycrate (https://github.com/P1sec/pycrate)
        - SCAT
            clone https://github.com/bedrankara/scat/ & install dependencies
            checkout branch ogt
            symlink scat (ln -s ~/scat/scat.py /usr/local/bin/scat)

Infrastructure explaination:
The Android UEs are connected to the OGT Units via USB. We
activate tethering and set up a SSH server (with Dropbear).
We chose tethering over WiFi to have a more stable route
for the ssh connection. We forward incoming connections to
the OGT unit hosting the Android UE(s) on specific ports
to the UEs via iptables. This enables OGT to issue commands
directly to the UEs. In case of local execution we use ADB
to issue commands to the AndroidUE. The set up was tested
with 5 Android UEs connected in parallel but it should be
scalable to the number of available IPs in the respective
subnet. Furthermore, we need to cross compile Dropbear
and iPerf3 to use them on the UEs. These tools have to be
added to the $PATH variable of the UEs.

Examplary set up:
In this example we have two separate OGT units (master
and slave) and two Android UEs that are connected to the
slave unit. An illustration may be found here: https://ibb.co/6BXSP2C

On UE 1:
ip address add 192.168.42.130/24 dev rndis0
ip route add 192.168.42.0/24 dev rndis0 table local_network
dropbearmulti dropbear -F -E -p 130 -R -T /data/local/tmp/authorized_keys  -U 0 -G 0 -N root -A

On UE 2:
ip address add 192.168.42.131/24 dev rndis0
ip route add 192.168.42.0/24 dev rndis0 table local_network
dropbearmulti dropbear -F -E -p 131 -R -T /data/local/tmp/authorized_keys  -U 0 -G 0 -N root -A

On OGT slave unit:
sudo ip link add name ogt type bridge
sudo ip l set eth0 master ogt
sudo ip l set enp0s20f0u1 master ogt
sudo ip l set enp0s20f0u2 master ogt
sudo ip a a 192.168.42.1/24 dev ogt
sudo ip link set ogt up

Now we have to manually connect to every UE from OGT Master
to set up SSH keys and verify that the setup works.
Therefore, use:
ssh -p [UE-PORT] root@[OGT SLAVE UNIT's IP]

Finally, to finish the setup procedure create the
remote_run_dir for Android UEs on the slave unit like
following:
mkdir /osmo-gsm-tester-androidue
chown jenkins /osmo-gsm-tester-androidue

Example for modem in resource.conf:
- label: mi5g
  type: androidue
  imsi: '901700000034757'
  ki: '85E9E9A947B9ACBB966ED7113C7E1B8A'
  opc: '3E1C73A29B9C293DC5A763E42C061F15'
  apn:
    apn: 'srsapn'
    mcc: '901'
    mnc: '70'
    select: 'True'
    auth_algo: 'milenage'
  features: ['4g', 'dl_qam256', 'qc_diag']
  run_node:
    run_type: ssh
    run_addr: 100.113.1.170
    ssh_user: jenkins
    ssh_addr: 100.113.1.170
    ue_ssh_port: 130
    adb_serial_id: '8d3c79a7'
  scat_parser:
    run_type: local
    run_addr: 127.0.0.1
    adb_serial_id: '8d3c79a7'

Example for default-suites.conf:
- 4g:ms-label@mi5g+srsenb-rftype@uhd+mod-enb-nprb@25+mod-enb-txmode@1

Change-Id: I79a5d803e869a868d4dac5e0d4c2feb38038dc5c
2021-01-13 19:45:56 +01:00
Andre Puschmann eee4f5f715 intraenb-intrafreq-ho.conf: add eNB to cell config
make sure to have the right eNB that matches the
cells neighbor ECIDs, otherwise the eNB may trigger
a S1 HO if the eNB ID is set elsewhere

Change-Id: Id494ac1984846e78a6456bb6a17e72d63c9dacf5
2021-01-07 16:30:25 +01:00
Pau Espin Pedrol d95d494fcc sysmocom: Port nitb_netreg_mass suite to osmo split network
Change-Id: I221df84d76f73e15eed98036b31adc8089c8dc99
2020-12-21 18:32:43 +01:00
Pau Espin Pedrol 929a4f963c sysmocom/resources.conf.virtual: remove no longer existing arfcn resources
ARFCN are not resources anymore since a recent commit.

Fixes: ecce402f43
Change-Id: Icc0971b285e8db085670808b7d7bb98c38db2753
2020-12-21 18:25:32 +01:00
Pau Espin Pedrol 7ecfaa6a0f sysmocom resources.conf.prod: Update modem paths + add new modems after HW upgrade
Change-Id: I346a5bb38270a32695ec73994179bd75d873b67a
2020-12-11 13:28:28 +01:00
Neels Hofmeyr 7187510def run handover_2G in default-suites.conf
Change-Id: Ic6bb013cc2c395211eeb86fe7a3d3f42671793c7
2020-12-11 00:41:17 +01:00
Neels Hofmeyr de6743de9a add handover_2G suite, with handover.py test
Via VTY, handover two lchans of a voice call from bts0 to bts1 and back.

New scenarios/bts1-* allow selecting various types for bts1,
complementing the already existing files for selecting bts0.

Change-Id: I0b2671304165a1aaae2b386af46fbd8b098e3bd8
2020-12-11 00:41:17 +01:00
Neels Hofmeyr ecce402f43 configure fixed ARFCN per bts
Remove ARFCNs as a concept from resource pool, assign a fixed ARFCN to
each BTS and TRX in the resource pools.

Using ARFCNs on specific bands as resources was an idea that is hard to
implement, because specific BTS dictate selection of bands which
influences which ARFCNs can be picked. That means reserving ARFCN
resources is only possible after reserving specific BTS resources, but
the tester is currently not capable of such two-stage resolution.

Writing handover tests, I got the problem that both BTS in a scenario
attempt to use the same ARFCN.

The by far easiest solution is to assign one fixed ARFCN to each BTS and
TRX. If ever needed, a scenario modifier can still configure different
ARFCNs.

(Due to uncertainty about OC2G operation stability, I prefer to leave
OC2G on ARFCN 50, as it happened to end up being configured before this
patch.)

Change-Id: I0a6c60544226f4261f9106013478d6a27fc39f38
2020-12-11 00:19:13 +01:00
Neels Hofmeyr 2bd357cf02 prod: after hardware move, adjust modem pci for sierra_1st and sierra_2nd (ONLY TWO)
Doing only the first two modems so far because I need them for handover
runs. The other modems are still todo!

Change-Id: Ibd71acfc76c01ffd105abe5effc1d246b1e65f85
2020-12-03 01:02:11 +01:00
Andre Puschmann 65a9e741ad ms_amarisoft: fix various regressions
this patch fixes some regressions in the Amarisoft UE class,
the config template, etc. that have been undetected bc we never
executed tests with it.

Change-Id: I397e675a4018acf3372a3b7e29fd864703b2b919
2020-11-23 12:33:52 +01:00
Andre Puschmann 25bc1e07e4 add scenario to modify bandwith of 2 eNB objects
required for Inter-eNB HO configs, for example.

Change-Id: Iaf053941ff31c4ba94edf67fc54c0f1c1441577d
2020-11-20 13:03:07 +01:00
Andre Puschmann 3166b6353e enb: add QAM64 support for UL
* add new UE feature
* enable in srsue.conf.templ
* add new table for maximum rates
* add config scenario to enable SIB option for QAM64

Change-Id: I6ac2c9989a761e91b93d76c2507f55f0140b202d
2020-11-20 11:50:43 +01:00
Andre Puschmann 76021babc7 cell_modifiers: refactor HO cell configs
* rename intrafreq vs intraenb
* add missing mandatory params

Change-Id: Icc1fe5c1711ecbed2f1b8b1e6a0b51c2d28ec651
2020-11-20 11:50:43 +01:00
Andre Puschmann e8ab10cb22 enb: add scenario file for inter-eNB HO with two cells
Change-Id: I356a81814a2d7714a1a5252aa357257901fa6227
2020-11-12 09:23:36 +01:00
Andre Puschmann 5e6d5ffd01 enb-cells_2ca: add missing cell params
the default params are set for a single cell in defaults.conf
but this 2 cell config requires them to be set explicitly.

Change-Id: I8b3c486eb3e42aeb04b6a7548d3f0de2aa40ee0c
2020-11-11 17:16:21 +01:00
Andre Puschmann d253a101a1 iperf3_{dl,ul}: adapt pass/fail threshold
change pass threshold to 80% of the max rate for
half of the testduration (rolling average).

the overall average might be lowered because of a slower
TCP start or a late UE attach.

Change-Id: I8a545b8175784e9d6b49d6bf80f637ef7aa731f7
2020-11-11 12:47:47 +01:00
Pau Espin 998be6574b sysmocom: Introduce suite 4g2enb
Change-Id: I73b1a5e07f81fa1e3d3db1db243a3d0b137bda8e
2020-11-09 19:12:22 +01:00
Pau Espin ef7256a138 enb: Support cells from different ENBs in ncell_list
Change-Id: I1242c56ff42caea06e7f96317def82064fd11325
2020-11-09 18:54:26 +01:00
Andre Puschmann a7fd39448c srsenb_rr.conf: add PCI, TAC and root_seq_idx as cell param
make sure to insert cell specific TAC, PCI and root seq ind
into cell config and do not depend on cell index for a particular
enb. This causes issues in multi-eNB setups.

Change-Id: I6642128a449a0562dd23f7fa393ff48ae2503006
2020-11-09 13:10:21 +01:00
Pau Espin 17f7c38755 sysmocom: emergency_preemptive_call.py: Avoid test failure if 2nd call not fully established
It may happen that the non-emergency call MT leg is still not properly
released when the emergency call MT leg is to be assigned a TCH, meaning
BSC will fail with an Assignment Failure upon Assignment request from
MSC.
The test sometimes passed and sometimes didn't, due to above mentioned
race condition. Let's relax a bit the test expectancies to have it
always passing, while still verifying preemption happens, and MT phone
is reached.

Related: OS#4549
Change-Id: I3697227cac56a1327f9ea08c5c2f52568e8d2a8a
2020-10-21 18:02:07 +02:00