Compare commits

...

878 Commits

Author SHA1 Message Date
Vijay Chadachan
3b7708d8fe Fixed compilation issues 2022-07-30 20:29:11 +02:00
Vijay C
4356ca5871 Code review comment updates and SIDL license changes 2022-07-30 19:57:51 +02:00
Vijay Chadachan
757631113d Removed the files that are not required 2022-07-30 19:57:51 +02:00
Vijay Chadachan
86ef0bcc67 Removing the reference to MSC . 2022-07-30 19:57:51 +02:00
Vijay Chadachan
0b54ccd0f3 Initial commit for adding the System Simulator(SS) in OAI
The feature is to enable a new mode in OAI to run as a System Simulator in
the TTCN env setup. The SS mode runs the eNB in L2-simulator mode and it
needs the Multi UE Proxy running for the functionality to work.

Following is summary details of the changes that are submitted as part of
this commit:

- Added the system simulator functionality as per 36.523 under openair3/SS
 directory

- The SS has the Sidl(Sequans Interface Descriptive Language) interface
towards northbound.

- Following port support at SS are implemented
   -SYS_PORT: For handling SYTEM_CTRL message from TTCN
   -SRB_PORT: For handling RRC_PDU message from TTCN
   -VNG_PORT: For handling Noise generation cmd from TTCN

- The Sidl directory has the structures defintion for the northbound
  interface

- Added the inferace to Multi UE proxy using the UDP interface, the udp
  task module of OAI is re-introduced to manage this interface

- Modified the eNB configuraiton files to add the SS mode configuration
  details

- Added new ITTI messages for SS mode operation

- Added new SS Mode context structures in ran_context.
2022-07-30 19:57:51 +02:00
Robert Schmidt
add469e7ca Merge branch 'integration_2022_wk30' into 'develop'
integration_2022_wk30

See merge request oai/openairinterface5g!1626

MR !1616 NR SA tutorials v2
MR !1620 nr_pdcp: nia1 implementation
MR !1622 CI: do not trigger tests if nothing is tagged NSA
MR !1623 Fix for ssb subcarrier offset in case of f<3GHz
MR !1606 code maintenance
MR !1568 Add undefined behavior sanitizer in build_oai, fix some errors
MR !1587 Dynamically build L2sim proxy
2022-07-28 11:59:36 +00:00
Robert Schmidt
08e30bf4ab Merge remote-tracking branch 'origin/l2proxy-build' into integration_2022_wk30 2022-07-28 09:45:24 +02:00
Robert Schmidt
57c545d4b3 Merge remote-tracking branch 'origin/use-ubsan' into integration_2022_wk30 2022-07-28 09:45:10 +02:00
Robert Schmidt
c663688fb2 Merge remote-tracking branch 'origin/accumulated-fixes-2022june' into integration_2022_wk30 2022-07-26 17:22:00 +02:00
laurent
b4331bf7f4 code maintenance: old errors 2022-07-26 17:20:09 +02:00
Robert Schmidt
878491334f Merge remote-tracking branch 'origin/another_SSB_bugfix' into integration_2022_wk30 2022-07-26 17:15:32 +02:00
Robert Schmidt
8b26160d4d Merge remote-tracking branch 'origin/fix-jenkins-trig-nsa' into integration_2022_wk30 2022-07-26 17:15:16 +02:00
Robert Schmidt
c59912d7ee Merge remote-tracking branch 'origin/nr-pdcp-nia1' into integration_2022_wk30 2022-07-26 16:39:11 +02:00
Robert Schmidt
a20a6ba431 Merge remote-tracking branch 'origin/NR_SA_Tutorials_v2' into integration_2022_wk30 2022-07-26 16:38:45 +02:00
Robert Schmidt
e1798745ef Dynamically build L2sim proxy 2022-07-26 09:54:53 +02:00
francescomani
228bd5f16d fix for ssb subcarrier offset in case of <3GHz 2022-07-22 17:01:47 +02:00
Robert Schmidt
3c2375eada CI: do not trigger tests if nothing is tagged NSA
The previous version would trigger sub-pipelines (LTE-2x2, ...) if no MR
had the NSA tag (without a commit, etc). Of course, this would make all
pipelines subsequently fail (as not enough arguments, such as the
commit, were given). In this commit, we read the output of `jq` from
JSON, which will result in an empty list if no MR is tagged with the NSA
label (and the output in the console will be nicer as well).
2022-07-21 17:57:26 +02:00
Cedric Roux
667b8e5eed nr_pdcp: nia1 implementation
We reuse existing code from eia1 for actual computation. Maybe not the most
efficient. To be revised if needed.

Some hacks in CMakeLists.txt were introduced to compile
phy simulators. To be removed at some point.
2022-07-21 16:59:38 +02:00
Robert Schmidt
72bf1b1d3c Merge branch 'integration_2022_wk29' into 'develop'
integration_2022_wk29

See merge request oai/openairinterface5g!1619
2022-07-20 16:30:58 +00:00
luis_pereira87
b1a3cbb068 Fix segmentation fault when changing BWP 2022-07-20 12:55:17 +01:00
laurent
ab36474811 dirty workaround in LTE get_prb(): it is not good, but keep safe in memory instead of writing outside the range 2022-07-20 10:40:32 +02:00
laurent
017fd225bc fix ubsan detected errors 2022-07-20 10:40:32 +02:00
Robert Schmidt
db7f39ba19 Use correct structure in sctp_eNB_accept_associations() 2022-07-20 10:40:32 +02:00
Robert Schmidt
6b757c5320 Correct array sizes in dlsim 2022-07-20 10:40:32 +02:00
Robert Schmidt
b07a167370 Correct indentation in nr_rx_pdsch() 2022-07-20 10:40:32 +02:00
Robert Schmidt
24b651b465 Provide build_oai option UBSan 2022-07-20 10:38:44 +02:00
Robert Schmidt
bc3600a3f9 Merge remote-tracking branch 'origin/f1-undefined' into integration_2022_wk29 2022-07-19 18:12:48 +02:00
Robert Schmidt
fcb07ef5fd Merge remote-tracking branch 'origin/NR_SSB_fix' into integration_2022_wk29 2022-07-19 18:12:40 +02:00
Robert Schmidt
82c62ecd5a Merge remote-tracking branch 'origin/rename_var_to_pusch_DTX' into integration_2022_wk29 2022-07-19 18:12:31 +02:00
Robert Schmidt
05e859b1ef Merge remote-tracking branch 'origin/fix-testbenches-doc' into integration_2022_wk29 2022-07-19 18:12:23 +02:00
Robert Schmidt
6dac7d674c Merge remote-tracking branch 'origin/develop-SRS-Measurements' into integration_2022_wk29 2022-07-19 18:12:14 +02:00
Robert Schmidt
65c9af7d48 Merge branch 'ran-sa-b200-module-sabox-container' into 'develop'
Add basic SA test to RAN-Container-Parent

See merge request oai/openairinterface5g!1615
2022-07-19 07:30:37 +00:00
Robert Schmidt
04251d5b06 Correctly initialize protocol_ctxt in F1 code
In the previous version, not all fields, and in particular the
`eNB_index`, were not initialized, leading to errors when they were used
(e.g., the PDCP code checks that eNB_index == 0).
2022-07-18 17:39:55 +02:00
Robert Schmidt
16c758ae09 CI: Drop IP check when connectiong via SSH and pubkey 2022-07-15 16:00:52 +02:00
luis_pereira87
43298fd02c Address merge request review comments 2022-07-15 13:30:45 +01:00
Robert Schmidt
ae05420c84 CI: log error if oai-amf container is not present for AMF IP addr retrieval 2022-07-15 13:35:19 +02:00
luis_pereira87
0700d5d078 Add 5G SA end-to-end, step-by-step, tutorials for OAI CN5G, OAI gNB and COTS UE 2022-07-15 11:56:44 +01:00
Robert Schmidt
52168e5201 Shut off quectel before running SA tests 2022-07-15 11:05:08 +02:00
Robert Schmidt
63daf5793b Remove useless SA test sleep 2022-07-15 11:05:08 +02:00
Robert Schmidt
0c4aa33939 Trigger SA-B200 test from RAN-Container-Parent 2022-07-14 23:57:52 +02:00
Robert Schmidt
b308cbe101 Add RAN-SA-B200-Module-SABOX-Container test 2022-07-14 23:54:53 +02:00
Robert Schmidt
4b50e4b1f6 CI: decode in getBefore() 2022-07-14 23:54:53 +02:00
Robert Schmidt
87d1a53ca3 CI: Allow publickey authentication in SSHConnection
For pubkey, checks that we are on the right machine
2022-07-14 23:53:52 +02:00
Robert Schmidt
5928d571e7 CI: Fix log message typo in UndeployObject() 2022-07-14 23:53:52 +02:00
Robert Schmidt
f1e3f7fb1f CI: Abort pipeline if DeployObject fails 2022-07-14 23:53:52 +02:00
Robert Schmidt
43c980d36b CI: NSA-B200-Container: no Qlog 2022-07-07 09:29:09 +02:00
francescomani
edcb1b2bf5 workaround for pbchsim 2022-07-07 08:57:37 +02:00
francescomani
79586c03f4 fix for pointa and ssboffset 2022-07-07 08:57:37 +02:00
luis_pereira87
24745eafca Rename variable from phy_procedures_errors to pusch_DTX 2022-07-06 08:45:48 +01:00
Roberto Louro Magueta
d68f7d6270 Add help string 2022-07-05 17:50:58 +01:00
Roberto Louro Magueta
dadadb7291 To use some casts to c16_t 2022-07-05 17:17:40 +01:00
Robert Schmidt
805b35643f Updates in TESTBench documentation
- Correct carabe name
- NR freq bands with "nXX"
- add amariue in figure
- minor changes
2022-07-05 16:38:52 +02:00
Roberto Louro Magueta
52f6d38a34 Remove more variables from nr_srs_info_t 2022-07-05 12:58:53 +01:00
Roberto Louro Magueta
53f0773624 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements 2022-07-05 11:07:43 +01:00
Roberto Louro Magueta
253e037fb2 Remove some variables from nr_srs_info_t 2022-07-05 11:07:01 +01:00
Robert Schmidt
5091682551 Merge branch 'integration_2022_wk26' into 'develop'
integration_2022_wk26

See merge request oai/openairinterface5g!1605

MR !1602 Use (std) bool instead of custom bool types
MR !1600 Discard RTX if RI changed
MR !1598 Set correct master clock rate for N320
MR !1584 enablement of statistics
MR !1603 Fix decoding multiple ULSCH in the same slot in the case of a ULSCH fails to be detected
MR !1590 Improvements and AVX2 in cpx_rotate_vector()
2022-07-04 15:03:35 +00:00
Roberto Louro Magueta
c2fee0520c Fix variable redefinition 2022-06-30 17:59:11 +01:00
Robert Schmidt
2cced7bdb5 Merge remote-tracking branch 'origin/optim-rotate_cpx' into integration_2022_wk26 2022-06-30 15:41:28 +02:00
Robert Schmidt
b7e026fda5 Merge remote-tracking branch 'origin/fix_decoding_multi_ulsch_in_the_same_slot' into integration_2022_wk26 2022-06-29 23:15:15 +02:00
Robert Schmidt
4662ccc46a Merge remote-tracking branch 'origin/stats' into integration_2022_wk26 2022-06-29 23:15:06 +02:00
Robert Schmidt
ae54a1bd05 Merge remote-tracking branch 'origin/fix-n320' into integration_2022_wk26 2022-06-29 23:14:51 +02:00
Robert Schmidt
94ca30e82b Merge remote-tracking branch 'origin/NR_layers_in_harq' into integration_2022_wk26 2022-06-29 23:14:42 +02:00
laurent
df1cffbc7f fix bug introduced by avx2 rotate_cpx change to c16_t 2022-06-29 16:52:47 +02:00
Robert Schmidt
ff5ec94d33 Address review: drop bool defines 2022-06-28 09:38:48 +02:00
luis_pereira87
d6e58c9436 Fix decoding multiple ULSCH in the same slot in the case of a ULSCH fails to be detected 2022-06-28 07:35:06 +01:00
laurent
5894bcac22 rebase develop 2022-06-27 18:48:45 +02:00
laurent
ef469b9b51 code review remarks 2022-06-27 18:35:47 +02:00
Laurent Thomas
980bb2420b fix CI discovered bug in avx2 rotate 2022-06-27 18:35:47 +02:00
Laurent Thomas
bf219fc24f avx2 and better simd algo 2022-06-27 18:35:46 +02:00
Roberto Louro Magueta
86755bc495 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-06-27 11:06:55 +01:00
Robert Schmidt
0b91791f67 Use (std) bool instead of custom bool types
OAI is riddled with boolean_t, FALSE, TRUE, etc. This makes no sense, as
there is a standard bool type, and could lead to nasty bugs if a
definition of a bool is non-standard (0 == false, true == !false). This
commit removes all non-standard bools in the whole project.
2022-06-27 10:07:48 +02:00
Robert Schmidt
6d030ea2fa Merge branch 'integration_2022_wk25' into 'develop'
integration_2022_wk25

See merge request oai/openairinterface5g!1596

MR !1549: Remove ssb subcarrier offset from config file
MR !1589: Putting all CM code in one file
MR !1592: Support Fedora 36
MR !1492: Harmonization of PUCCH Resources
MR !1581: F1: Interoperability with Accelleran CU
MR !1599: nr rlc: minor: update tests
2022-06-26 15:56:56 +00:00
luis_pereira87
a9faf533b4 Fix SA with COTS UE in monolithic mode after merge 2022-06-24 14:51:38 +01:00
Ilario FAVERO
c5b8fa5418 New command line arg for disabling stats: --disable-stats 2022-06-24 14:32:39 +02:00
Roberto Louro Magueta
07a3634e45 Change some heap allocations to stack allocations 2022-06-23 18:23:23 +01:00
francescomani
1565667908 remove rtx from list 2022-06-23 17:42:55 +02:00
Robert Schmidt
0e04fba03d Fix build warnings 2022-06-23 16:18:50 +02:00
Roberto Louro Magueta
1a4686b021 Remove UE->Msg4_ACKed from condition in nr_schedule_srs 2022-06-23 14:52:05 +01:00
Robert Schmidt
5cebe354c5 Merge remote-tracking branch 'origin/bugfix-minor-update-nr-rlc-tests' into integration_2022_wk25 2022-06-23 14:14:37 +02:00
Robert Schmidt
b37050ac6e Merge remote-tracking branch 'origin/F1_interop_ACC_n78' into integration_2022_wk25 2022-06-23 14:09:33 +02:00
Robert Schmidt
304c92c639 Fixes in conversions.h 2022-06-23 13:51:36 +02:00
Cedric Roux
4505e780c5 nr rlc: minor: update tests
Behavior for ack/nack generation has changed not too long ago but the tests
were not checked and updated.
2022-06-23 11:44:01 +02:00
Robert Schmidt
644422ebec Merge remote-tracking branch 'origin/NR_PUCCH_RRC_Resources' into integration_2022_wk25 2022-06-22 17:20:38 +02:00
Robert Schmidt
586aa46c2c Set correct master clock rate for N320 2022-06-22 16:54:35 +02:00
francescomani
6f481e09f6 abort rtx if RI decreased 2022-06-22 16:15:31 +02:00
Robert Schmidt
f6fe86c653 Fix macros to avoid warnings 2022-06-21 19:24:49 +02:00
Robert Schmidt
fe7228daee Merge remote-tracking branch 'origin/support-fedora36' into integration_2022_wk25 2022-06-21 19:11:17 +02:00
Robert Schmidt
2c226b08f4 Merge remote-tracking branch 'origin/episys-channel-model-org' into integration_2022_wk25 2022-06-21 19:11:00 +02:00
Cedric Roux
2802418c34 remove debug printf 2022-06-21 16:43:54 +02:00
francescomani
2659dce8b8 removing flag init_UL_tti_req_ahead 2022-06-21 13:49:31 +02:00
Robert Schmidt
9c02189e64 Remove nr_bler_data from physims 2022-06-21 08:54:41 +02:00
Cedric Roux
d0fa56b1de compilation fix 2022-06-20 15:15:11 +02:00
Robert Schmidt
0fe98c25a2 Avoid RHEL_RELEASE_VERSION: not defined in Ubuntu 2022-06-20 13:34:54 +02:00
francescomani
a4e2c2b799 addressing review 2022-06-20 11:58:06 +02:00
Robert Schmidt
2124e43d3a Correctly use RHEL_RELEASE_CODE for Fedora and RHEL
This reverts commit 4f44a1026b.
2022-06-20 11:33:29 +02:00
francescomani
fb6fa64bc7 Merge remote-tracking branch 'origin/develop' into NR_remove_ssb_offset_from_configfile 2022-06-20 09:33:50 +02:00
Cedric Roux
5cd674483b Merge remote-tracking branch 'origin/develop' into F1_interop_ACC_n78 2022-06-19 18:41:27 +02:00
Cedric Roux
2bed0352fd f1: remove hardcoded value, set to what is in develop 2022-06-19 18:33:57 +02:00
Robert Schmidt
4f44a1026b Remove RHEL_RELEASE_CODE define 2022-06-19 18:02:08 +02:00
Robert Schmidt
dab905519b Remove nscd from additional packages
nscd (Name service cache daemon) is not needed for running OAI
2022-06-19 18:02:08 +02:00
Robert Schmidt
2b38c78588 Add fedora36 to supported distros 2022-06-19 18:02:08 +02:00
Roberto Louro Magueta
8fee72e81f Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements 2022-06-19 02:16:41 +01:00
Robert Schmidt
12a23fb1ef Merge branch 'integration_2022_wk24' into 'develop'
integration_2022_wk24

See merge request oai/openairinterface5g!1591

MR !1382: Semi-automatic code generator for LDPC decoder for AVX2 and AVX512
MR !1521: 5G NR performance improvements for low SNR conditions
MR !1579: pthread_create, RT scheduler, and address sanitizer are incompatible in Ubuntu 18.04
MR !1588: small fix in csi configuration
MR !1583: Encoding/decoding CellGroup at MAC and fix RA with Msg3 carrying DCCH or DTCH messages
2022-06-18 13:57:58 +00:00
Robert Schmidt
ee71b0dd9b Lower error threshold for low SNR test in dlsim 2022-06-17 19:04:08 +02:00
luis_pereira87
78267db68b Revert "Update downlink MCS table" block of code to function nr_set_pdsch_semi_static to get downlink working again in NSA 2022-06-17 16:17:15 +01:00
Robert Schmidt
0c0d88b201 Better formatting for Consolidated Test Results 2022-06-17 12:17:54 +02:00
Robert Schmidt
7194a720c9 Increase 'low SNR' test's upper SNR threshold 2022-06-17 12:16:12 +02:00
Robert Schmidt
9ff4630071 Merge remote-tracking branch 'origin/NR_RRC_MAC_CellGroup' into integration_2022_wk24 2022-06-17 12:11:37 +02:00
luis_pereira87
9e27394ecc Reset feedback_slot and round values when resetting HARQ processes 2022-06-17 10:35:01 +01:00
Robert Schmidt
2399da33cb Merge remote-tracking branch 'origin/csi-multi-ues-fix' into integration_2022_wk24 2022-06-16 22:26:00 +02:00
Robert Schmidt
348ff98762 Merge remote-tracking branch 'origin/ubuntu_18_rt_add_san_incompatibility' into integration_2022_wk24 2022-06-16 22:25:46 +02:00
Robert Schmidt
032d477481 Merge remote-tracking branch 'origin/5g-nr-low-snr-performance' into integration_2022_wk24 2022-06-16 22:25:38 +02:00
Laurent Thomas
a73e500ded Add a warning for ubuntu 18.04 in build_oai 2022-06-16 21:42:46 +02:00
Melissa Elkadi
7b75305e3c pthread_create, RT scheduler, and address sanitizer are incompatible in Ubuntu 18.04
When we run with the RT scheduler and the address sanitizer in Ubuntu
18.04, pthread_create will hang and never create threads.  This adds
some explanatory text in CMakeLists.txt to explain about this issue.
2022-06-16 21:42:26 +02:00
Roberto Louro Magueta
61e42ce9c6 Consider the invalid timing advance value case for SRS estimation 2022-06-16 13:29:30 +01:00
Robert Schmidt
5761164a09 Build without AVX512 on asterix machine 2022-06-16 14:25:18 +02:00
Roberto Louro Magueta
f6cbde5343 Add const qualifier in some variables 2022-06-16 12:49:13 +01:00
Roberto Louro Magueta
4053c0c3b2 Revert log2_maxh in pusch_vars 2022-06-15 19:54:12 +01:00
luis_pereira87
cc33856ba8 Reset HARQ processes after RA when Msg3 carries a DCCH or DTCH message.
Reset ul_failure flag only after sending Msg4 otherwise gNB starts scheduling too early
2022-06-15 17:24:47 +01:00
Roberto Louro Magueta
14d3a9c0e5 Fixes after merge 2022-06-15 12:53:36 +01:00
Robert Schmidt
e62119bea5 Reintroduce nr_ulsim -I option after wrong merge 2022-06-15 13:53:22 +02:00
Roberto Louro Magueta
7f21567f83 Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance
# Conflicts:
#	cmake_targets/autotests/test_case_list.xml
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
2022-06-15 11:17:06 +01:00
Cedric Roux
2521e46593 Merge remote-tracking branch 'origin/F1C_extensions_develop' into F1_interop_ACC_n78
Conflicts:
	openair2/F1AP/f1ap_du_interface_management.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/main.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
	openair2/RRC/NR/rrc_gNB.c
	openair3/ocp-gtpu/gtp_itf.cpp
2022-06-15 11:28:37 +02:00
luis_pereira87
527003492d Revert call to process_CellGroup function in rrc_mac_config_req_gNB to fix F1 user plane working 2022-06-15 09:34:55 +01:00
Robert Schmidt
d835f3387d Build without AVX512 on caracal to avoid compilation fail 2022-06-15 08:49:10 +02:00
Melissa Elkadi
630f8ac2b1 Putting all CM code in one file
This commit includes reorganization of
all of the SISO/MIMO channel modelling
support being moved into a single CM
file. Furthermore, it includes a bug
fix for the number of MCS simulation
tables (29 total, 0-28).
2022-06-14 12:52:01 -07:00
Karim Boutiba
079ad360e0 solve the conflict between cri-RSRP and cri-RI-PMI-CQI in the case of multiple UEs 2022-06-14 13:38:12 +00:00
Robert Schmidt
bb15360a55 Revert "CI: phySim container build: add SYS_PTRACE"
This reverts commit 0122749406.
2022-06-14 12:35:48 +02:00
Robert Schmidt
0a74c23c8a Disable Asan in LDPC decoder generator executables
The CI compiles the physims using Asan. This in turn compiles Asan into
the LDPC decoder generator files. Since they are run during build, there
are two options:

1) trigger the build using capability SYS_PTRACE to allow running asan
   when executing the generators.
2) disable asan in the generators.

The first option seems not feasible, as the compilation of the ldpctest
does not succeed (in fact, for a reason I don't understand, ninja seems
to trigger linking and is then blocked indefinitely). Therefore, this
commit simple disables asan in the generators.
2022-06-14 12:30:12 +02:00
luis_pereira87
ed74875025 Call rrc_mac_config_req_gNB function only when running nr-softmodem as a DU or in monolithic mode 2022-06-14 11:29:56 +01:00
luis_pereira87
7cee46777f Cosmetic changes 2022-06-13 23:20:37 +01:00
Cedric Roux
33b69bdf30 nr rlc: bugfix: use hard-coded mapping between drb ID and mac lcid
This will probably impact negatively the Accelleran interoperability
but the previous version is not correct and breaks the oai nr ue.

To be checked in a CU/DU scenario with Accelleran.
2022-06-13 18:28:07 +02:00
Cedric Roux
1ad8f254c2 Merge remote-tracking branch 'origin/develop' into F1_interop_ACC_n78 2022-06-13 16:59:59 +02:00
rmagueta
7b770042ad Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/main.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-06-13 12:00:11 +01:00
francescomani
045de837ab Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-06-13 10:25:05 +02:00
Raymond Knopp
a119e84f92 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen 2022-06-13 09:44:51 +02:00
luis_pereira87
983760e9a4 Fix after merge with develop 2022-06-13 08:21:05 +01:00
luis_pereira87
131db89dfc Merge remote-tracking branch 'origin/develop' into NR_RRC_MAC_CellGroup
# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair2/LAYER2/NR_MAC_gNB/config.c
2022-06-13 08:19:39 +01:00
Robert Schmidt
5944b212b2 Merge branch 'integration_2022_wk23' into 'develop'
integration_2022_wk23

See merge request oai/openairinterface5g!1585

MR !1558: Add 5G SA end-to-end, step-by-step, tutorials for OAI CN5G, OAI gNB and COTS UE
MR !1578: Adding required LOG_As for EpiSci CI testing. (Proxy)
MR !1575: Fix msg3 retransmissions with OAI UE
MR !1577: Fix ULSCH timing measurements in RAN-gNB-nrUE-MONO-TDD-Band78-N300 and logging improvements
MR !1544: NR CORESET harmonization
MR !1287: PUSCH performance improvement
MR !1580: Aligning some internal memory to avoid segfaults
2022-06-13 07:02:11 +00:00
Raymond Knopp
7387721ecf Merge branch 'ldpc-decoder-codegen' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc-decoder-codegen 2022-06-12 23:24:11 +02:00
Raymond Knopp
f6bb869c0b fixed AVX2 issue for cnProc code generator. Some cleanup in formatting and deleting unused files. 2022-06-12 23:23:07 +02:00
Robert Schmidt
169f42a365 Prevent #define name clash
The files openair1/PHY/CODING/nrLDPC_cnProc.h and
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_cnProc.h have the same name,
and also the same include guard/define. This commit renames the define
in the latter to prevent this name clash.
2022-06-12 16:32:46 +02:00
Robert Schmidt
6900f2bc88 Add License to LDPC decoder generator files 2022-06-12 16:29:49 +02:00
luis_pereira87
e850a8ece7 Fix initial connection setup when there is Msg4 retransmissions and UE comes with a new RA with Msg3 carrying DCCH or DTCH message 2022-06-10 23:18:18 +01:00
Robert Schmidt
aabd9c6c4e nr_ulsim: Change thread-count command-line option to -C 2022-06-10 15:45:32 +02:00
Robert Schmidt
b69fa39577 Merge remote-tracking branch 'origin/alignment_fixes' into integration_2022_wk23 2022-06-10 13:52:50 +02:00
Robert Schmidt
b193ccf6ee Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance 2022-06-10 13:50:47 +02:00
Robert Schmidt
0122749406 CI: phySim container build: add SYS_PTRACE
Physical simulators are built using address sanitizer. During the build
process, we use generators that are themselves built during the build
process. They are also asan, and we therefore need to give the
SYS_PTRACE capability during the build process to have them run
correctly.
2022-06-10 13:37:30 +02:00
Robert Schmidt
ae23942020 Compile container images without AVX512 for relocatability 2022-06-10 13:37:30 +02:00
Robert Schmidt
dc4f610245 Merge remote-tracking branch 'origin/ulsim-perf-testing' into integration_2022_wk23 2022-06-09 17:47:57 +02:00
Robert Schmidt
3793edf686 Merge remote-tracking branch 'origin/NR_coreset_harmonization' into integration_2022_wk23 2022-06-09 17:47:37 +02:00
Robert Schmidt
4b0d4e38c4 Merge remote-tracking branch 'origin/fix-test-caracal' into integration_2022_wk23 2022-06-09 17:46:54 +02:00
Robert Schmidt
28ad0eaacb Merge remote-tracking branch 'origin/NR_fix_msg3_rtx' into integration_2022_wk23 2022-06-09 17:46:45 +02:00
Robert Schmidt
9127577bf3 Merge remote-tracking branch 'origin/fixing_removed_LOG_As' into integration_2022_wk23 2022-06-09 17:46:36 +02:00
Robert Schmidt
2e6fea604d Merge remote-tracking branch 'origin/NR_SA_tutorials' into integration_2022_wk23 2022-06-09 17:46:27 +02:00
Sakthivel Velumani
f95c636a6b Improved help for ulsim 2022-06-09 20:07:23 +05:30
Robert Schmidt
f7ab71763d Remove old way of generating LDPC decoders 2022-06-09 15:03:13 +02:00
Robert Schmidt
dde6d61dd4 Dynamically create LDPC decoder headers when building ldpc libs 2022-06-09 15:03:13 +02:00
Robert Schmidt
7b68c48618 Make LDPC generator output directory prefix configurable 2022-06-09 15:03:13 +02:00
Robert Schmidt
250043655a Remove some variables from LDPC generated code to avoid warnings 2022-06-09 15:03:13 +02:00
Laurent THOMAS
97b3d1a5cd fix mutex not initialised in ul decoder 2022-06-09 15:03:13 +02:00
francescomani
8adcf8368a reverting activation of timer at transmission 2022-06-09 14:48:42 +02:00
francescomani
f5e9c4ec36 applying Robert's patch 2022-06-09 13:26:04 +02:00
luis_pereira87
e7a491415c Improvements on RRC passing CellGroup to MAC to get COTS UE working 2022-06-09 10:08:28 +01:00
francescomani
0aec0d91c6 temporary workaround for RRC passing CG to MAC (forced encoding of message at MAC) 2022-06-09 09:35:42 +01:00
Robert Schmidt
894c45eae5 Add comment to fix fill_mastercellGroupConfig() 2022-06-09 10:20:39 +02:00
Laurent THOMAS
e3747ea06b Fix small bugs in nrLDPC_tools, remain some warnings to fix 2022-06-09 10:01:45 +02:00
Robert Schmidt
aed83c91de Create header for LDPC bnProc BG2 files 2022-06-09 09:25:57 +02:00
Roberto Louro Magueta
8c577ff253 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2022-06-09 00:56:55 +01:00
Robert Schmidt
12c0f52fea Merge remote-tracking branch 'origin/develop' into F1_interop_ACC_n78 2022-06-08 19:45:17 +02:00
Sakthivel Velumani
0d9e548f39 Minor fixes in ulsim and dlsim 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
80ad5df367 Removed unused 256QAM table option 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
933ad3dcf4 Removed duplicate definition and other errors
left during rebase
2022-06-08 21:32:07 +05:30
Sakthivel Velumani
8a8bacead9 Set default cmd values in UE
It looked like the default command line option were not set in case the options were not passed. The right function was not called.
2022-06-08 21:32:07 +05:30
Sakthivel Velumani
e8d91d642e fixed nr_dlsim -q parameter bug 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
0cea80c8fa changing PUSCH dmrs symbol pos to 0 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
1afdc298e9 Interpolation chest default in UE 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
7c47420da7 Making interpolation ch estimation as default 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
b2b84caeb5 Made PRB averaging channel est as default
fixed indendation
updated ulsim CI test parameters
2022-06-08 21:32:07 +05:30
Sakthivel Velumani
93e6bd26da Made channel estimation techniques configurable 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
0960aa3d00 Updating ulsim CI test parameters 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
ab899c3a08 fix CI test parameters 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
da8d3037df fixed bugs in phy sims 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
8f79ae0ea7 A bug fix in DMRS averaging 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
689ecf5ae1 Enable additional DMRS symbol in UL 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
e36a2b483a Added 3GPP TS 38104 8.2.1.2-13 16QAM CI test cases 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
1d99c8e695 LDPC iterations as command line parameter 2022-06-08 21:32:07 +05:30
Sakthivel Velumani
b29f92c1d6 Add MCS table option to ulsim 2022-06-08 21:31:17 +05:30
Sakthivel Velumani
36190b1c7d Logging changes to ulsim 2022-06-08 21:31:17 +05:30
Sakthivel Velumani
ac58460b6e Time averaging PUSCH channel estimates 2022-06-08 21:31:17 +05:30
Sakthivel Velumani
382b2c41e3 Fixed ulsim to test 8 Rx antennas 2022-06-08 21:31:17 +05:30
Robert Schmidt
2d3f4f7310 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen 2022-06-08 17:17:11 +02:00
Robert Schmidt
9eccd6c11d Correct caracal IP address 2022-06-08 17:06:47 +02:00
francescomani
85b48193d4 fix msg3 retransmissions with OAI UE 2022-06-08 16:45:30 +02:00
Cedric Roux
f71766c3ee Merge remote-tracking branch 'origin/develop' into F1_interop_ACC_n78
Conflicts:
	openair2/F1AP/f1ap_du_ue_context_management.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
	openair2/RRC/NR/rrc_gNB.c
	openair3/ocp-gtpu/gtp_itf.cpp

There were some important conflicts in openair3/ocp-gtpu/gtp_itf.cpp
I rewrote a bit the function Gtpv1uHandleGpdu(). It might have been
done wrongly.
To be tested and fixed if needed.

To redo the merge, if needed:
git checkout 9b2a163ebb
git merge 5ea828e149
2022-06-08 15:48:24 +02:00
francescomani
e24edde2fd remove commented code 2022-06-08 15:09:53 +02:00
francescomani
bc1227f9a0 Merge remote-tracking branch 'origin/develop' into NR_remove_ssb_offset_from_configfile 2022-06-08 14:52:47 +02:00
francescomani
539e5e89f3 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-06-08 14:45:33 +02:00
francescomani
4ffef42472 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-06-08 13:39:39 +02:00
Florian Kaltenberger
bb17287089 aligning some internal memory to avoid segfaults 2022-06-08 12:09:07 +02:00
Robert Schmidt
d7dae8fa91 Merge branch 'integration_2022_wk22' into 'develop'
integration_2022_wk22

See merge request oai/openairinterface5g!1576

MR !1501 fixes to support multiple pdu sessions (tested with 2 pdu sessions)
MR !1566 issue 545
MR !1569 bugfix in fill_searchSpaceZero
MR !1574 Repair LTE-M: Add missing parameter preambleTransMax_CE_rel13
MR !1496 PHY procedures at UE for CSI-RS
Increase LTE-2x2 ping thresholds to 60 ms to make tests pass (throughput seems to be fine)
2022-06-08 08:38:10 +00:00
Robert Schmidt
b1d07fb3e0 print_meas_log(): do not write beyond memory end 2022-06-07 17:41:21 +02:00
francescomani
7546b8ca1b fix dlsim compilation 2022-06-06 17:37:40 +02:00
francescomani
0b55910c48 possible fix in type setting of Y for coreset 2022-06-06 16:40:09 +02:00
luis_pereira87
308cae752a Update download link for the latest version of Open Cells SIM card programing tool uicc-v2.6 2022-06-06 14:13:58 +01:00
Robert Schmidt
45522ae86c [CI] Increase LTE-2x2 test ping thresholds to make test pass 2022-06-04 10:10:47 +02:00
Robert Schmidt
5f37ab35b4 Merge remote-tracking branch 'origin/develop-CSI' into integration_2022_wk22 2022-06-04 10:08:38 +02:00
Robert Schmidt
4e34462488 Merge remote-tracking branch 'origin/preambleTransMax_CE_rel13-in-configuration' into integration_2022_wk22 2022-06-04 10:08:31 +02:00
Robert Schmidt
7b3191d1a6 Merge remote-tracking branch 'origin/NR_SS0_config_fix' into integration_2022_wk22 2022-06-04 10:08:25 +02:00
Robert Schmidt
1215444cae Merge remote-tracking branch 'origin/fix-bug-545' into integration_2022_wk22 2022-06-04 10:08:17 +02:00
Robert Schmidt
6e7160ac03 Merge remote-tracking branch 'origin/multiple_pdu_MR' into integration_2022_wk22 2022-06-04 10:08:10 +02:00
Robert Schmidt
bea2ec5c3b Use snprintf() in dump_mac_stats() 2022-06-04 09:33:18 +02:00
Robert Schmidt
f8f20827e9 Rename DL&UL scheduling timing stats 2022-06-04 09:32:00 +02:00
Robert Schmidt
59e10dc8da Clean up MAC stats: don't show timing stats in console log, only file 2022-06-04 09:31:54 +02:00
Robert Schmidt
f2bc364b50 Drop periodic "Number of bad PUCCH" output 2022-06-04 09:29:20 +02:00
Melissa Elkadi
cc2c3b9123 Adding required LOG_As for EpiSci CI testing. (Proxy)
In commit 05c07c401f,
four of the LOG_A logs were demoted. These are required
for the L2 simulator proxy CI testbed.
2022-06-03 16:40:46 -07:00
Robert Schmidt
43701ddbd6 Phy-test scheduler: update MCS so it is shown in logs 2022-06-03 17:11:05 +02:00
Robert Schmidt
dd801325d4 Terminate LOG with newline 2022-06-03 17:10:03 +02:00
Robert Schmidt
db2c03d31d Do not abort ULSCH decoding in phy-test mode
For the RAN-gNB-nrUE-MONO-TDD-Band78-N300 test, in order to measure ULSCH
decoding times, we cannot abort ULSCH decoding on DTX.
2022-06-03 17:06:24 +02:00
Robert Schmidt
d5165ae2bd B210 tutorial: mention USB3 2022-06-03 12:50:44 +02:00
Robert Schmidt
9b317eacef Add instructions on how to tune Ethernet connection 2022-06-03 12:50:44 +02:00
KARIM BOUTIBA
cd4bc84bd8 small fix in nr_sdap_get_entity 2022-06-02 08:05:21 +00:00
Roberto Louro Magueta
616927c04d Fixes after merge 2022-06-01 17:22:59 +01:00
francescomani
b96df49e15 postpone initialization of UL_tti_req_ahead to when sl_ahead is available 2022-06-01 17:09:08 +02:00
Roberto Louro Magueta
1bb0ce90cc Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_srs.c
#	openair2/LAYER2/NR_MAC_gNB/main.c
2022-06-01 15:46:37 +01:00
francescomani
a531342054 update ss and coreset after updating bwp 2022-06-01 12:35:31 +02:00
Roberto Louro Magueta
2c3eb996a4 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
2022-06-01 11:06:49 +01:00
francescomani
9a43678ed0 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-06-01 09:06:57 +02:00
francescomani
13ed1200b4 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-06-01 08:45:35 +02:00
Robert Schmidt
5ea828e149 Merge branch 'integration_2022_wk21b' into 'develop'
integration_2022_wk21b

See merge request oai/openairinterface5g!1572

MR !1490 add support for 15 kHz SCS
MR !1525 Make USRP tune-offset configurable
MR !1550 remove UEid in MAC
2022-06-01 06:12:20 +00:00
Francesco Mani
426bc2f088 fix in get_ul_tda call for rtx 2022-05-31 09:36:39 +00:00
francescomani
6f7889d162 bugfix in mod_dmrs declaration 2022-05-30 18:02:08 +02:00
Raymond Knopp
83d40a9b7c Add missing parameter preambleTransMax_CE_rel13
To SIB2 and its passing to RRC. Parameter was read but not transfered
before. Basic LTE-M functionality should ok on develop branch with this
fix. Tested with uBlox SARA-R4 (QCOM chipset)
2022-05-30 16:19:35 +02:00
Robert Schmidt
df8f632ae3 Make sched_csirs common to all UEs 2022-05-30 14:52:50 +02:00
Robert Schmidt
23c8336a37 Fix warning 2022-05-30 14:50:55 +02:00
Robert Schmidt
ac9e47ba68 Merge remote-tracking branch 'origin/cleanup-2022-mai-UEid-management' into integration_2022_wk21b 2022-05-30 12:02:58 +02:00
Laurent THOMAS
43033e20b6 Avoid SEGV in nr_decode_pucch0() 2022-05-28 16:44:50 +02:00
Laurent THOMAS
16e8154d71 Handle full UL TTI Req list more gracefully 2022-05-28 16:44:50 +02:00
Laurent THOMAS
9ba33d4dec Correctly format code to avoid warnings/ambiguities 2022-05-28 16:44:49 +02:00
Laurent THOMAS
a51c1f93b5 Remove unused code 2022-05-28 16:37:47 +02:00
Robert Schmidt
b6adb32989 Delete commented code 2022-05-28 16:37:47 +02:00
Laurent THOMAS
236f7d56e5 Remove UEid in the MAC
After this commit, only the RNTI is used as an identifier in the MAC.
Further, it removes some module_id, but a lot of them remain (the goal
to remove all is still far from us)
2022-05-28 16:37:26 +02:00
rmagueta
264eebfb3f Fix build after merge 2022-05-27 11:54:53 +01:00
rmagueta
628a11cde5 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/GNB_APP/MACRLC_nr_paramdef.h
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
2022-05-27 11:38:32 +01:00
rmagueta
6bca31c7e3 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
2022-05-27 10:18:13 +01:00
francescomani
92ba8cb9d0 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-05-27 10:46:15 +02:00
Robert Schmidt
daad3da6eb Merge remote-tracking branch 'origin/usrp-tune-offset' into integration_2022_wk21b 2022-05-27 10:06:20 +02:00
Robert Schmidt
21a820b061 Merge remote-tracking branch 'origin/support-15-kHz-SCS' into integration_2022_wk21b 2022-05-27 10:05:57 +02:00
Robert Schmidt
72d0a4ff05 Merge branch 'integration_2022_wk21' into 'develop'
integration_2022_wk21

See merge request oai/openairinterface5g!1564
2022-05-27 07:49:38 +00:00
francescomani
9228f12d92 bugfix 2022-05-26 13:47:17 +02:00
Roberto Louro Magueta
8d02c2c0fc Fix scheduling SRS transmission at UE when there is Dedicated BWPs 2022-05-25 11:06:55 +01:00
Roberto Louro Magueta
af95f834f1 Fix scheduling SRS reception at gNB when there is Dedicated BWPs 2022-05-25 10:36:30 +01:00
francescomani
09ecb8a33c bugfix in fill_searchSpaceZero 2022-05-25 10:35:26 +02:00
Robert Schmidt
36a02913de Merge remote-tracking branch 'origin/usrp_x400_fixup' into integration_2022_wk21 2022-05-24 17:58:47 +02:00
Robert Schmidt
360d4b3a81 Merge remote-tracking branch 'origin/k2-slot0-fix' into integration_2022_wk21 2022-05-24 17:57:58 +02:00
Robert Schmidt
103e21a05c Merge remote-tracking branch 'origin/NR_removing_calculate_preferred_tda' into integration_2022_wk21 2022-05-24 17:56:38 +02:00
francescomani
cf7c2fd373 commenting out further call to decode sib1 after initial access 2022-05-24 15:10:53 +02:00
Roberto Louro Magueta
ab1df8bbc4 Revert CSI configuration from update_cellGroupConfig to fill_initial_SpCellConfig 2022-05-24 13:45:35 +01:00
laurent
1450e2fb9f issue 545 2022-05-24 13:29:05 +02:00
Florian Kaltenberger
38f7d772e6 small fix for USRP X410 2022-05-24 10:55:50 +02:00
francescomani
3c753aec71 fix in calling get_ul_tda 2022-05-23 18:41:10 +02:00
Robert Schmidt
3b28264374 Merge remote-tracking branch 'origin/fix-ra-on-frame-1023' into integration_2022_wk21 2022-05-23 17:18:39 +02:00
Robert Schmidt
ba73075ccd Merge remote-tracking branch 'origin/ul-dl-bler' into integration_2022_wk21 2022-05-23 17:17:47 +02:00
francescomani
3a0bccde30 fix for msg2 tda 2022-05-23 16:13:20 +02:00
francescomani
fac44b15e8 adding option for CSI slot 2022-05-23 16:13:20 +02:00
francescomani
25086576e5 simplyfying tda functions according to review 2022-05-23 16:07:10 +02:00
francescomani
c6498ccf58 addressing review 2022-05-23 16:07:10 +02:00
francescomani
d3f90a90fe removing calculate_preferred_ul_tda 2022-05-23 15:57:27 +02:00
francescomani
276b2d5e0c removing calculate_preferred_dl_tda 2022-05-23 15:48:29 +02:00
Robert Schmidt
e1b090cfaa Improve logging 2022-05-23 15:20:03 +02:00
Robert Schmidt
9f6b7dc6b9 Make USRP tune_offset configurable
UHD documentation: "A tune request instructs the implementation how to
tune the RF chain."

This commit makes this configurable, from nr-softmodem, nr-uesoftmodem,
lte-softmodem, and lte-uesoftmodem.
2022-05-23 15:20:03 +02:00
Robert Schmidt
9354d4305b Set k2=2 also in 5ms TDD periods
In the past, setting k2=2 for 5ms TDD periods resulted in increased ping
RTT and/or reestablishment requests. These problems do not appear
anymore, and we can allow k2=2.
2022-05-23 15:11:27 +02:00
Robert Schmidt
00d021c66b In TDD: enable slot 0
In the past, activation of slot 0 (i.e., after the switch UL->DL)
resulted in many retransmissions. This does not seem to be the case
anymore, and we can therefore activate slot 0 also in TDD.
2022-05-23 14:33:08 +02:00
Roberto Louro Magueta
5092eca8cb Some robustness improvements 2022-05-23 13:30:38 +01:00
francescomani
2ba71e748d using bwp id to configure coreset id 2022-05-23 13:39:56 +02:00
Roberto Louro Magueta
0eeb174253 Add wideband SNR based on SRS in MAC stats 2022-05-23 11:43:32 +01:00
Roberto Louro Magueta
9e2086c77c Fix warning after merge 2022-05-23 11:29:59 +01:00
Roberto Louro Magueta
01c6129ee1 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-05-23 10:43:50 +01:00
francescomani
a724c1febc starting timer for msg4 at transmission 2022-05-20 15:09:25 +02:00
francescomani
fcfc7a90e8 fix for asan assertion 2022-05-20 13:56:12 +02:00
Robert Schmidt
7bf5f018a1 Refactor DRB configuration in function 2022-05-19 18:40:54 +02:00
Robert Schmidt
a5d0615048 Harmonize SRB configuration in function 2022-05-19 18:28:55 +02:00
KARIM BOUTIBA
b46077c22d add multiple pdu session support (tested with 2 pdu sessions) 2022-05-19 18:28:55 +02:00
francescomani
9150dc8c50 applying review comment 2022-05-19 14:48:45 +02:00
Roberto Louro Magueta
3d5cfb6642 Update the spatialRelationInfoToAddModList for dedicated UL-BWPs 2022-05-18 17:00:05 +01:00
francescomani
d56f2c8e12 addressing review comments 2022-05-18 17:36:32 +02:00
francescomani
6d736db22d applying PUCCH harmonization to multiple BWP 2022-05-18 17:23:55 +02:00
Roberto Louro Magueta
436eb2d5a9 Fix PUCCH config in fill_default_uplinkBWP to consider the enabled CSI-RS 2022-05-18 16:05:38 +01:00
Robert Schmidt
3ca4cb708c Select UL MCS from BLER 2022-05-18 16:44:54 +02:00
Robert Schmidt
34b821433b Add UL BLER options and read from config 2022-05-18 16:44:54 +02:00
Robert Schmidt
17cbc4dbf4 Generalize get_mcs_from_bler() 2022-05-18 16:44:54 +02:00
Robert Schmidt
26c2c0add8 MAC stats: group UL&DL common stats 2022-05-18 16:44:54 +02:00
Robert Schmidt
61d434339e DL MCS: switch back to 9 on inactivity 2022-05-18 16:44:54 +02:00
Robert Schmidt
1fbf968676 Set DL MCS when receiving CQI report
- Introduce generic get_mcs_from_cqi() that gets MCS for a particular
  CQI
- Set MCS after receiving CQI
- Distinguish "global" max MCS from UE-measured max MCS
2022-05-18 16:44:53 +02:00
Roberto Louro Magueta
2d96262d7c Fix channel estimation based on CSI-RS 2022-05-18 14:31:13 +01:00
francescomani
0c5d6a59e7 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-05-18 15:19:00 +02:00
Roberto Louro Magueta
e5c4e0f3d3 Address review comments 2022-05-18 12:59:24 +01:00
Roberto Louro Magueta
f94a479829 Fix warning after merge 2022-05-18 12:51:18 +01:00
francescomani
03e869ee36 applying harmonization function also to multiple BWP option 2022-05-18 11:54:15 +02:00
francescomani
1e4f509805 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-05-18 11:41:07 +02:00
Thomas Schlichter
e639e79220 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-05-18 10:51:19 +02:00
francescomani
085014f601 Merge remote-tracking branch 'origin/develop' into NR_remove_ssb_offset_from_configfile 2022-05-18 10:25:47 +02:00
Thomas Schlichter
3934f2020e slightly increase the target SNR for the nr_dlsim low SNR test to make the test more reliable 2022-05-18 09:54:59 +02:00
Thomas Schlichter
6f8b13c2ad fix nr_ulsim option "-i" has no further parameters 2022-05-18 09:50:37 +02:00
Thomas Schlichter
c97d5d04ed fixes from review 2022-05-18 09:35:01 +02:00
francescomani
1f49b73eac Merge remote-tracking branch 'origin/develop' into NR_dl_ul_fapi_improv 2022-05-18 08:55:40 +02:00
Roberto Louro Magueta
8ac68929bc Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/defs_nr_common.h
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
2022-05-17 19:13:38 +01:00
Thomas Schlichter
44a98a85c5 Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance 2022-05-17 17:38:59 +02:00
Robert Schmidt
5bf454c78b Merge branch 'integration_2022_wk19b' into 'develop'
integration_2022_wk19b

See merge request oai/openairinterface5g!1555

MR !1357: Bupt UL-MIMO
MR !1516: NR handling 2-port PMI report
MR !1454: Implementation of multiple dedicated BWPs
MR !1556: Fix RAN-gNB-nrUE-MONO-TDD-Band78-N300 pipeline
2022-05-17 12:03:56 +00:00
Robert Schmidt
22944fb8c0 Merge remote-tracking branch 'origin/repair-test-caracal' into integration_2022_wk19b 2022-05-16 21:41:39 +02:00
Robert Schmidt
6c43cdf4dc Hack to prevent segfault 2022-05-16 21:39:06 +02:00
luis_pereira87
bdc4a664ac Add 5G SA end-to-end, step-by-step, tutorials for OAI CN5G, OAI gNB and COTS UE 2022-05-16 11:49:42 +01:00
laurent
a254545b7c fix ra bug 2022-05-16 09:31:29 +02:00
luis_pereira87
486e9e2381 Merge remote-tracking branch 'origin/Dedicated-BWPs' into integration_2022_wk19b
# Conflicts:
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-05-13 15:58:56 +01:00
luis_pereira87
cc238a91e4 Compute TDA startSymbolIndex and nrOfSymbols everytime function nr_set_pdsch_semi_static is called 2022-05-13 15:13:21 +01:00
Robert Schmidt
9b2fa3ca63 Increase PUSCH decoding defaults 2022-05-13 14:14:47 +02:00
Robert Schmidt
50d9c1f2bf Merge branch 'ci-enable-amarisoft' into 'develop'
Ci enable amarisoft

See merge request oai/openairinterface5g!1554
2022-05-13 12:08:40 +00:00
Robert Schmidt
1c4bf40248 Fix caracal perf test: add option for N300, run only once (is consistent) 2022-05-13 11:57:31 +02:00
Robert Schmidt
7c5a82bf1c Format Hdashboard Gitlab post using Markdown 2022-05-13 08:25:23 +02:00
rmagueta
64f4d34c25 Fix tda in dlsim considering the new configuration for NSA in fill_default_nsa_downlinkBWP 2022-05-12 20:40:22 +01:00
Robert Schmidt
a9dcdcbbcb Fix name of html module 2022-05-12 20:54:02 +02:00
Robert Schmidt
09c3597b46 Only check T tracer if EPC has been defined 2022-05-12 18:47:47 +02:00
luis_pereira87
54f49fd253 Remove duplicated code for bwp common validation 2022-05-12 17:33:35 +01:00
luis_pereira87
2f3ce42d3b Improve code readability in fix_scd function 2022-05-12 17:04:09 +01:00
Robert Schmidt
851291ddc4 Merge remote-tracking branch 'origin/NR_handling_PMI_report' into integration_2022_wk19b 2022-05-12 17:45:59 +02:00
luis_pereira87
9f51b3f8b1 Harmonize and reuse the nr_rrc_config_dl_tda function to prepare PDSCH-TimeDomainResourceAllocation list 2022-05-12 14:42:47 +01:00
luis_pereira87
7d1f693ba1 Revert rbSize validation with target_dl_bw to previous version 2022-05-12 13:28:18 +01:00
luis_pereira87
af377945c3 Fix hardcoded coreset and assignment from wrong array position 2022-05-12 13:12:45 +01:00
luis_pereira87
9aa7d1c88f Remove redundant change of active bwp (it changes after RRC processing timer elapsed) 2022-05-12 10:57:03 +01:00
luis_pereira87
0217cd50de Update in documentation 2022-05-12 10:06:00 +01:00
luis_pereira87
270c540c3c Minor clean up in function mac_rrc_nr_data_req 2022-05-12 10:06:00 +01:00
Robert Schmidt
a582ac99e5 Trigger Amarisoft in NSA tests 2022-05-12 09:19:27 +02:00
francescomani
c4c93cc498 Merge remote-tracking branch 'origin/develop' into NR_dl_ul_fapi_improv 2022-05-12 08:56:45 +02:00
luis_pereira87
3c4ba50281 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-05-11 14:49:59 +01:00
francescomani
340531038c bugfix: n1 and n2 for 2 ports 2022-05-11 15:21:08 +02:00
Roberto Louro Magueta
5c754f2300 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-05-11 14:19:33 +01:00
francescomani
6ded64f86d Merge remote-tracking branch 'origin/develop' into NR_handling_PMI_report 2022-05-11 15:14:56 +02:00
Roberto Louro Magueta
4c1b432718 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4
# Conflicts:
#	openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
2022-05-11 13:45:56 +01:00
Roberto Louro Magueta
1c9ef67384 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/nr_rrc_config.c
#	openair2/RRC/NR/nr_rrc_config.h
2022-05-11 13:27:21 +01:00
francescomani
1fbc7e080b addressing review 2022-05-11 08:50:29 +02:00
Roberto Louro Magueta
ba5bda5c6e Fix bw_scaling 2022-05-10 15:00:43 +01:00
Roberto Louro Magueta
08975e451f Update the ul_prbblacklist based on SRS measurements and an ul_prbblack_SNR_threshold 2022-05-10 14:03:24 +01:00
Robert Schmidt
68be6f83e6 randominit(): show used seed when using time() 2022-05-10 14:22:50 +02:00
Roberto Louro Magueta
5ed67b85a7 Free allocated memory 2022-05-10 13:03:41 +01:00
francescomani
c7e8002d8d adding CI test with subcarrier offset in pbchsim 2022-05-10 11:43:44 +02:00
Roberto Louro Magueta
61a2f398db Add LOGs of SRS indication in handle_nr_srs_measurements 2022-05-10 10:43:24 +01:00
francescomani
3b16547374 fix in pbchsim 2022-05-10 09:13:52 +02:00
Roberto Louro Magueta
99b262d764 Compute and fill timing_advance field for SRS indication 2022-05-09 19:25:33 +01:00
Roberto Louro Magueta
bdff42cf77 Compute and fill wide_band_snr field for SRS indication 2022-05-09 18:21:04 +01:00
Roberto Louro Magueta
d914817806 Fill srs_reported_symbol_list in SRS indication 2022-05-09 17:58:42 +01:00
francescomani
a037987b47 remove ssb subcarrier offset from config file 2022-05-09 18:28:56 +02:00
Roberto Louro Magueta
ab6d7afd09 Compute the SNR per RB using the SRS 2022-05-09 15:54:20 +01:00
Roberto Louro Magueta
dcf4fd1db2 Compute the noise power per RB 2022-05-06 19:07:59 +01:00
rmagueta
d7795c9dff Fix build after merge 2022-05-06 16:15:43 +01:00
luis_pereira87
c587fe366d Improve log and cosmetic changes 2022-05-06 16:06:31 +01:00
luis_pereira87
5031649c47 Improvements on BWP switch procedures and harmonize it with RRC processing timer 2022-05-06 16:06:31 +01:00
francescomani
59ced82104 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-05-06 17:02:22 +02:00
rmagueta
b8cd9ef167 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
2022-05-06 15:41:10 +01:00
Roberto Louro Magueta
05fffa4916 Merge remote-tracking branch 'origin/develop' into develop-SRS-Measurements
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.band78.tm1.106PRB.usrpn300.gtp-itti.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2022-05-06 13:39:45 +01:00
luis_pereira87
02d49ed3b6 Fixes after merge 2022-05-06 11:56:11 +01:00
Roberto Louro Magueta
87e79e5eb8 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
#	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/cu_gnb.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/du_gnb.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.band78.tm1.106PRB.usrpn300.gtp-itti.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.106PRB.usrpn300.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2022-05-06 11:32:36 +01:00
luis_pereira87
a8e6bf9bd5 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/GNB_APP/gnb_config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	openair2/RRC/NR/nr_rrc_defs.h
#	openair2/RRC/NR/nr_rrc_proto.h
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-05-06 11:29:55 +01:00
francescomani
2bbfe501c2 Merge remote-tracking branch 'origin/develop' into NR_coreset_harmonization 2022-05-06 12:02:00 +02:00
francescomani
1750f45708 additional fix for dmrs 2022-05-06 11:46:07 +02:00
francescomani
acc6fb8508 fixes for multi-symbol pdcch 2022-05-06 11:17:19 +02:00
Roberto Louro Magueta
dce83a0508 Add comments in FAPI for SRS indication 2022-05-05 19:49:06 +01:00
Roberto Louro Magueta
b106913dc0 Send SRS measurements (still empty) from PHY to MAC 2022-05-05 18:10:08 +01:00
francescomani
edea5c5f65 some more fixes for larger coresets 2022-05-05 17:23:12 +02:00
francescomani
40fcfdea8b additional fixes 2022-05-04 18:20:12 +02:00
Roberto Louro Magueta
2fb8d96f11 Move SRS config to update_cellGroupConfig() 2022-05-04 16:25:15 +01:00
francescomani
4045874d74 memory fixes 2022-05-04 16:56:23 +02:00
Roberto Louro Magueta
70cfd057ec Add do_SRS flag in gnb.sa.band78.fr1.106PRB.usrpb210.conf 2022-05-04 15:09:59 +01:00
Roberto Louro Magueta
39ea2c936f Creation of config_srs() function 2022-05-04 15:05:23 +01:00
luis_pereira87
952a216b92 Remove sib1_tda from configuration files to use default value 2022-05-04 12:49:23 +01:00
francescomani
999f5d67e3 bugfixes and improvements in handling dci candidates 2022-05-04 11:03:26 +02:00
Raymond Knopp
bf5389936d added deletion/creation of ldpc_gen_files directory and subdirectories 2022-05-03 22:09:46 +02:00
Raymond Knopp
3ecfead572 added script to generate ldpc decoder files 2022-05-03 22:03:19 +02:00
Raymond Knopp
63b28d3610 clean up (removal) of ldpc generated files on repository 2022-05-03 21:26:18 +02:00
Roberto Louro Magueta
f2974b431b Revert transformPrecoder to transform_precoding 2022-05-03 19:25:14 +01:00
Roberto Louro Magueta
7aa3bfaa54 Revert deleted rfdevice.trx_end_func() 2022-05-03 18:25:57 +01:00
luis_pereira87
d059c71754 Clean up and minor improvements in configuration files 2022-05-03 16:08:18 +01:00
luis_pereira87
8641d54f4d Fix build after merge 2022-05-03 15:56:18 +01:00
luis_pereira87
1e38cead39 Increase MAX_NUM_NR_DLSCH_SEGMENTS_PER_LAYER to allow gNB to work with 273PRBs and 256QAM at MCS 27 2022-05-03 15:40:47 +01:00
luis_pereira87
7597a582f9 Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/GNB_APP/gnb_config.c
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2022-05-03 14:00:57 +01:00
francescomani
cfa37e7213 cosmetic changes 2022-05-03 12:21:47 +02:00
Roberto Louro Magueta
2162ba6d82 Fix sigma in ulsim 2022-05-03 10:03:56 +01:00
Roberto Louro Magueta
e3fd9f7f8c To use the channel generated by multipath_channel() for single-layer case in ulsim 2022-05-03 00:29:44 +01:00
Roberto Louro Magueta
b6a018089b Fix in nr_ulsch_extract_rbs 2022-05-02 23:53:13 +01:00
Raymond Knopp
8506307ef0 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen
Conflicts:
	cmake_targets/build_oai
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_cnProc.h
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_types.h
	openair1/PHY/NR_REFSIG/ptrs_nr.c
2022-05-02 22:41:48 +02:00
Roberto Louro Magueta
3d5fa54a48 Fix logs in help of ulsim 2022-05-02 19:07:07 +01:00
Roberto Louro Magueta
5de85671d8 Fix heap buffer overflow 2022-05-02 16:58:08 +01:00
francescomani
6b6528cc94 revert H_awgn_mimo in simulator 2022-05-02 10:41:42 +02:00
Roberto Louro Magueta
4f2854f92c Fix UL channel estimation for 4 layers 2022-05-02 01:55:03 +01:00
rmagueta
0e2a00655e Fix build after merge 2022-04-30 17:07:14 +01:00
rmagueta
d01cd03ad3 Merge branch 'NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-04-30 16:40:58 +01:00
rmagueta
2ddb68754e Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-04-30 16:22:09 +01:00
rmagueta
4b3aa7233e Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-04-30 15:14:20 +01:00
Roberto Louro Magueta
1694e1b061 Fix b_shift 2022-04-29 19:08:41 +01:00
Roberto Louro Magueta
523f8f2139 Put pilot_cnt++ in the right place 2022-04-29 18:19:49 +01:00
Roberto Louro Magueta
8ba0f2f086 Fix high MCS test fail for UL (it do not fix the degradation yet) 2022-04-29 11:00:40 +01:00
Thomas Schlichter
7815293443 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-04-29 10:15:15 +02:00
Roberto Louro Magueta
e236794310 Put in ulsim a channel matrix H_awgn_mimo different from identity (it is a matrix equal to matrix used in dlsim) 2022-04-29 01:22:33 +01:00
Roberto Louro Magueta
c128a5d9e2 Remove SUPPORT_PMI_MATRIC flag 2022-04-29 01:11:27 +01:00
Roberto Louro Magueta
719d7fb8be Improvements in UL channel estimation to consider multiple antennas for dmrs type 1 2022-04-29 00:51:55 +01:00
Roberto Louro Magueta
724e155a3a Move UL delta computation for a function 2022-04-28 23:57:19 +01:00
Roberto Louro Magueta
927e219553 UL channel estimation with a formulation closer to 3GPP, because this will be useful next 2022-04-28 21:04:41 +01:00
Roberto Louro Magueta
badb6cb590 Improve debug log 2022-04-28 16:24:21 +01:00
Roberto Louro Magueta
735b51a06b Third code simplification in UL channel estimation 2022-04-28 15:03:26 +01:00
Roberto Louro Magueta
4ecb0401e0 Second code simplification in UL channel estimation 2022-04-28 14:34:43 +01:00
Roberto Louro Magueta
65f09fecb8 First code simplification in UL channel estimation 2022-04-28 14:18:05 +01:00
francescomani
b6016cfc49 Merge remote-tracking branch 'origin/develop' into NR_dl_ul_fapi_improv 2022-04-28 14:12:11 +02:00
francescomani
5e1364f19d Merge remote-tracking branch 'origin/develop' into NR_handling_PMI_report 2022-04-28 13:57:17 +02:00
Roberto Louro Magueta
99fde7f7cb Fix some needed debug logs considering the multi-layer case 2022-04-28 11:50:27 +01:00
Roberto Louro Magueta
b56494855e Merge remote-tracking branch 'origin/bupt-ulmimo-4' into bupt-ulmimo-4 2022-04-28 11:24:08 +01:00
francescomani
d05f2b3add Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-28 11:54:51 +02:00
francescomani
6af3d0a364 change in ulsim test to show degradation in performances for 2rx scenario 2022-04-28 11:27:27 +02:00
francescomani
f902e27c43 updates on coreset harmonization 2022-04-27 16:24:05 +02:00
Roberto Louro Magueta
7e172e348b Fix from frame_parms->nb_antennas_tx to UE->frame_parms.nb_antennas_tx in ulsim 2022-04-27 11:51:29 +01:00
Roberto Louro Magueta
cb456a23cc Fix in atxlev computation in ulsim (the loop should be over nb_antennas_tx and not nb_antennas_rx) and remove wrong sigma_dB computation 2022-04-26 20:25:53 +01:00
Roberto Louro Magueta
ac5444afd9 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-26 19:18:08 +01:00
francescomani
7e6f8ecfb3 fixing bugs and cleaning up ulsim 2022-04-26 10:59:25 +02:00
francescomani
697d72cd01 adding missing parameter in ulsim 2022-04-22 18:51:53 +02:00
francescomani
f57f4ce3fe bugfix in channel compensation 2022-04-22 09:56:54 +02:00
luis_pereira87
aeaf4c87b5 Fix delay of CU for a very large cellGroupConfig 2022-04-20 20:19:56 +01:00
francescomani
f49df05456 fix for ulschsim antenna ports 2022-04-20 18:55:38 +02:00
luis_pereira87
5887541538 Fix segmentation fault when using multiple Dedicated-BWPs and F1 2022-04-20 17:16:49 +01:00
francescomani
15777bbf0e fix for ulsim antenna ports 2022-04-20 17:05:03 +02:00
luis_pereira87
efd99acacc Fix read SSpace array index at -1 2022-04-20 15:51:02 +01:00
luis_pereira87
709db95112 Fix DL/UL failure due to wrong dedicated BWP when an RA fails on Msg4 and then succeeds 2022-04-19 18:59:56 +01:00
luis_pereira87
e59ac44c94 Merge branch 'NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/RRC/NR/nr_rrc_defs.h
#	openair2/RRC/NR/rrc_gNB.c
2022-04-19 18:34:42 +01:00
luis_pereira87
8e4c513805 Fix RRC processing time when using F1 split 2022-04-19 18:07:45 +01:00
luis_pereira87
55f1a6b4da Stop the scheduling of CSI-RS, of CSI measurement report reception on PUCCH2 and of reception of SRS 2022-04-19 17:28:48 +01:00
luis_pereira87
72f40e6fb1 Add definition for some rrc processing delays 2022-04-19 17:04:05 +01:00
luis_pereira87
7508205f90 Move nr_mac_update_timers function to gNB_scheduler_primitives 2022-04-19 16:39:49 +01:00
luis_pereira87
5c176c454a Fix mcs table update during RRCReconfiguration 2022-04-19 16:34:10 +01:00
luis_pereira87
bd7f837f18 Fix after merge 2022-04-19 13:23:17 +01:00
luis_pereira87
44c0c8d321 Merge branch 'NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/rrc_gNB.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
2022-04-19 12:39:28 +01:00
Thomas Schlichter
795c057d8c nr_dlsim: fix low-SNR performance by using DCI aggregation level 8 2022-04-19 11:32:47 +02:00
luis_pereira87
a39c310bd4 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
2022-04-19 10:21:57 +01:00
rmagueta
6b873e0f41 Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-04-18 10:26:46 +01:00
francescomani
a71552d55d harmonization of coreset configuration 2022-04-15 19:21:34 +02:00
matzakos
9b2a163ebb Add true reporting of RLC buffer availability in first DDD report from DU to CU 2022-04-15 10:36:31 +02:00
matzakos
3feb0f472f Add more proper parsing of NR-RAN gtp-u extension header 2022-04-15 10:35:39 +02:00
matzakos
b216c58526 Remove xml prints of F1AP messages 2022-04-15 10:34:53 +02:00
luis_pereira87
7b5d8de65f Remove sib1_tda from configuration files to use the default value 2022-04-14 15:52:54 +01:00
luis_pereira87
0270b7b1fb Move RRC processing timer implementation from RRC to MAC 2022-04-14 15:49:29 +01:00
luis_pereira87
ada380d9fd Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer 2022-04-14 11:46:52 +01:00
Raymond Knopp
e721f6af04 Merge remote-tracking branch 'origin/tdd25period_for_MR' into F1_interop_ACC_n78
Conflicts:
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
2022-04-14 11:14:36 +02:00
matzakos
f9e5c987a6 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-04-13 14:22:19 +02:00
matzakos
0c05e283e2 Remove warnings and unused code 2022-04-13 13:19:04 +02:00
rmagueta
a81640a6df Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/INIT/nr_init_ue.c
#	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
2022-04-13 10:21:09 +01:00
francescomani
cfda6c7b1d renaming SR config function 2022-04-13 10:58:28 +02:00
rmagueta
d6072cb5d2 Fix build after merge 2022-04-12 14:31:39 +01:00
rmagueta
d5421a9c87 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair1/PHY/NR_REFSIG/nr_refsig.h
#	openair1/PHY/NR_TRANSPORT/nr_csi_rs.c
#	openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
#	openair1/SCHED_NR/phy_procedures_nr_gNB.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
2022-04-12 14:02:43 +01:00
francescomani
e6913e5d33 Merge remote-tracking branch 'origin/develop' into NR_dl_ul_fapi_improv 2022-04-12 10:41:20 +02:00
francescomani
11ced194cd Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-04-12 10:28:32 +02:00
francescomani
02b66061b1 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-12 10:14:21 +02:00
Thomas Schlichter
94e5aaff88 Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance 2022-04-12 09:51:47 +02:00
matzakos
47c9ded007 Use higher data type to store the length of UE capability RAT container 2022-04-11 19:53:36 +02:00
matzakos
bfc7c1b361 Remove bad return before unlocking mutex in pdcp UL indication 2022-04-11 19:35:05 +02:00
luis_pereira87
0689040770 Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs 2022-04-11 13:50:32 +01:00
luis_pereira87
940abc3587 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-04-11 13:49:40 +01:00
rmagueta
8c056ceefc Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-04-08 18:19:06 +01:00
francescomani
1ab64d26aa Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-08 16:50:02 +02:00
Raymond Knopp
5962824038 Integrate true reporting of buffer availability of RLC(DU) towards the CU 2022-04-07 16:34:16 +02:00
Thomas Schlichter
4035bdb71d add autotest test case for nr_dlsim low SNR performance
performance is ~1.0dB worse than nr_ulsim because of unexpected bad PDCCH performance...
2022-04-07 12:20:33 +02:00
Thomas Schlichter
298740b06c add autotest test case for nr_ulsim low SNR performance 2022-04-07 12:12:20 +02:00
Thomas Schlichter
c7055b2cf9 nr_ulsim: set PUSCH detection threshold to -2.0 dB SNR 2022-04-07 12:08:26 +02:00
Thomas Schlichter
23bdf1e32c remove unused perfect_ce 2022-04-07 11:45:26 +02:00
Thomas Schlichter
dd374c7e03 add more detailed statistics to nr_dlsim output 2022-04-07 11:45:26 +02:00
Bo Zhao
7f074bcc22 Implement PDCCH channel estimation averaging over PRB (no interpolation) 2022-04-07 10:42:03 +02:00
Bo Zhao
fe7ee4d2fe Scaling LLR for different QAM schemes 2022-04-07 10:40:53 +02:00
Thomas Schlichter
e297ccfa26 Add nr_prachsim test case for 15 kHz SCS 2022-04-07 10:34:37 +02:00
luis_pereira87
2b1cafb509 Do not create a Dedicated BWP when it is not configured in the configuration file 2022-04-06 18:06:02 +01:00
luis_pereira87
e4536a093f Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs 2022-04-06 17:26:38 +01:00
rmagueta
eb03322545 Change LOG level 2022-04-06 13:18:46 +01:00
luis_pereira87
1a3c8e5440 Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
2022-04-06 11:52:55 +01:00
rmagueta
c65593d088 Fix build after merge 2022-04-06 11:06:55 +01:00
rmagueta
345f3056ff Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
#	openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
#	openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/LAYER2/NR_MAC_gNB/mac_proto.h
2022-04-06 10:51:43 +01:00
rmagueta
4f29c73bb6 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-04-06 10:11:49 +01:00
francescomani
4f486ce66b Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-06 11:02:53 +02:00
matzakos
693d687d3f Restore nr_l1_helpers.h and dependencies 2022-04-06 10:57:36 +02:00
matzakos
0eb2acb00b F1 code cleanup before merge
-Remove commented out code, debug logs, some hardcodings, fix indentation
2022-04-06 10:43:09 +02:00
francescomani
f0ea21476a Merge remote-tracking branch 'origin/develop' into NR_handling_PMI_report 2022-04-06 10:04:20 +02:00
luis_pereira87
6ccaaacaf0 Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer
# Conflicts:
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
2022-04-05 12:46:14 +01:00
luis_pereira87
4d257e1a99 Fix build after merge 2022-04-05 12:03:22 +01:00
luis_pereira87
f8af4c8b72 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-04-05 11:47:23 +01:00
rmagueta
a772400ffa Fix memory leak 2022-04-04 13:14:18 +01:00
rmagueta
2d434033e0 Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-04-04 12:35:25 +01:00
francescomani
0152e8ce38 fix dlsim compilation error 2022-04-03 20:26:05 +02:00
francescomani
4c17c9c62a change SR slot in FDD to avoid assertion 2022-04-03 18:15:17 +02:00
francescomani
7901ff998d Merge remote-tracking branch 'origin/develop' into NR_handling_PMI_report 2022-04-03 16:38:32 +02:00
francescomani
ed9c35a170 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-04-03 16:20:59 +02:00
francescomani
e1e8c167de Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-04-01 19:21:45 +02:00
rmagueta
25614263ba Fix build after merge 2022-04-01 16:15:58 +01:00
rmagueta
c83df1b677 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/INIT/nr_init_ue.c
#	openair2/GNB_APP/gnb_config.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
2022-04-01 15:56:47 +01:00
Thomas Schlichter
729cf143e0 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-04-01 10:28:11 +02:00
francescomani
6e6f9a53a1 Merge remote-tracking branch 'origin/develop' into NR_dl_ul_fapi_improv 2022-03-31 10:46:02 +02:00
francescomani
cb32c7505e tabulated values * 10 to simplify the code 2022-03-30 19:08:20 +02:00
Raymond Knopp
a77c1d3202 Trigger first DL Data Delivery status from DU to report the buffer availability to the CU
-After that no DL traffic is getting blocked at the Accelleran CU for low values of throughput
-Remaining to remove the hardcoded value of buffer availability and report the actual value from the DU.
2022-03-29 12:17:37 +02:00
matzakos
038e70b0c6 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-03-28 21:55:21 +02:00
matzakos
90c64f4cf8 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-03-28 21:20:49 +02:00
rmagueta
139a33d644 Remove multiple nr_gold_csi_rs initializations 2022-03-28 14:36:01 +01:00
rmagueta
e322bdb289 Fix warning after merge 2022-03-28 14:10:39 +01:00
rmagueta
181e576698 Fix warning after merge 2022-03-28 13:53:35 +01:00
rmagueta
0abcf3d9c4 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair1/PHY/INIT/nr_init_ue.c
#	openair1/PHY/NR_REFSIG/nr_gold.c
#	openair1/PHY/NR_TRANSPORT/nr_csi_rs.c
#	openair1/PHY/defs_nr_common.h
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-03-28 13:32:46 +01:00
rmagueta
8e5ea001b1 Fix warning after merge 2022-03-28 11:57:29 +01:00
rmagueta
c11f6082a6 Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
2022-03-28 11:57:07 +01:00
rmagueta
3b3866feee Fix warning after merge 2022-03-28 11:17:59 +01:00
rmagueta
9daef4e587 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
2022-03-28 11:17:00 +01:00
francescomani
c6b4f97d19 coderate according to SCF and get tbs,qm,R only at MAC 2022-03-26 13:37:34 +01:00
rmagueta
6c1f1a02bb Avoid CU from trying to access RC.nrmac 2022-03-25 16:11:34 +00:00
rmagueta
d5f431a1fd Move nr_bwp_switch and schedule_nr_bwp_switch functions to gNB_scheduler_primitives.c 2022-03-25 15:29:41 +00:00
rmagueta
94a296d79c Fix selected BWP for SRS at UE 2022-03-25 15:07:16 +00:00
rmagueta
5f64d2a1db Avoid CU from trying to access RC.nrmac 2022-03-25 01:51:04 +00:00
rmagueta
11577f6b0b Fix DU to CU RRC message encode 2022-03-25 01:01:29 +00:00
rmagueta
a1739a1175 Avoid segmentation fault 2022-03-25 00:59:43 +00:00
rmagueta
6d4bd11903 Merge remote-tracking branch 'origin/fix_rballoc_mask_type' into Dedicated-BWPs 2022-03-24 14:25:19 +00:00
Thomas Schlichter
88c0028757 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-03-24 11:39:22 +01:00
luis_pereira87
5d6d25c972 Fix RIV value for 162 PRBs, update and synchronization of configuration files 2022-03-23 22:34:32 +00:00
luis_pereira87
9c45ee05bb Fix RIV value for 162 PRBs 2022-03-23 22:27:48 +00:00
luis_pereira87
7ba2517334 Improve nr_rrc_processing_timer to support BWP switching 2022-03-23 20:20:12 +00:00
francescomani
d36549f80a fix memory issues 2022-03-23 19:15:02 +01:00
luis_pereira87
345b66c77f Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
2022-03-23 17:21:34 +00:00
luis_pereira87
4510041aa6 Fix RRC processing time to match RRC ticks (at 1 ms) and add implementation for RRCSetup processing time 2022-03-23 17:08:36 +00:00
luis_pereira87
d0f6174fea Remove obsolete code 2022-03-23 14:15:16 +00:00
luis_pereira87
2706b1641e Merge remote-tracking branch 'origin/NR_RRC_processing_timer' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
2022-03-23 14:01:37 +00:00
luis_pereira87
e95b40a997 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-03-23 13:57:27 +00:00
luis_pereira87
daf3fb0e2c Enable nr_rrc_processing_timer for RRCSetup 2022-03-23 13:29:07 +00:00
luis_pereira87
6f5ea27e09 Improve nr_rrc_processing_timer procedures 2022-03-23 13:11:04 +00:00
luis_pereira87
726cebaa9d Create function to enable nr_rrc_processing_timer 2022-03-23 11:17:52 +00:00
francescomani
07d20ba121 fix for memory issues 2022-03-23 09:58:55 +01:00
rmagueta
bc7a404629 Move rrc_processing_timer from MAC to RRC 2022-03-22 20:18:23 +00:00
luis_pereira87
f5c4ccf479 Merge remote-tracking branch 'origin/develop' into NR_RRC_processing_timer 2022-03-22 18:51:48 +00:00
francescomani
fb118a76a8 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-03-22 13:21:43 +01:00
rmagueta
7ae5abfbeb Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2022-03-22 12:07:14 +00:00
rmagueta
199680d24d Address reviewer comments 2022-03-21 17:37:29 +00:00
rmagueta
a9bbf18d9f Simplification of rrc_processing_delay computation 2022-03-21 17:14:50 +00:00
luis_pereira87
65e47c882f Handle RRC processing time at gNB 2022-03-21 14:35:41 +00:00
rmagueta
4ce795186b Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-03-21 11:23:08 +00:00
francescomani
4d289b92cc fix xp=1 option and added RUNMODEM description for MIMO configuration 2022-03-21 11:59:31 +01:00
francescomani
7b9f53e9db option for identity matrix if xp is 1 2022-03-21 10:01:13 +01:00
rmagueta
7ecd593f6b Fix memory leaks 2022-03-18 17:55:53 +00:00
luis_pereira87
f439095c6e Fix bug after merge 2022-03-17 18:19:42 +00:00
rmagueta
190eaa1e42 Move CSI-RS configuration from fill_initial_SpCellConfig() to update_cellGroupConfig() 2022-03-17 16:36:50 +00:00
rmagueta
8704f81025 Remove duplicated code 2022-03-17 16:35:06 +00:00
matzakos
4e73ef0c3b Avoid exiting in case of PDPC receiving UL user-plane traffic before the DRB is established
-Happened occasionally in the CU/DU split scenario
2022-03-17 17:01:50 +01:00
matzakos
aba5098e30 Remove hardcoding of port numbers in handling of F1 UE context modification request 2022-03-17 17:01:01 +01:00
rmagueta
b59b84e904 Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-03-17 01:03:35 +00:00
rmagueta
ea22da6e7a Noise power estimation based on CSI-RS 2022-03-17 00:50:35 +00:00
rmagueta
2f2bc2a5e8 Merge remote-tracking branch 'origin/nr_csirs_rrc_harmonization' into develop-CSI
# Conflicts:
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/nr_rrc_config.c
#	openair2/RRC/NR/nr_rrc_config.h
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-03-16 17:45:39 +00:00
rmagueta
3f88cc1fb1 Intermediate commit: move CSI configuration to a separate function 2022-03-16 17:19:36 +00:00
rmagueta
2f9d8e759d Memory optimization for procedures related to CSI-RS channel estimation 2022-03-16 15:21:55 +00:00
francescomani
f40b579a78 fix for phy-simulator issues 2022-03-16 15:13:50 +01:00
rmagueta
f1eb2e15d4 Channel estimation based on CSI-RS and interpolation at UE working for a gNB with 4 antenna ports 2022-03-16 13:03:31 +00:00
rmagueta
8b0409d349 Channel estimation based on CSI-RS and interpolation working for a gNB with 2 antenna ports 2022-03-16 01:34:23 +00:00
rmagueta
e07f32f131 Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-03-15 18:56:46 +00:00
rmagueta
ce1613ad7c Improvement in nr_get_csi_rs_signal() and nr_csi_rs_channel_estimation() to later be easier to extend to multiple ports 2022-03-15 18:55:50 +00:00
Thomas Schlichter
9ef3fdbc49 add autotests for nr_dlsim and nr_ulsim with 15 kHz SCS and 5 MHz BW 2022-03-15 09:45:36 +01:00
francescomani
8edcd41a8d fix for pucch0 that straddles DC carrier 2022-03-14 17:35:04 +01:00
Thomas Schlichter
6569ea1a20 fix use of uninitialized memory
found by valdgrind in nr_dlsim
2022-03-14 16:39:17 +01:00
Thomas Schlichter
1616ed7727 gNB: generalize rx_nr_prach_ru() and add support for mu==0 2022-03-14 16:39:17 +01:00
Thomas Schlichter
8f632a7c69 NR_UE: generalize generate_nr_prach() and add support for mu==0 2022-03-14 16:39:17 +01:00
Thomas Schlichter
15e82e4811 add support for mu==0 to nr_prachsim 2022-03-14 16:39:17 +01:00
Thomas Schlichter
31cd31826d move get_dft() and get_idft() from pss_nr.c to tools_defs.h 2022-03-14 16:39:17 +01:00
Thomas Schlichter
d104ef73b7 gNB: fix memory allocations for PUSCH in phy_init_nr_gNB() 2022-03-14 16:39:17 +01:00
Thomas Schlichter
9e90b8f22c remove unneeded global arrays ul_ch_ptrs_estimates, ul_ch_ptrs_estimates_ext, dl_ch_ptrs_estimates and dl_ch_ptrs_estimates_ext 2022-03-14 16:39:17 +01:00
Thomas Schlichter
4fd78ce1e0 small fixes for 15 kHz SCS 2022-03-14 16:39:17 +01:00
Thomas Schlichter
cbf57d7b3c Add configuration file for 15 kHz SCS, 5 MHz BW, band 66, FDD 2022-03-14 16:39:17 +01:00
Thomas Schlichter
47148e3f7d add NO_INTERP to nr_pdsch_channel_estimation() as it is in nr_pusch_channel_estimation() 2022-03-14 16:39:17 +01:00
Thomas Schlichter
4a90091095 fix init_timeshift_rotation() 2022-03-14 16:39:17 +01:00
Thomas Schlichter
baa2e92562 add support for 5 MHz (15 kHz SCS) and 10 MHz (30 kHz SCS) to nr_dlsim and nr_ulsim 2022-03-14 16:39:17 +01:00
rmagueta
e56f284347 Perform the channel interpolation for CSI-RS row 1 2022-03-14 15:29:10 +00:00
matzakos
12eed23f63 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-03-14 11:39:13 +01:00
francescomani
03617b9165 more general SR config for period and offset 2022-03-14 10:43:59 +01:00
luis_pereira87
e23e863e0f Merge remote-tracking branch 'origin/Dedicated-BWPs' into Dedicated-BWPs 2022-03-14 09:33:20 +00:00
luis_pereira87
3114060a38 Add configuration files for 217 PRBs (80 MHz) and 273 PRBs (100 MHz) BW in a Dedicated BWP 2022-03-14 09:32:33 +00:00
Thomas Schlichter
7e17f8bd6a make nr_ulsim PASS condition depend on eff_tp_check, just as nr_dlsim already does 2022-03-14 09:45:38 +01:00
Thomas Schlichter
a82d897478 Merge remote-tracking branch 'origin/nr-ue-fixes' into support-15-kHz-SCS 2022-03-14 09:36:29 +01:00
Thomas Schlichter
1e5c3c5707 Merge remote-tracking branch 'origin/develop' into fix_nr_odd_prb 2022-03-14 09:35:17 +01:00
francescomani
a88a8dae8e config of pucch2 in rrcsetup 2022-03-11 12:27:00 +01:00
francescomani
63ebfff4d3 Merge remote-tracking branch 'origin/develop' into NR_PUCCH_RRC_Resources 2022-03-10 15:21:47 +01:00
luis_pereira87
b04957b57c Add configuration files for 217 PRBs (80 MHz) and 273 PRBs (100 MHz) BW in a Dedicated BWP 2022-03-10 13:19:40 +00:00
rmagueta
670f979f97 Perform the average of LS estimates over time for CSI-RS at UE 2022-03-09 20:00:41 +00:00
rmagueta
0126bd849b Remove redundant info from nr_csi_rs_info_t 2022-03-09 19:18:30 +00:00
Raymond Knopp
6abb1e362d Merge remote-tracking branch 'origin/tdd25period_for_MR' into F1_interop_ACC
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
	openair1/SCHED_NR/fapi_nr_l1.c
	openair1/SIMULATION/NR_PHY/dlschsim.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
	openair2/LAYER2/NR_MAC_gNB/main.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
	openair2/RRC/NR/nr_rrc_proto.h
	openair2/RRC/NR/rrc_gNB.c
	openair3/ocp-gtpu/gtp_itf.cpp
	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
2022-03-09 19:16:23 +01:00
matzakos
14ec3e505d Fix decoding of UE-capabilities-RAT-container-list at the DU after receiving it from the CU 2022-03-09 19:08:15 +01:00
rmagueta
19d8ea2742 Minor optimizations 2022-03-09 17:59:32 +00:00
francescomani
06d488bb23 ulsch memory optimization 2022-03-09 17:35:38 +01:00
rmagueta
51a72b8479 LS channel estimation at UE based on CSI-RS 2022-03-09 15:07:23 +00:00
luis_pereira87
00c6a4bce5 Avoid segmentation fault 2022-03-08 19:14:42 +00:00
luis_pereira87
d058e2a6ed Increase RRC_BUF_SIZE to 1024 to solve encoding failure 2022-03-08 18:13:25 +00:00
luis_pereira87
19f532d450 Fix build after merge 2022-03-08 14:54:16 +00:00
luis_pereira87
a87e99ad69 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair1/PHY/TOOLS/lte_ue_scope.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-03-08 14:21:00 +00:00
rmagueta
db0ce84aa5 Fix FAPI for CSI-RS pdu and associated procedures 2022-03-08 13:18:17 +00:00
rmagueta
bbe806a870 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	openair2/RRC/NR/nr_rrc_config.c
#	openair2/RRC/NR/nr_rrc_config.h
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
2022-03-07 13:10:40 +00:00
francescomani
b8935b7761 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-03-07 10:37:48 +01:00
rmagueta
a77769d45b Fix build after merge 2022-03-05 02:32:34 +00:00
rmagueta
a634f14f74 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.c
#	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
2022-03-05 01:58:51 +00:00
luis_pereira87
bb89ae3aca Delete duplicated prototype function (update to develop implementation) 2022-03-05 01:42:26 +00:00
rmagueta
de8aa24de5 Get CSI-RS symbols from received signal at UE 2022-03-05 01:37:38 +00:00
Raymond Knopp
2776ec78b0 Add initial support for DL Data Delivery status reporting over NR-User plane protocol in gtp-u 2022-03-03 17:21:59 +01:00
Raymond Knopp
d4b566ceb8 Update ori.h for AW2S RU 2022-03-03 17:21:23 +01:00
rmagueta
35324cfa12 Call nr_generate_csi_rs at UE side too 2022-03-02 18:30:02 +00:00
rmagueta
6c27a40f09 Creation of nr_csi_rs_info_t 2022-03-02 16:30:54 +00:00
rmagueta
c272bb2f7c Generalization of the nr_generate_csi_rs function to be able to call it in gNB and UE 2022-03-02 15:23:15 +00:00
rmagueta
7fdd7547be Merge remote-tracking branch 'origin/develop' into develop-CSI 2022-03-02 13:14:09 +00:00
francescomani
9e26621d4b Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-03-01 15:54:31 +01:00
francescomani
7bda635e03 handling 2-port CSI report at MAC gNB 2022-03-01 10:57:54 +01:00
matzakos
e5c6ee599c Merge with latest updates of develop and fixes for F1
-Problem when parsing UE_RAT_container_list at the DU through UE context setup request
-Some debug logs added to be removed once this is fixed
2022-02-28 21:51:41 +01:00
matzakos
55d59e5f2a Merge remote-tracking branch 'origin/repair-f1-5g' into F1C_extensions_develop 2022-02-28 14:44:01 +01:00
rmagueta
3eaebbca93 CSI PDU received at PHY layer in new function nr_ue_csi_rs_procedures at UE 2022-02-23 20:23:34 +00:00
rmagueta
853776ef2f Implementation of FAPI procedures for CSI at UE 2022-02-23 19:32:20 +00:00
rmagueta
05a9c0e264 Fix in nr_ue_scheduler for CSI 2022-02-23 18:12:36 +00:00
rmagueta
fdce62f799 Add cyclic_prefix in csirs_config_pdu at UE 2022-02-23 18:05:45 +00:00
rmagueta
5bae6dd6f3 Add missing fiels in fapi_nr_dl_config_csirs_pdu_rel15_t 2022-02-23 16:11:13 +00:00
rmagueta
3ae8f393f4 Add logs in nr_generate_csi_rs 2022-02-23 15:05:02 +00:00
rmagueta
4d17364142 Fix build warnings 2022-02-23 14:16:58 +00:00
rmagueta
0e0526e367 Merge remote-tracking branch 'origin/develop' into develop-CSI
# Conflicts:
#	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
2022-02-23 13:51:31 +00:00
francescomani
faf38c7e56 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-02-23 14:20:39 +01:00
luis_pereira87
08e97aa9c8 Fix warnings after merge 2022-02-23 11:09:55 +00:00
luis_pereira87
8238c40ce9 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-02-23 10:48:49 +00:00
rmagueta
ed6aa9f505 Replace AssertFatal with a LOG in nr_get_csi_payload at UE 2022-02-22 20:09:58 +00:00
rmagueta
0ced14a56d Fix in nr_set_pdsch_semi_static 2022-02-22 20:02:15 +00:00
rmagueta
bb82697819 Fix segmentation fault at UE in nr_schedule_csi_for_im and nr_schedule_csirs_reception 2022-02-22 19:14:17 +00:00
rmagueta
cf284d76f0 Fix build after merge 2022-02-22 17:49:59 +00:00
rmagueta
6f19524e95 Merge remote-tracking branch 'origin/CSI-SA' into develop-CSI
# Conflicts:
#	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
#	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/nr_rrc_proto.h
#	openair2/RRC/NR/rrc_gNB_nsa.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-02-22 15:10:20 +00:00
rmagueta
628726caae Fix build after merge 2022-02-22 13:33:36 +00:00
rmagueta
4f58d66972 Merge remote-tracking branch 'origin/nr_csirs_rrc_harmonization' into develop-CSI
# Conflicts:
#	openair1/SIMULATION/NR_PHY/dlsim.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-02-22 13:14:12 +00:00
rmagueta
2b108cdded Merge remote-tracking branch 'origin/NR_UE_CSIRS_scheduling' into develop-CSI 2022-02-22 10:09:51 +00:00
rmagueta
580f56c869 Revert "Implementation of fill_default_csi_MeasConfig"
This reverts commit 777074ff79.
2022-02-22 10:08:39 +00:00
rmagueta
777074ff79 Implementation of fill_default_csi_MeasConfig 2022-02-21 20:23:27 +00:00
rmagueta
d820051397 Update config files 2022-02-21 17:46:02 +00:00
luis_pereira87
5b1dfb8bc9 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
#	openair2/RRC/NR/rrc_gNB_reconfig.c
2022-02-21 10:20:42 +00:00
francescomani
ec539fc6a5 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-02-21 10:02:30 +01:00
Raymond Knopp
c02650826d SIMD alignment of stack arrays in ptrs channel estimation. 2022-02-19 17:17:09 +01:00
Raymond Knopp
9790eb1adc Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	cmake_targets/phy_simulators
	cmake_targets/phy_simulators/CMakeLists.txt
2022-02-19 13:14:53 +01:00
rmagueta
35d6c4af98 Fix ra_SearchSpace for NSA 2022-02-18 02:09:59 +00:00
rmagueta
da251e00b3 Fix firstActiveBWP and defaultBWP for NSA 2022-02-18 01:59:33 +00:00
rmagueta
cce425baf7 Fix searchSpaceId and controlResourceSetId for NSA 2022-02-18 01:43:09 +00:00
rmagueta
87c69d2fe4 To use initialBWP when there are no dedicated BWPs in config file 2022-02-18 01:22:26 +00:00
rmagueta
589cb2f43e Fix segmentation fault for do-ra 2022-02-18 00:39:34 +00:00
rmagueta
99d1588670 Fix phy-test 2022-02-18 00:28:44 +00:00
rmagueta
0789759b85 Fix dedicated BWPs configuration for NSA 2022-02-17 20:09:39 +00:00
rmagueta
d1e7dead00 Fix the removal of unused BWPs 2022-02-17 14:14:50 +00:00
rmagueta
95a0271779 Fix warning 2022-02-17 10:22:28 +00:00
luis_pereira87
bddcfc512f Implementation of functions required for the BWP switching based on RRC method 2022-02-16 19:23:53 +00:00
luis_pereira87
6b69e67f71 Fix number of search spaces 2022-02-16 16:43:49 +00:00
matzakos
fb153cc792 Merge remote-tracking branch 'origin/NR_SA_UID' into F1C_extensions_develop 2022-02-16 16:08:58 +01:00
matzakos
d3d9325081 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-02-16 16:08:34 +01:00
luis_pereira87
405edc8bd3 Fix RRC state and sub-state 2022-02-16 12:43:04 +00:00
luis_pereira87
1cd71d1742 Change LOG level 2022-02-16 11:51:20 +00:00
luis_pereira87
acdbb5bb8d Fix segmentation fault in phy-test 2022-02-16 11:28:04 +00:00
luis_pereira87
47592d53aa Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.h
2022-02-16 11:17:24 +00:00
francescomani
c4f1812cc9 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-02-14 18:14:19 +01:00
luis_pereira87
5d488fcbfe Merge remote-tracking branch 'origin/multiple-ues-min-prbs-bug-fix' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2022-02-11 10:06:39 +00:00
Robert Schmidt
0a6322103c Reduce max_num_ue after successful PUCCH alloc 2022-02-10 12:44:26 +01:00
Robert Schmidt
571677b948 Make nr_find_nb_rb() take minimum RBsize 2022-02-10 12:43:54 +01:00
luis_pereira87
c1931a60e7 Bug fix in min num of PRBs to schedule to a UE when there is multiple UEs 2022-02-09 20:14:05 +00:00
luis_pereira87
06d07e3a4c Bug fix in min num of PRBs to schedule to a UE when there is multiple UEs 2022-02-09 20:09:51 +00:00
Raymond Knopp
dccbd9279a Some hardcoded values in F1AP for testing with Accelleran to be removed later 2022-02-09 11:05:23 +01:00
luis_pereira87
9c72064883 Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
#	ci-scripts/conf_files/gnb.band78.sa.fr1.162PRB.2x2.usrpn310.conf
#	openair2/GNB_APP/L1_nr_paramdef.h
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/du_gnb.conf
2022-02-08 15:12:32 +00:00
francescomani
8d7df8d164 rrc configuration for pucch power control 2022-02-07 19:28:51 +01:00
luis_pereira87
7c747e5ccd Merge remote-tracking branch 'origin/NR_pdcch_improvements' into Dedicated-BWPs 2022-02-07 13:36:42 +00:00
luis_pereira87
4973424468 Merge remote-tracking branch 'origin/NR_pdcch_improvements' into Dedicated-BWPs 2022-02-07 13:09:10 +00:00
luis_pereira87
719aec8b9a Merge remote-tracking branch 'origin/NR_pdcch_improvements' into Dedicated-BWPs
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
2022-02-04 13:28:09 +00:00
luis_pereira87
5b875ab25d Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-02-02 15:06:42 +00:00
Raymond Knopp
2e0823a7ae Change mapping between DRB id and channel id for interoperability with Accelleran CU
-Some hardcodings also added to be removed later
2022-02-01 14:03:42 +01:00
francescomani
d29b17a211 function to configure SR 2022-01-26 17:46:26 +01:00
francescomani
9408c3c0b0 function to set dl_DataToUL_ACK 2022-01-26 13:58:57 +01:00
matzakos
a19f2e3254 Merge remote-tracking branch 'origin/aw2s-n41' into F1_interop_ACC 2022-01-24 15:11:50 +01:00
luis_pereira87
729c4ef1de Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	ci-scripts/conf_files/gNB_SA_n78_106PRB.2x2_usrpn310.conf
#	ci-scripts/conf_files/gNB_SA_n78_133PRB.2x2_usrpn310.conf
#	openair2/GNB_APP/L1_nr_paramdef.h
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/du_gnb.conf
2022-01-24 11:46:27 +00:00
francescomani
975f7e868a function to configure pucch resource set 1 (format2) 2022-01-21 19:15:50 +01:00
francescomani
dd6dac1392 function to configure pucch resource set 0 2022-01-21 16:16:02 +01:00
francescomani
299ba03b84 passing UECAP structure to RRC reconfiguration functions 2022-01-21 09:29:49 +01:00
francescomani
0d86181a58 using uid also in SA 2022-01-20 18:56:44 +01:00
Raymond Knopp
a3aae0dd9e made default nr_ulsim configuration not require root privileges (single-thread) 2022-01-20 12:35:13 +01:00
Raymond Knopp
6afebc0e41 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen
Conflicts:
	openair1/SIMULATION/LTE_PHY/dlsim.c
	openair1/SIMULATION/LTE_PHY/ulsim.c
2022-01-20 07:51:29 +01:00
Raymond Knopp
1f9900ba61 LDPC decoder generator cleanup 2022-01-19 23:01:27 +01:00
Raymond Knopp
8d164fe2aa Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen 2022-01-19 20:06:08 +01:00
francescomani
4bdc6ac59f minor changes 2022-01-19 18:11:43 +01:00
luis_pereira87
9daebabe60 Handling SIB1 decode at UE when the searchSpaceSIB1 in BWP is NULL 2022-01-19 11:56:41 +00:00
francescomani
3377f91b62 fix free pusch_vars->rho 2022-01-19 11:48:51 +01:00
Raymond Knopp
4caafc7292 removal of lingering .o files in LDPC decoder generator directories. Merge conflict in CMakelists.txt 2022-01-19 11:25:34 +01:00
luis_pereira87
a6bf3f4cb2 Fix search space loop in ue_dci_configuration 2022-01-19 00:29:37 +00:00
luis_pereira87
8df429224b Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs 2022-01-18 17:50:20 +00:00
luis_pereira87
6f7b434c49 Update config files and fix bwp selection 2022-01-18 17:49:24 +00:00
luis_pereira87
754a39def5 Dedicated BWPs working with COTS UE in SA mode 2022-01-18 15:54:32 +00:00
luis_pereira87
e7d11fab4b Fix segmentation fault when exporting packets to wireshark with high MCS 2022-01-18 15:44:24 +00:00
luis_pereira87
10ef3751d7 Fix rbStart in pf_ul 2022-01-18 15:23:01 +00:00
francescomani
79cc85a265 Merge remote-tracking branch 'origin/clean-shutdown' into bupt-ulmimo-4 2022-01-18 15:48:38 +01:00
luis_pereira87
2a610cfef4 Handle config file without servingcellconfigdedicated 2022-01-18 13:49:22 +00:00
Robert Schmidt
18fd38fa08 Don't call trx_end_func() at nr-softmodem, is done in ru_thread() 2022-01-18 14:23:54 +01:00
Robert Schmidt
a2244ab32d Stop RU threads at end of nr-softmodem 2022-01-18 14:21:58 +01:00
luis_pereira87
b608e326ef Derive each Coreset or SearchSpace IDs from the BWPId to uniquely identify each one 2022-01-18 13:00:58 +00:00
Robert Schmidt
8c5524e455 Shutdown nr-softmodem cleanly 2022-01-18 11:53:57 +01:00
francescomani
f05c195751 bugfix for nl index 2022-01-18 09:15:05 +01:00
luis_pereira87
1bd68ef261 Fixes when handling with multiple Coresets 2022-01-18 00:12:56 +00:00
luis_pereira87
2b6c64c98c Backup improvements in servingcellconfigdedicated 2022-01-18 00:12:56 +00:00
francescomani
c1d157dc42 fixing compilation issues 2022-01-17 19:28:17 +01:00
francescomani
65698f6a8f some improvements in ul-mimo code 2022-01-17 15:15:47 +01:00
matzakos
e5899e2f74 Merge remote-tracking branch 'origin/develop' into F1C_extensions_develop 2022-01-17 13:19:45 +01:00
luis_pereira87
370b1f4d79 Fix build warning after merge with develop 2022-01-17 10:30:35 +00:00
luis_pereira87
c9b8bf475b Merge remote-tracking branch 'origin/develop' into Dedicated-BWPs
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
#	openair1/PHY/TOOLS/lte_enb_scope.c
2022-01-17 10:21:22 +00:00
luis_pereira87
1a6b464331 Avoid segmentation fault in the BWP selection 2022-01-14 12:07:26 +00:00
luis_pereira87
96ae9a915f InitialContextSetupResponse with COTS UE 2022-01-13 19:51:48 +00:00
luis_pereira87
a8e7927cde Fix scope build warnings 2022-01-13 17:40:17 +00:00
luis_pereira87
46181eca7d Dedicated BWPs working for SA in RFsim 2022-01-13 17:22:37 +00:00
luis_pereira87
c1f6dbfb2f Fix Msg4 for mac subheader long, RB calculation improvement, and fix variable types to support bigger payload lengths 2022-01-13 11:16:11 +00:00
Raymond Knopp
7090db60bc Merge remote-tracking branch 'origin/physim-hotfix' into ldpc-decoder-codegen 2022-01-13 10:35:32 +01:00
Raymond Knopp
08100357f7 Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen 2022-01-13 09:51:08 +01:00
luis_pereira87
b15f1f1830 Fix number of RRCSetup encoded bytes 2022-01-12 17:51:32 +00:00
luis_pereira87
4f50fcce2a Add dedicated BWPs in fill_initial_SpCellConfig 2022-01-12 17:21:20 +00:00
luis_pereira87
6e4ff32cc5 Add Dedicated Serving Cell Configuration to config files 2022-01-12 14:40:50 +00:00
luis_pereira87
981f46039f Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2022-01-12 14:28:43 +00:00
Raymond Knopp
f44d1ccfeb reduced memory requirements of dlsim,ulsim 2022-01-12 14:21:47 +01:00
luis_pereira87
212f00fce7 Fix segmentation faults for SA 2022-01-11 19:03:35 +00:00
luis_pereira87
4f6938839a Remove hardcoded controlResourceSetId 2022-01-11 18:24:52 +00:00
luis_pereira87
2bab005799 Remove unused BWPs 2022-01-11 17:59:30 +00:00
luis_pereira87
296357fe1b BWP fixes 2022-01-11 14:27:07 +00:00
luis_pereira87
20b6ee70eb Fix build warning after merge with develop 2022-01-11 10:57:16 +00:00
luis_pereira87
68d4daf7d9 Fix variable wrongly replaced during the merge with develop 2022-01-11 10:56:34 +00:00
luis_pereira87
87c75ebccd Merge remote-tracking branch 'origin/develop' into scs_60_iisc
# Conflicts:
#	ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
#	ci-scripts/conf_files/gnb.band78.sa.fr1.162PRB.2x2.usrpn310.conf
#	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
2022-01-11 10:20:20 +00:00
francescomani
d36079c914 Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2022-01-10 10:46:15 +01:00
francescomani
882c4b34a2 cleanup 2022-01-07 18:03:35 +01:00
Raymond Knopp
7d9b3464a8 Merge branch 'ldpc-decoder-codegen' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc-decoder-codegen
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/ldpctest_BG_1_Zc_384_rate_1-3_block_length_8448_maxit_5.txt
	openair1/PHY/CODING/nrLDPC_decoder.c
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h_native_memcpy
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_bnProc/bnProc_gen_avx2
	openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_bnProc_avx512/bnProc_gen_avx512
2022-01-05 14:55:13 +01:00
Raymond Knopp
74ce2cf4be to trigger CI 2022-01-05 01:27:42 +01:00
rmagueta
7f6e5c6fff Fix warnings after merge with develop 2021-12-27 11:35:49 +00:00
luis_pereira87
35ebb0e045 Update min_rxtxtime in config file after merge 2021-12-27 11:26:21 +00:00
luis_pereira87
2a4c789ba9 Merge remote-tracking branch 'origin/thread_pool_size' into scs_60_iisc 2021-12-27 11:23:32 +00:00
luis_pereira87
4549104238 Merge remote-tracking branch 'origin/develop' into scs_60_iisc
# Conflicts:
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
#	openair1/SIMULATION/NR_PHY/dlsim.c
2021-12-27 11:13:27 +00:00
Raymond Knopp
40a9792fef build_oai flag to turn off AVX512 generation on machines that have it. Needed for caracal at EURECOM because of CUDA compiler which doesn't like the flag. Added creation of threadpool in nr_ulsim to test channel decoding parallelization on different high CPU count machines 2021-12-24 21:36:06 +01:00
Raymond Knopp
13b8abc310 Merge branch 'develop' into ldpc-decoder-codegen
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	openair1/PHY/TOOLS/time_meas.h
2021-12-24 18:19:13 +01:00
francescomani
ff56eb3a5d Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2021-12-24 09:58:15 +01:00
Sy
cd2b80e6c2 some cleanup 2021-12-22 22:36:42 +01:00
Raymond Knopp
2d4453648f Correct how gtp-u extension header is parsed 2021-12-15 18:38:25 +01:00
francescomani
2f7e7b9823 remove some more logs 2021-12-10 10:54:10 +01:00
francescomani
dbdf38133e reducing log levels 2021-12-09 17:37:55 +01:00
francescomani
79002c1190 phy-sim test cases for UL-MIMO 2021-12-09 17:37:16 +01:00
francescomani
9fd889dc3e Merge remote-tracking branch 'origin/develop' into bupt-ulmimo-4 2021-12-09 09:59:07 +01:00
Fang
2aa8a438f2 add mimo doc 2021-12-07 13:47:15 +08:00
yihz
e4a7eda968 base on 2021.w48, diff_1206_2.diff, UL_NR_MIMO 4*4 2021-12-07 10:43:28 +08:00
Luis Pereira
e6ae92ea17 Revert "Temporary fix to avoid QUECTEL to reject the RRCReconfiguration in NSA mode"
This reverts commit 1302b48b92
2021-12-03 12:56:01 +00:00
luis_pereira87
aa653af57f Merge remote-tracking branch 'origin/develop' into scs_60_iisc
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
2021-12-02 11:24:07 +00:00
luis_pereira87
0f63e94861 Update Dedicated Serving Cell Configuration section in configuration file 2021-12-01 23:17:20 +00:00
luis_pereira87
1302b48b92 Temporary fix to avoid QUECTEL to reject the RRCReconfiguration in NSA mode
For now, QUECTEL rejects the RRCReconfiguration with more than 1 BWP Dedicated, need to understand why...
2021-12-01 22:28:06 +00:00
luis_pereira87
8cc8ef123b Add ServingCellConfigDedicated to RRCReconfiguration message in NSA 2021-12-01 22:02:41 +00:00
luis_pereira87
6edd0bb2ca Change LOG levels 2021-12-01 22:02:35 +00:00
luis_pereira87
ee054770c4 Fix Segmentation Fault and avoid multiple calloc for the same pointers 2021-12-01 22:02:28 +00:00
luis_pereira87
b4f8857da3 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-29 17:35:13 +00:00
Sy
5521e34360 my Internship project 2021-11-25 17:34:02 +01:00
Raymond Knopp
12792eece7 Modifications in the cellGroupConfig container content of F1 UE context response messages 2021-11-19 18:52:51 +01:00
matzakos
e8d92cbddd Merge remote-tracking branch 'origin/NR_F1C_F1U_extensions' into F1C_extensions_develop 2021-11-19 16:47:47 +01:00
francescomani
7f392cdb24 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-15 11:33:46 +01:00
Raymond Knopp
e51cd863fe Merge branch 'bler_txoptim' into F1C_extensions_develop
Conflicts:
	cmake_targets/CMakeLists.txt
	common/utils/nr/nr_common.c
	openair1/PHY/INIT/nr_parms.c
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
	openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
	openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
	openair1/SCHED_NR/fapi_nr_l1.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
	openair1/SIMULATION/NR_PHY/dlschsim.c
	openair1/SIMULATION/NR_PHY/dlsim.c
	openair2/GNB_APP/gnb_config.c
	openair2/LAYER2/NR_MAC_UE/config_ue.c
	openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/LAYER2/NR_MAC_gNB/main.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
	openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
	openair2/RRC/NR/L2_nr_interface.c
	openair2/RRC/NR/MESSAGES/asn1_msg.c
	openair2/RRC/NR/MESSAGES/asn1_msg.h
	openair2/RRC/NR/rrc_gNB_NGAP.c
	openair3/NAS/NR_UE/nr_nas_msg_sim.c
	openair3/NAS/NR_UE/nr_nas_msg_sim.h
	openair3/ocp-gtpu/gtp_itf.cpp
	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2021-11-14 21:18:50 +01:00
matzakos
40263348f9 Merge with NR_F1C_F1U_extensions and resolve conflicts 2021-11-12 17:01:27 +01:00
matzakos
188a99ca51 Temporary dirty fix to not block SRB1 traffic once SRB2 is added
-This function will change completely after update with develop
2021-11-10 18:35:52 +01:00
matzakos
cd16d7ce03 Make the call to send DCCH SDU to RLC from RRC instead of F1AP 2021-11-10 18:35:05 +01:00
matzakos
f1455f15a3 Check whether RRC Setup is available before sending CBRA Msg4
-Required for the CU/DU split case if the RRC Setup arrives later than the first opportunity to transmit Msg4
-Next extension is to decouple RRCSetup from Msg4
2021-11-10 18:33:48 +01:00
matzakos
6a1ac14447 Include mandatory transaction ID field in F1 initial UL RRC message transfer 2021-11-10 18:31:08 +01:00
francescomani
1396004ccc Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-09 10:44:34 +01:00
matzakos
e2b4f80ac2 Add sNSSAI configuration in F1 Setup request message to the CU
-Required for interoperability with Accelleran CU and OAI CN
-Currently hardcoded values, to be modified so that they are parsed from the DU config file
-After this modification Accelleran CU sends gNBCU configuration update
2021-11-05 10:38:46 +01:00
francescomani
5bfd507915 some more fixes for RA at gNB 2021-11-04 09:19:29 +01:00
francescomani
ebaabde8c6 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-11-03 14:06:58 +01:00
francescomani
f1992a58f8 fixes in bwp ss and coreset configuration at ue 2021-11-01 18:14:39 +01:00
francescomani
1e6c36d877 fix segfault in SA rfsim 2021-11-01 12:03:25 +01:00
francescomani
3186d45e71 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-10-27 15:00:50 +02:00
matzakos
b103ada542 Fix decoding of SIB1 RRC container at the processing function of F1 setup request at the CU
after modifications done at the encoded SIB1 message type included in the RRC container of F1 setup request at the DU
-Some cleanup required
2021-10-26 18:30:51 +02:00
matzakos
e7f8b56b65 Include NR_SIB1_t type in F1 setup req container instead of the whole NR_BCCH_DL_SCH_Message_t message
-Wireshark is not complaining after that
-Issue at decoding F1 Setup req at the CU due to the new encoding
-Keep the previous encoding as the default for now until the CU issue is fixed
-Fix PUCCH allocation for ACK/NAK issue appearing when DU runs without OAI CU
2021-10-26 13:11:50 +02:00
matzakos
96efe9c03b Enable rrc mac config from init NR SI for the DU case 2021-10-26 12:56:32 +02:00
francescomani
0e0be91aa3 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-10-21 15:07:38 +02:00
matzakos
11cdf1610e Update F1AP UE context release command handling function for NR
-Include ITTI message to RRC to do the actual processing at RRC layer,
 as done for the other F1AP messages. Leave LTE processing as it was for now.
2021-10-20 19:00:51 +02:00
matzakos
85faedfcbe Add triggering of F1 UE Context release command
-Add also a temporary artificial trigger just to be able to test with OAI UE
-Comment out most of the part of the UE context release command handler function at the DU in order to separate properly the RRC from F1AP functionality later.
2021-10-18 18:32:57 +02:00
matzakos
40b131be13 Small corrections in F1AP UE context management messages and indentation fixes 2021-10-13 16:45:42 +02:00
matzakos
b37195ad1f Few updates on handling master cell group configuration updates coming from the DU 2021-10-13 14:36:38 +02:00
matzakos
1a40b36193 Use correct SCTP port number for F1AP according to standards 2021-10-12 19:38:19 +02:00
matzakos
39aaf63a4e Merge with branch NR_F1C_F1U_extensions 2021-10-11 17:56:28 +02:00
matzakos
e2c88f91af Trigger dedicated RRC Reconfiguration after processing F1 UE context modification response at RRC layer of the CU
-Successful user-plane traffic over F1-U upon completion of UE context modification procedures
2021-10-08 18:29:39 +02:00
matzakos
d3899a21a6 Add implementation of UE context modification response handler at F1AP layer of the CU 2021-10-08 13:37:46 +02:00
matzakos
a1b2d222dd Generation of UE context modification response at F1AP layer of the DU
-Fix some indentations
2021-10-08 10:31:53 +02:00
matzakos
f068fb4ef3 Add handling of UE context modification request at RRC layer of the DU and trigger UE context modification response
-Next step: Proper generation of UE context modification response at F1AP layer
2021-10-06 18:43:10 +02:00
matzakos
b3c0095f07 Add handler function for UE context modification request message at F1AP layer of the DU
-Fix indentation in UE context modification request message generation function at the CU
2021-10-05 17:24:16 +02:00
matzakos
36b8bb1b5b Trigger UE context modification request at the CU upon reception of PDU Session Resource setup request from the AMF
-F1 message successfully encoded at the CU (including SRB2, DRB and F1-U tunnel configuration) and received from the DU.
-Next steps: handling of UE context modification request at the DU and triggering the UE context setup response towards the CU.
2021-10-05 13:43:19 +02:00
matzakos
a84ecd1468 Merge with branch NR_F1C_F1U_extensions 2021-09-29 13:59:06 +02:00
matzakos
55476b175f Handle UE capabilities info at the DU received through UE context setup request
-Trigger UE context setup response at the DU and RRC Reconfiguration at the CU upon reception of UE context setup response.
-Pending: The DU should generate some updates on the master cell groupconfig based also on the received UE capabilities and add them in
 the UE context setup response message so that they can be included in the RRC Reconfiguration message sent from the CU. For the moment the
 corresponding function is empty.
-Next steps: trigger UE context modification procedures
2021-09-27 18:02:13 +02:00
matzakos
5e506bfab0 Trigger F1 UE context setup request from CU after reception of NR UE capabilities
-Include UE_Capability_RAT_container_list in UE context setup request so that it gets processed at the DU
-Next steps: DU should store and process the UE capabilities and generate updates in master cell group config
to be included in UE context setup response. Then upon reception of UE context setup response, the first RRC Reconfiguration
can be triggered at the CU with the updates on master cell group config.
2021-09-24 16:36:02 +02:00
francescomani
c5feda8613 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-09-10 14:59:10 +02:00
francescomani
503eba46ce fix compilation issue 2021-09-10 13:39:50 +02:00
Abhijith
28394b96af Merge branch 'scs_60_iisc' of gitlab.eurecom.fr:oai/openairinterface5g into scs_60_iisc 2021-08-30 17:27:25 +05:30
Abhijith
f03b309bc0 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-08-30 17:21:34 +05:30
Abhijith
1c60147e86 Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-08-30 16:54:57 +05:30
Abhijith
ad9e0f5db0 Fixed error in fill_default_reconfig() 2021-08-27 11:36:15 +05:30
Abhijith
208a682152 Added documentation 2021-08-20 11:50:41 +05:30
Abhijith
f2a1023d8e Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-08-16 23:01:31 +05:30
Abhijith
8b1138c89f Hardcoding of bwp_id at UE removed 2021-08-16 14:12:04 +05:30
Abhijith
274ea107ff Reverted number of BWPs error at gNB 2021-08-09 17:38:09 +05:30
Abhijith
bd0c5f6030 Reverted no. of BWPs to 4 2021-08-05 11:07:39 +05:30
Abhijith
94808d4326 Added switching delay requirements 2021-07-30 15:57:36 +05:30
Abhijith
000142c3e3 Cosmetic changes 2021-07-29 16:00:23 +05:30
Shruthi
104e532731 Review comments on SA mode addressed 2021-07-23 13:42:14 +05:30
Shruthi
6fa460dd2d Merge remote-tracking branch 'origin/develop' into scs_60_iisc 2021-07-23 13:06:12 +05:30
Abhijith
f34c9131d9 Fixed SA mode Error 2021-07-13 14:45:32 +05:30
Abhijith
1a089a0d67 Fixed errors with initialBWP and SA 2021-07-06 16:37:46 +05:30
Abhijith
115a6d0384 Merge conflicts resolved 2021-07-05 11:49:41 +05:30
Abhijith
92298de507 Merge remote-tracking branch 'origin/develop' into HEAD 2021-07-05 11:25:06 +05:30
Abhijith
1f94285040 Rebased to develop after SA merge 2021-07-02 17:03:20 +05:30
Abhijith
8507a3d281 Log level changed 2021-06-25 14:04:32 +05:30
Abhijith
076a8264c2 Merge branch 'scs_60_iisc' of https://gitlab.eurecom.fr/oai/openairinterface5g into scs_60_iisc 2021-06-25 13:39:20 +05:30
Abhijith
c623d90453 Review comments incorporated 2021-06-25 13:38:40 +05:30
Abhijith Atreya
039442c1d4 Fixed warnings and extra Log messages removed 2021-06-25 13:38:40 +05:30
Shruthi
6602bdeed8 PTRS paramaters removed 2021-06-25 13:38:40 +05:30
Abhijith Atreya
d3674a25e1 Fixed PTRS errors 2021-06-25 13:38:40 +05:30
Abhijith
ea1b995a75 Fixed error with BWP_Id 4 2021-06-25 13:38:40 +05:30
Abhijith
24acc0e8b0 scs and bwp location error fixed 2021-06-25 13:38:40 +05:30
Abhijith
4f9aaa927e Access SCD parameters from config file 2021-06-25 13:38:40 +05:30
Abhijith
af6807d30b pucch errors fixed 2021-06-25 13:38:40 +05:30
Abhijith
1fe40f312e bugfix : pdcch and BWP switch capability 2021-06-25 13:38:40 +05:30
Abhijith
bca775a594 Fixed compilation issues 2021-06-25 13:38:40 +05:30
Abhijith
91765a2c4d Initial commit for addition of dedicated BWPs 2021-06-25 13:38:40 +05:30
Abhijith
4a6f8a7dc7 Review comments incorporated 2021-06-25 13:18:52 +05:30
Abhijith Atreya
698917bf1c Fixed warnings and extra Log messages removed 2021-06-02 14:32:32 +00:00
Shruthi
e9a6efc9c9 PTRS paramaters removed 2021-06-02 12:17:08 +05:30
Abhijith Atreya
82ba9b96f4 Fixed PTRS errors 2021-06-01 11:35:03 +00:00
Abhijith
b2fedd793c Fixed error with BWP_Id 4 2021-06-01 15:50:16 +05:30
Abhijith
0628d54480 scs and bwp location error fixed 2021-05-27 20:49:55 +05:30
Abhijith
0afec1e3dd Access SCD parameters from config file 2021-05-27 18:10:46 +05:30
Abhijith
1ce9f1fccb pucch errors fixed 2021-05-26 21:20:02 +05:30
Abhijith
0ec806f5fe bugfix : pdcch and BWP switch capability 2021-05-25 20:16:31 +05:30
Abhijith
8e79241cbe Fixed compilation issues 2021-05-24 14:18:26 +05:30
Abhijith
1042db7317 Initial commit for addition of dedicated BWPs 2021-05-24 13:41:27 +05:30
Raymond Knopp
c64362f8ec Merge remote-tracking branch 'origin/develop' into ldpc-decoder-codegen
Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
2020-08-27 07:22:10 +02:00
Raymond Knopp
3bc433a5f8 bugfix from type in last commit 2020-08-27 07:18:49 +02:00
Sy
845a226410 optimized 5G NR LDPC decoder 2020-07-06 02:34:12 +02:00
Sy
c8a787d22c optimized 5G NR LDPC decoder 2020-07-03 14:21:00 +02:00
Sy
559e8fdcd2 degradation of performance in BLER fixed | bnProc & bnProcPc unrolled | small improvement in times 2020-07-01 18:37:52 +02:00
Sy
0f704894f4 degradation of performance in BLER corrected | bnProc & bnProcPc unrolled 2020-07-01 14:12:53 +02:00
Sy
5e5bc1a9e3 Effective management of all values ​​of Z (lifting size) and all R (coding rate) for BG1 & BG2 |
some improvement in decoding time | (bnProcPc reduces 2x)
2020-06-27 02:07:13 +02:00
Sy
c912762144 bnProcPc and bnProc unrolled | BN Processing, small improvement in times at the expense of degraded performance in BLER , reordering of generated files 2020-06-19 23:45:02 +02:00
Sy
394f0deb1b bnProcPc and bnProc unrolled | BN treatment, small improvement in times at the expense of degraded performance in BLER , reordering of generated files 2020-06-19 23:38:37 +02:00
Raymond Knopp
55e32f6e8c removed unnecessary include files 2020-06-06 10:57:33 +02:00
Raymond Knopp
0d65f76d46 removed system includes that were put in the repository 2020-06-06 09:32:41 +02:00
Sy
119be5d45b Re-implementation of memcpy--> more faster | llr2cnProcBuf, cn2bnProcbuf, bn2cnProcBuf are optimized 2020-06-04 02:52:35 +02:00
Sy
cb8760a44d full version of the optimized 5NR LDPC decoder | AVX2 && AVX512 options 2020-06-03 22:57:13 +02:00
Sy
9b11d0b593 full version of the optimized 5NR LDPC decoder 2020-06-03 22:51:05 +02:00
Sy
301317eca6 full version of the optimized 5NR LDPC decoder 2020-06-03 19:04:20 +02:00
Raymond Knopp
a6af0d99ce minor fix for AVX2/AVX512 switch 2020-06-02 13:19:35 +02:00
matzakos
956d9aa1d8 added selection between AVX2 and AVX512 2020-06-02 12:06:38 +02:00
Raymond Knopp
8663ee697e chages in AVX512 code generator. Yields small improvement compared to AVX2, BLER performance is still degraded. 2020-06-01 14:40:11 +02:00
Sy
c67550e531 Test for AVX512 2020-05-29 15:23:22 +02:00
Sy
265b5c4d1b Test for AVX512 2020-05-29 15:19:52 +02:00
Sy
4542322bb4 TEST AVX512 2020-05-29 15:13:56 +02:00
Sy
558fccbba7 TEST AVX512 2020-05-29 15:07:54 +02:00
Sy
b85b5fe47a Test for avx512 2020-05-29 14:57:15 +02:00
Sy
6d9ceaa712 Test for AVX512 2020-05-29 13:51:38 +02:00
Sy
5e5e487e4c Test for avx512 2020-05-29 11:58:55 +02:00
Raymond Knopp
3e27bed4f7 updates to CMakelist.txt for AVX512 options 2020-05-28 12:23:33 +02:00
Sy
bdd12a3396 Testing for avx512 2020-05-27 13:41:57 +02:00
Sy
bfad636369 Testing for avx512 2020-05-26 16:50:32 +02:00
Sy
00a8df6f8f generated CN processing files according to the values of Z | version for AVX2 and AVX512| BG1 & BG2 2020-05-25 14:34:07 +02:00
Sy
a1b81d9475 generated files for CN processing according to the values of Z | version for AVX2 and AVX512 2020-05-23 22:07:22 +02:00
Sy
140fa111c4 file generated for CN processing according to the values of Z | version for AVX2 and AVX512 2020-05-23 21:39:17 +02:00
Sy
ad32b6108e use of avx2 & avx512 at CN processing level 2020-05-19 11:49:10 +02:00
Sy
d3af4c4b8b use of avx2 & avx512 at CN processinf level 2020-05-19 11:46:09 +02:00
Sy
22fe32645b use of avx512 & avx2 at CN processing level 2020-05-18 17:05:50 +02:00
Sy
71a8d19b7d use of avx2 & avx512 at CN Processing level 2020-05-18 13:58:44 +02:00
Sy
3ed622afbd use of avx512 at CN processing level 2020-05-18 11:50:12 +02:00
Raymond Knopp
a7e6137408 unrolled 2 BNs case in generator 2020-05-09 09:14:59 +02:00
Raymond Knopp
581a9731d8 removed one-level of unrolling in cnProc generator 2020-05-08 23:24:04 +02:00
Sy
732b98d1ae adding >> 5 to all lut_startAddrCnGroups 2020-05-08 17:40:45 +02:00
Sy
fe27b81703 adding >> 5 to all lut_startAddrCnGroups 2020-05-08 17:38:44 +02:00
Sy
66c30b9e1d adding >> 5 to all lut_startAddrCnGroups 2020-05-08 17:15:50 +02:00
Raymond Knopp
9db8db256a LUT memory access fix for code generator 2020-05-08 15:26:52 +02:00
Sy
e785891fb1 integration of the generated file (nrLDPC_cnProc_BG1_Z384_13 with the LDPC decoder at the base 2020-05-07 16:28:01 +02:00
Raymond Knopp
f8fbd26b57 more cleanup and testing 2020-05-04 13:18:47 +02:00
Raymond Knopp
fa3a637b72 cleanup of generator, added directory/file creation for output 2020-05-04 11:25:09 +02:00
Raymond Knopp
550ab5009b fixed compilation of generator 2020-05-04 10:19:37 +02:00
Raymond Knopp
cabbb72c0f modifications to Makefile to include OPENAIR_HOME path and activate debugging symbols 2020-05-04 09:45:11 +02:00
Sy
0ee70df312 first commit 2020-05-02 23:35:18 +02:00
689 changed files with 303613 additions and 15119 deletions

View File

@@ -278,6 +278,26 @@ pipeline {
}
}
}
stage ("SA B200 Sanity Check") {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-SA-B200-Module-SABOX-Container', 'Test-SA-B200')
}
}
post {
always {
script {
finalizeSlaveJob('RAN-SA-B200-Module-SABOX-Container')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI NR UE - OAI gNB - TDD - Band 78 - N300") {
when { expression {doMandatoryTests} }
steps {

View File

@@ -66,7 +66,7 @@ pipeline {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.DH_Credentials}", usernameVariable: 'DH_Username', passwordVariable: 'DH_Password']
]) {
def listOfImages = ["oai-enb", "oai-gnb", "oai-lte-ue", "oai-nr-ue"]
def listOfImages = ["oai-enb", "oai-gnb", "oai-lte-ue", "oai-nr-ue", "proxy"]
sh "docker login -u ${DH_Username} -p ${DH_Password} > /dev/null 2>&1"
listOfImages.eachWithIndex { item, iindex ->
sh "docker image tag ${item}:develop ${DH_Account}/${item}:develop"

View File

@@ -36,6 +36,9 @@ def testStageName = params.pipelineTestStageName
// Name of the phone resource
def ciSmartPhoneResource = params.smartphonesResource
// Name of the phone resource
def ciEpcResource = params.epcResource
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
def eNB_Repository
@@ -51,7 +54,7 @@ pipeline {
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock (ciSmartPhoneResource)
lock(extra: [[resource: ciEpcResource]], resource: ciSmartPhoneResource)
}
stages {
stage ("Verify Parameters") {
@@ -216,6 +219,76 @@ pipeline {
}
}
}
stage ("Terminate") {
parallel {
stage('Terminate UE') {
// Bypassing this stage if there are no abd server defined
when {
expression { params.ADB_IPAddress != "none" }
}
steps {
echo '\u2705 \u001B[32mTerminate UE\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateUE --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password}"
}
}
}
stage('Terminate eNB') {
steps {
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}
}
stage('Terminate SPGW') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
echo '\u2705 \u001B[32mTerminate SPGW\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateSPGW --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
}
stage('Terminate MME') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
echo '\u2705 \u001B[32mTerminate MME\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateMME --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
}
stage('Terminate HSS') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
echo '\u2705 \u001B[32mTerminate HSS\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateHSS --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCType=${params.EPC_Type} --EPCSourceCodePath=${params.EPC_SourceCodePath}"
}
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (eNB - Build)') {
@@ -242,7 +315,7 @@ pipeline {
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
@@ -259,6 +332,116 @@ pipeline {
}
}
}
stage('Log Collection (SPGW)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (SPGW)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectSPGW --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (SPGW)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/spgw.log.zip ./spgw.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("spgw.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "spgw.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (MME)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (MME)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectMME --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (MME)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/mme.log.zip ./mme.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("mme.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "mme.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (HSS)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (HSS)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectHSS --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (HSS)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/hss.log.zip ./hss.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("hss.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "hss.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Ping)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (Ping)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectPing --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (Ping)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/ping.log.zip ./ping.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("ping.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ping.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (Iperf)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (Iperf)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectIperf --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
echo '\u2705 \u001B[32mLog Transfer (Iperf)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/iperf.log.zip ./iperf.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("iperf.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "iperf.log.${env.BUILD_ID}.zip"
}
}
}
}
}
}
}

View File

@@ -20,6 +20,9 @@
* contact@openairinterface.org
*/
// necessary for reading JSON
import groovy.json.JsonSlurper
// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
// Location of the python executor node shall be in the same subnet as the others servers
@@ -37,12 +40,12 @@ pipeline {
stages {
stage ("Launcher") {
steps {
script {
//retrieve MR that are opened nd with tag NSA
MR_LIST= sh returnStdout: true, script: 'curl --silent "https://gitlab.eurecom.fr/api/v4/projects/oai%2Fopenairinterface5g/merge_requests?state=opened&per_page=100&labels=NSA" | jq ".[].iid" || true '
echo "List of selected MR:\n${MR_LIST}"
def MR_ARRAY = MR_LIST.split('\n')
//for every selected MR, retrieve the branch name and the latest commit
script {
// retrieve MR that are opened nd with tag NSA
MR_LIST = sh returnStdout: true, script: 'curl --silent "https://gitlab.eurecom.fr/api/v4/projects/oai%2Fopenairinterface5g/merge_requests?state=opened&per_page=100&labels=NSA" | jq -cj "[.[].iid]"'
echo "List of selected MRs: ${MR_LIST.trim()}"
def MR_ARRAY = new JsonSlurper().parseText(MR_LIST.trim())
// for every selected MR, retrieve the branch name and the latest commit
for (MR in MR_ARRAY) {
SRC_BRANCH=sh returnStdout: true, script: """curl --silent "https://gitlab.eurecom.fr/api/v4/projects/oai%2Fopenairinterface5g/merge_requests/${MR}" | jq ".source_branch" || true """
SRC_BRANCH=SRC_BRANCH.trim()
@@ -113,6 +116,21 @@ pipeline {
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling SA-AmariS
jobName = "RAN-SA-AmariS-CN5G"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_mergeRequest', value: Boolean.valueOf(ALLOW_MERGE))
]
jobResult = jobStatus.getResult()
build_url = jobStatus.getAbsoluteUrl()
build_id = jobStatus.getNumber().toString()
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling OAIUE N310-X300
jobName = "RAN-SA-OAIUE-N310-X300-CN5G"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [

View File

@@ -74,6 +74,7 @@ class Containerize():
self.eNB2SourceCodePath = ''
self.forcedWorkspaceCleanup = False
self.imageKind = ''
self.proxyCommit = None
self.eNB_instance = 0
self.eNB_serverId = ['', '', '']
self.yamlPath = ['', '', '']
@@ -421,6 +422,124 @@ class Containerize():
HTML.CreateHtmlTabFooter(False)
sys.exit(1)
def BuildProxy(self, HTML):
if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
if self.eNB_serverId[self.eNB_instance] == '0':
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath
elif self.eNB_serverId[self.eNB_instance] == '1':
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
lSourcePath = self.eNB1SourceCodePath
elif self.eNB_serverId[self.eNB_instance] == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSourcePath = self.eNB2SourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
if self.proxyCommit is None:
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter (need proxyCommit for proxy build)')
logging.debug('Building on server: ' + lIpAddr)
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
# Check that we are on Ubuntu
mySSH.command('hostnamectl', '\$', 5)
result = re.search('Ubuntu', mySSH.getBefore())
self.host = result.group(0)
if self.host != 'Ubuntu':
logging.error('\u001B[1m Can build proxy only on Ubuntu server\u001B[0m')
mySSH.close()
sys.exit(1)
self.cli = 'docker'
self.cliBuildOptions = '--no-cache'
# Workaround for some servers, we need to erase completely the workspace
if self.forcedWorkspaceCleanup:
mySSH.command('echo ' + lPassWord + ' | sudo -S rm -Rf ' + lSourcePath, '\$', 15)
oldRanCommidID = self.ranCommitID
oldRanRepository = self.ranRepository
oldRanAllowMerge = self.ranAllowMerge
self.ranCommitID = self.proxyCommit
self.ranRepository = 'https://github.com/EpiSci/oai-lte-5g-multi-ue-proxy.git'
self.ranAllowMerge = False
self._createWorkspace(mySSH, lPassWord, lSourcePath)
# to prevent accidentally overwriting data that might be used later
self.ranCommitID = oldRanCommidID
self.ranRepository = oldRanRepository
self.ranAllowMerge = oldRanAllowMerge
# Let's remove any previous run artifacts if still there
mySSH.command(self.cli + ' image prune --force', '\$', 30)
# Remove any previous proxy image
mySSH.command(self.cli + ' image rm oai-lte-multi-ue-proxy:latest || true', '\$', 30)
tag = self.proxyCommit
logging.debug('building L2sim proxy image for tag ' + tag)
# check if the corresponding proxy image with tag exists. If not, build it
mySSH.command(self.cli + ' image inspect --format=\'Size = {{.Size}} bytes\' proxy:' + tag, '\$', 5)
buildProxy = mySSH.getBefore().count('o such image') != 0
if buildProxy:
mySSH.command(self.cli + ' build ' + self.cliBuildOptions + ' --target oai-lte-multi-ue-proxy --tag proxy:' + tag + ' --file docker/Dockerfile.ubuntu18.04 . > cmake_targets/log/proxy-build.log 2>&1', '\$', 180)
# Note: at this point, OAI images are flattened, but we cannot do this
# here, as the flatten script is not in the proxy repo
mySSH.command(self.cli + ' image inspect --format=\'Size = {{.Size}} bytes\' proxy:' + tag, '\$', 5)
if mySSH.getBefore().count('o such image') != 0:
logging.error('\u001B[1m Build of L2sim proxy failed\u001B[0m')
mySSH.close()
HTML.CreateHtmlTestRow('commit ' + tag, 'KO', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlTabFooter(False)
sys.exit(1)
else:
logging.debug('L2sim proxy image for tag ' + tag + ' already exists, skipping build')
# retag the build images to that we pick it up later
mySSH.command('docker image tag proxy:' + tag + ' oai-lte-multi-ue-proxy:latest', '\$', 5)
# no merge: is a push to develop, tag the image so we can push it to the registry
if not self.ranAllowMerge:
mySSH.command('docker image tag proxy:' + tag + ' proxy:develop', '\$', 5)
# we assume that the host on which this is built will also run the proxy. The proxy
# currently requires the following command, and the docker-compose up mechanism of
# the CI does not allow to run arbitrary commands. Note that the following actually
# belongs to the deployment, not the build of the proxy...
logging.warning('the following command belongs to deployment, but no mechanism exists to exec it there!')
mySSH.command('sudo ifconfig lo: 127.0.0.2 netmask 255.0.0.0 up', '\$', 5)
# Analyzing the logs
if buildProxy:
self.testCase_id = HTML.testCase_id
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
mySSH.command('mkdir -p proxy_build_log_' + self.testCase_id, '\$', 5)
mySSH.command('mv log/* ' + 'proxy_build_log_' + self.testCase_id, '\$', 5)
if (os.path.isfile('./proxy_build_log_' + self.testCase_id + '.zip')):
os.remove('./proxy_build_log_' + self.testCase_id + '.zip')
if (os.path.isdir('./proxy_build_log_' + self.testCase_id)):
shutil.rmtree('./proxy_build_log_' + self.testCase_id)
mySSH.command('zip -r -qq proxy_build_log_' + self.testCase_id + '.zip proxy_build_log_' + self.testCase_id, '\$', 5)
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/build_log_' + self.testCase_id + '.zip', '.')
# don't delete such that we might recover the zips
#mySSH.command('rm -f build_log_' + self.testCase_id + '.zip','\$', 5)
# Cleaning any created tmp volume
mySSH.command(self.cli + ' volume prune --force || true','\$', 15)
mySSH.close()
logging.info('\u001B[1m Building L2sim Proxy Image Pass\u001B[0m')
HTML.CreateHtmlTestRow('commit ' + tag, 'OK', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlNextTabHeaderTestRow(self.collectInfo, self.allImagesSize)
def Copy_Image_to_Test_Server(self, HTML):
imageTag = 'develop'
if (self.ranAllowMerge):
@@ -567,8 +686,10 @@ class Containerize():
if status:
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
else:
self.exitStatus = 1
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ALL_PROCESSES_OK)
def UndeployObject(self, HTML, RAN):
if self.eNB_serverId[self.eNB_instance] == '0':
lIpAddr = self.eNBIPAddress
@@ -588,7 +709,7 @@ class Containerize():
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
logging.debug('\u001B[1m Deploying OAI Object on server: ' + lIpAddr + '\u001B[0m')
logging.debug('\u001B[1m Undeploying OAI Object from server: ' + lIpAddr + '\u001B[0m')
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath + '/' + self.yamlPath[self.eNB_instance], '\$', 5)

View File

@@ -168,7 +168,7 @@ class PhySim:
mySSH.close()
#check build status and update HTML object
lHTML = html.HTMLManagement()
lHTML = cls_oai_html.HTMLManagement()
lHTML=self.__CheckBuild_PhySim(htmlObj,constObj)
return lHTML
@@ -186,6 +186,6 @@ class PhySim:
mySSH.command(self.__workSpacePath+'ran_build/build/ldpctest ' + self.runargs + ' >> '+self.__runLogFile, '\$', 30)
mySSH.close()
#return updated HTML to main
lHTML = html.HTMLManagement()
lHTML = cls_oai_html.HTMLManagement()
lHTML=self.__CheckResults_PhySim(htmlObj,constObj,testcase_id)
return lHTML

View File

@@ -21,8 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
servingCellConfigCommon = (
{
#spCellConfigCommon

View File

@@ -32,7 +32,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{

View File

@@ -21,7 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (

View File

@@ -32,7 +32,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (

View File

@@ -21,7 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
servingCellConfigCommon = (

View File

@@ -0,0 +1,224 @@
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
# real_time choice in {hard, rt-preempt, no}
real_time = "no";
////////// Identification parameters:
eNB_ID = 0x1;
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB-Eurecom-LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 93; mnc_length = 2; } );
tr_s_preference = "local_mac"
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 0;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 1;
downlink_frequency = 2160000000L;
uplink_frequency_offset = -200000000L;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
pbch_repetition = "FALSE";
prach_root = 22;
prach_config_index = 3;
prach_high_speed = "DISABLE";
prach_zero_correlation = 5;
prach_freq_offset = 4;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.61.4";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "no";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "l2sim-net";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "l2sim-net";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDRESS";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
# IP Address, port numbers and SSMode for System Simulator
SSConfig = (
{
hostIp = "127.0.0.1"; #Host IP for System Simulator
Sys_port = 7777; #Port Number for System Simulator Sys Port
Srb_port = 7778; #Port Number for System Simulator Srb Port
Vng_port = 7779; #Port Number for System Simulator VNG Port
Vtp_port = 7780; #Port Number for System Simulator VTP Port
SSMode = 1; #SSMode: 0 - eNB , 1- SYS_PORT test , 2- Only SRB_PORT test
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo";
remote_s_address = "127.0.0.1";
local_s_address = "127.0.0.1";
local_s_portc = 50001;
remote_s_portc = 50000;
local_s_portd = 50011;
remote_s_portd = 50010;
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config =
{
global_log_level ="warn";
global_log_verbosity ="low";
hw_log_level ="error";
hw_log_verbosity ="low";
phy_log_level ="error";
phy_log_verbosity ="low";
mac_log_level ="analysis";
mac_log_verbosity ="low";
rlc_log_level ="warn";
rlc_log_verbosity ="low";
pdcp_log_level ="analysis";
pdcp_log_verbosity ="low";
rrc_log_level ="analysis";
rrc_log_verbosity ="full";
};

View File

@@ -0,0 +1,252 @@
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// Identification parameters:
eNB_ID = 0xe00;
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB-Eurecom-LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 5;
plmn_list = ( { mcc = 320; mnc = 230; mnc_length = 3; } );
tr_s_preference = "local_mac"
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2685000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
pbch_repetition = "FALSE";
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
//Parameters for SIB18
rxPool_sc_CP_Len = "normal";
rxPool_sc_Period = "sf40";
rxPool_data_CP_Len = "normal";
rxPool_ResourceConfig_prb_Num = 20;
rxPool_ResourceConfig_prb_Start = 5;
rxPool_ResourceConfig_prb_End = 44;
rxPool_ResourceConfig_offsetIndicator_present = "prSmall";
rxPool_ResourceConfig_offsetIndicator_choice = 0;
rxPool_ResourceConfig_subframeBitmap_present = "prBs40";
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "00000000000000000000";
rxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
/* rxPool_dataHoppingConfig_hoppingParameter = 0;
rxPool_dataHoppingConfig_numSubbands = "ns1";
rxPool_dataHoppingConfig_rbOffset = 0;
rxPool_commTxResourceUC-ReqAllowed = "TRUE";
*/
// Parameters for SIB19
discRxPool_cp_Len = "normal"
discRxPool_discPeriod = "rf32"
discRxPool_numRetx = 1;
discRxPool_numRepetition = 2;
discRxPool_ResourceConfig_prb_Num = 5;
discRxPool_ResourceConfig_prb_Start = 3;
discRxPool_ResourceConfig_prb_End = 21;
discRxPool_ResourceConfig_offsetIndicator_present = "prSmall";
discRxPool_ResourceConfig_offsetIndicator_choice = 0;
discRxPool_ResourceConfig_subframeBitmap_present = "prBs40";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "f0ffffffff";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.61.3";
ipv6 = "192:168:30::17";
port = 36412 ;
active = "yes";
preference = "ipv4";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "yes";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
t_dc_prep = 1000; /* unit: millisecond */
t_dc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "lo";
ENB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.1";
ENB_INTERFACE_NAME_FOR_S1U = "lo";
ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.1";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "127.0.0.1";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
# IP Address, port numbers and SSMode for System Simulator
SSConfig = (
{
hostIp = "127.0.0.1"; #Host IP for System Simulator
Sys_port = 7777; #Port Number for System Simulator Sys Port
Srb_port = 7778; #Port Number for System Simulator Srb Port
Vng_port = 7779; #Port Number for System Simulator VNG Port
Vtp_port = 7780; #Port Number for System Simulator VTP Port
SSMode = 2; #SSMode: 0 - eNB , 1- SYS_PORT test , 2- Only SRB_PORT test
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo";
remote_s_address = "127.0.0.1";
local_s_address = "127.0.0.1";
local_s_portc = 50001;
remote_s_portc = 50000;
local_s_portd = 50011;
remote_s_portd = 50010;
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config =
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};

View File

@@ -44,7 +44,6 @@ gNBs =
local_s_portd = 2152;
remote_s_portc = 500;
remote_s_portd = 2152;
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (

View File

@@ -36,7 +36,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (

View File

@@ -37,8 +37,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
pdcch_ConfigSIB1 = (

View File

@@ -38,8 +38,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
pdcch_ConfigSIB1 = (

View File

@@ -21,7 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
servingCellConfigCommon = (

View File

@@ -21,7 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
servingCellConfigCommon = (

View File

@@ -19,8 +19,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"

View File

@@ -41,7 +41,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
do_SRS = 1;

View File

@@ -37,8 +37,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
do_SRS = 1;

View File

@@ -37,7 +37,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
do_SRS = 1;

View File

@@ -37,7 +37,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
#pusch_TargetSNRx10 = 200;
#pucch_TargetSNRx10 = 200;
ul_prbblacklist = "51,52,53,54"

View File

@@ -37,8 +37,7 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts_N1 = 2;
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
#pusch_TargetSNRx10 = 200;
#pucch_TargetSNRx10 = 200;

View File

@@ -21,7 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
servingCellConfigCommon = (
@@ -219,7 +218,7 @@ RUs = (
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sdr_addrs = "addr=192.168.10.2,second_addr=192.168.20.2,mgmt_addr=192.168.18.85";
sdr_addrs = "addr=192.168.10.2,second_addr=192.168.20.2";
}
);

View File

@@ -19,7 +19,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
servingCellConfigCommon = (
{

View File

@@ -20,7 +20,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
min_rxtxtime = 6;
servingCellConfigCommon = (

View File

@@ -32,7 +32,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (

View File

@@ -0,0 +1,344 @@
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 222;
mnc = 01;
mnc_length = 2;
snssaiList = (
{
sst = 1;
#sd = 0x1; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
////////// Physical parameters:
min_rxtxtime = 2;
do_CSIRS = 1;
do_SRS = 1;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641280;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640008;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 28875; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated = ({
# BWP-Downlink
# BWP 1 Configuration
dl_bwp-Id_1 = 1;
dl_bwp1_locationAndBandwidth = 28875; // RBstart=0, L=106 (40 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp1_subcarrierSpacing = 1;
# BWP 2 Configuration
dl_bwp-Id_2 = 2;
dl_bwp2_locationAndBandwidth = 13750; // RBstart=0, L=51 (20 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp2_subcarrierSpacing = 1;
# BWP 3 Configuration
dl_bwp-Id_3 = 3;
dl_bwp3_locationAndBandwidth = 6325; // RBstart=0, L=24 (10 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp3_subcarrierSpacing = 1;
firstActiveDownlinkBWP-Id = 1; #BWP-Id
defaultDownlinkBWP-Id = 1; #BWP-Id
# bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
# ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
# ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
# spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
# UplinkConfig
# BWP-Uplink
# BWP 1 Configuration
ul_bwp-Id_1 = 1;
ul_bwp1_locationAndBandwidth = 28875; // RBstart=0, L=106 (40 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp1_subcarrierSpacing = 1;
# BWP 2 Configuration
ul_bwp-Id_2 = 2;
ul_bwp2_locationAndBandwidth = 13750; // RBstart=0, L=51 (20 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp2_subcarrierSpacing = 1;
# BWP 3 Configuration
ul_bwp-Id_3 = 3;
ul_bwp3_locationAndBandwidth = 6325; // RBstart=0, L=24 (10 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp3_subcarrierSpacing = 1;
firstActiveUplinkBWP-Id = 1; #BWP-Id
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "172.21.16.136";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.21.16.137/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "172.21.16.137/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 0;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 100;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 10;
att_rx = 10;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 114;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
clock_src = "internal";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
ngap_log_level ="debug";
f1ap_log_level ="debug";
};

View File

@@ -32,9 +32,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
sib1_tda = 15;
min_rxtxtime = 6;

View File

@@ -16,7 +16,7 @@ Ref :
L1 Rx processing : 175.0
PUSCH inner-receiver : 100.0
PUSCH decoding : 180.0
DL & UL scheduling timing stats : 37.0
DL & UL scheduling timing : 37.0
UL Indication : 38.0
Threshold :
feprx : 1.25
@@ -28,5 +28,5 @@ Threshold :
L1 Rx processing : 1.25
PUSCH inner-receiver : 1.25
PUSCH decoding : 1.25
DL & UL scheduling timing stats : 1.25
DL & UL scheduling timing : 1.25
UL Indication : 1.25

View File

@@ -15,8 +15,9 @@ Ref :
DLSCH encoding : 230.0
L1 Rx processing : 175.0
PUSCH inner-receiver : 100.0
PUSCH decoding : 180.0
DL & UL scheduling timing stats : 37.0
#PUSCH decoding : 180.0
PUSCH decoding : 240.0
DL & UL scheduling timing : 37.0
UL Indication : 38.0
Threshold :
feprx : 1.25
@@ -28,5 +29,5 @@ Threshold :
L1 Rx processing : 1.25
PUSCH inner-receiver : 1.25
PUSCH decoding : 1.25
DL & UL scheduling timing stats : 1.25
DL & UL scheduling timing : 1.25
UL Indication : 1.25

View File

@@ -311,6 +311,8 @@ class EPCManagement():
tmp = str(response[0],'utf-8')
self.MmeIPAddress = tmp.rstrip()
logging.debug('AMF IP Address ' + self.MmeIPAddress)
else:
logging.error('no container with name oai-amf found, could not retrieve AMF IP address')
mySSH.close()
def CheckHSSProcess(self, status_queue):

View File

@@ -102,7 +102,7 @@ def AssignParams(params_dict):
def GetParametersFromXML(action):
if action == 'Build_eNB' or action == 'Build_Image':
if action == 'Build_eNB' or action == 'Build_Image' or action == 'Build_Proxy':
RAN.Build_eNB_args=test.findtext('Build_eNB_args')
CONTAINERS.imageKind=test.findtext('kind')
forced_workspace_cleanup = test.findtext('forced_workspace_cleanup')
@@ -138,6 +138,9 @@ def GetParametersFromXML(action):
RAN.backgroundBuild=True
else:
RAN.backgroundBuild=False
proxy_commit = test.findtext('proxy_commit')
if proxy_commit is not None:
CONTAINERS.proxyCommit = proxy_commit
elif action == 'WaitEndBuild_eNB':
RAN.Build_eNB_args=test.findtext('Build_eNB_args')
@@ -915,10 +918,14 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
HTML=ldpc.Run_PhySim(HTML,CONST,id)
elif action == 'Build_Image':
CONTAINERS.BuildImage(HTML)
elif action == 'Build_Proxy':
CONTAINERS.BuildProxy(HTML)
elif action == 'Copy_Image_to_Test':
CONTAINERS.Copy_Image_to_Test_Server(HTML)
elif action == 'Deploy_Object':
CONTAINERS.DeployObject(HTML, EPC)
if CONTAINERS.exitStatus==1:
RAN.prematureExit = True
elif action == 'Undeploy_Object':
CONTAINERS.UndeployObject(HTML, RAN)
elif action == 'Cppcheck_Analysis':

View File

@@ -383,17 +383,19 @@ class RANManagement():
# If tracer options is on, running tshark on EPC side and capture traffic b/ EPC and eNB
localEpcIpAddr = EPC.IPAddress
localEpcUserName = EPC.UserName
localEpcPassword = EPC.Password
mySSH.open(localEpcIpAddr, localEpcUserName, localEpcPassword)
eth_interface = 'any'
fltr = 'sctp'
logging.debug('\u001B[1m Launching tshark on interface ' + eth_interface + ' with filter "' + fltr + '"\u001B[0m')
self.epcPcapFile = 'enb_' + self.testCase_id + '_s1log.pcap'
mySSH.command('echo ' + localEpcPassword + ' | sudo -S rm -f /tmp/' + self.epcPcapFile , '\$', 5)
mySSH.command('echo $USER; nohup sudo tshark -f "host ' + lIpAddr +'" -i ' + eth_interface + ' -f "' + fltr + '" -w /tmp/' + self.epcPcapFile + ' > /tmp/tshark.log 2>&1 &', localEpcUserName, 5)
mySSH.close()
if EPC.IPAddress != "none":
localEpcIpAddr = EPC.IPAddress
localEpcUserName = EPC.UserName
localEpcPassword = EPC.Password
mySSH.open(localEpcIpAddr, localEpcUserName, localEpcPassword)
eth_interface = 'any'
fltr = 'sctp'
logging.debug('\u001B[1m Launching tshark on interface ' + eth_interface + ' with filter "' + fltr + '"\u001B[0m')
self.epcPcapFile = 'enb_' + self.testCase_id + '_s1log.pcap'
mySSH.command('echo ' + localEpcPassword + ' | sudo -S rm -f /tmp/' + self.epcPcapFile , '\$', 5)
mySSH.command('echo $USER; nohup sudo tshark -f "host ' + lIpAddr +'" -i ' + eth_interface + ' -f "' + fltr + '" -w /tmp/' + self.epcPcapFile + ' > /tmp/tshark.log 2>&1 &', localEpcUserName, 5)
mySSH.close()
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath, '\$', 5)
# Initialize_eNB_args usually start with -O and followed by the location in repository

View File

@@ -528,15 +528,15 @@ class Dashboard:
editable_mr = project.mergerequests.get(int(mr))
mr_notes = editable_mr.notes.list(all=True)
body = '<a href="https://oaitestdashboard.s3.eu-west-1.amazonaws.com/MR'+mr+'/index.html">Consolidated Test Results</a><br>'+\
'Tested CommitID: ' + commit + '<br>'
body = '[Consolidated Test Results](https://oaitestdashboard.s3.eu-west-1.amazonaws.com/MR'+mr+'/index.html)\\\n'
body += 'Tested CommitID: ' + commit
for i in range(0,n_tests):
jobname = args[4*i]
buildurl = args[4*i+1]
buildid = args[4*i+2]
status = args[4*i+3]
body += jobname+', status is <b>'+status+'</b>, (<a href="'+buildurl+'">'+buildid+'</a>)<br>'
body += '\\\n' + jobname + ': **'+status+'** ([' + buildid + '](' + buildurl + '))'
#create new note
mr_note = editable_mr.notes.create({

View File

@@ -60,7 +60,7 @@ class SSHConnection():
count = 0
connect_status = False
while count < 4:
self.ssh = pexpect.spawn('ssh -o PubkeyAuthentication=no {}@{}'.format(username,ipaddress))
self.ssh = pexpect.spawn('ssh -o PubkeyAuthentication=yes {}@{}'.format(username,ipaddress))
# Longer timeout at connection due to asterix slowness
self.ssh.timeout = 25
self.sshresponse = self.ssh.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', 'Last login', pexpect.EOF, pexpect.TIMEOUT])
@@ -84,14 +84,11 @@ class SSHConnection():
else:
logging.debug('self.sshresponse = ' + str(self.sshresponse))
elif self.sshresponse == 2:
# Checking if we are really on the remote client defined by its IP address
self.command('stdbuf -o0 ifconfig | egrep --color=never "inet addr:|inet "', prompt, 5)
result = re.search(str(ipaddress), str(self.ssh.before))
if result is None:
self.close()
else:
count = 10
connect_status = True
# We directly ended up on the remote server because of pubkey auth
count = 10
connect_status = True
# this expect() seems to be necessary to advance the read buffer until the prompt, or getBefore() will not return the last command
self.sshresponse = self.ssh.expect([prompt])
else:
# debug output
logging.debug(str(self.ssh.before))
@@ -272,4 +269,4 @@ class SSHConnection():
sys.exit('SCP failed')
def getBefore(self):
return str(self.ssh.before)
return self.ssh.before.decode('utf-8')

View File

@@ -25,7 +25,7 @@ gnb :
L1 Rx processing:
PUSCH inner-receiver:
PUSCH decoding:
DL & UL scheduling timing stats:
DL & UL scheduling timing:
UL Indication:
graph :
page1:
@@ -45,5 +45,5 @@ gnb :
page4:
rt.PUSCH inner-receiver:
rt.PUSCH decoding:
rt.DL & UL scheduling timing stats:
rt.DL & UL scheduling timing:
rt.UL Indication:

View File

@@ -1,3 +1,4 @@
- Build_Proxy
- Build_PhySim
- Run_PhySim
- Build_eNB

View File

@@ -0,0 +1,42 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>l2sim-5gnr-proxy-build</htmlTabRef>
<htmlTabName>Build L2sim proxy image</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
000001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>Build_Proxy</class>
<desc>Build L2sim Proxy Image</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
<proxy_commit>56cfdc0</proxy_commit>
</testCase>
</testCaseList>

View File

@@ -53,7 +53,6 @@
<class>Initialize_UE</class>
<desc>Initialize Quectel</desc>
<id>idefix</id>
<UE_Trace>yes</UE_Trace>
</testCase>

View File

@@ -0,0 +1,168 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>TEST-SA-FR1-B200</htmlTabRef>
<htmlTabName>SA SanityCheck with QUECTEL</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
010002
030000
030101
000001
010000
000001
050000
050001
010002
000001
030201
</TestCaseRequestedList>
<!--
070001
070000
070002
050002
050003
-->
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="010000">
<class>Initialize_UE</class>
<desc>Initialize Quectel</desc>
<id>idefix</id>
</testCase>
<testCase id="010002">
<class>Terminate_UE</class>
<desc>Terminate Quectel</desc>
<id>idefix</id>
</testCase>
<testCase id="030000">
<class>Copy_Image_to_Test</class>
<desc>Copy gNB image to test server</desc>
<image_name>oai-gnb</image_name>
<registry_svr_id>1</registry_svr_id>
<test_svr_id>0</test_svr_id>
</testCase>
<testCase id="030101">
<class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/40MHz/B200) in a container</desc>
<yaml_path>ci-scripts/yaml_files/sa_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="000001">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
</testCase>
<testCase id="000002">
<class>IdleSleep</class>
<desc>Sleep</desc>
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
</testCase>
<testCase id="050000">
<class>Ping</class>
<desc>Ping: 20pings in 20sec</desc>
<id>idefix</id>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>15</ping_rttavg_threshold>
</testCase>
<testCase id="050001">
<class>Ping</class>
<desc>Ping: 100pings in 20sec</desc>
<id>idefix</id>
<ping_args>-c 100 -i 0.2</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>15</ping_rttavg_threshold>
</testCase>
<testCase id="050002">
<class>Ping</class>
<desc>Ping: 20pings in 20sec</desc>
<id>idefix</id>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>15</ping_rttavg_threshold>
</testCase>
<testCase id="050003">
<class>Ping</class>
<desc>Ping: 100pings in 20sec</desc>
<id>idefix</id>
<ping_args>-c 100 -i 0.2</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>15</ping_rttavg_threshold>
</testCase>
<testCase id="070000">
<class>Iperf</class>
<desc>iperf (DL/125Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 125M -t 60 -i 1 -fm</iperf_args>
<direction>DL</direction>
<id>idefix</id>
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
<iperf_bitrate_threshold>80</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="070001">
<class>Iperf</class>
<desc>iperf (UL/8Mbps/UDP)(60 sec)(single-ue profile)</desc>
<iperf_args>-u -b 8M -t 60 -i 1 -fm</iperf_args>
<direction>UL</direction>
<id>idefix</id>
<iperf_packetloss_threshold>1</iperf_packetloss_threshold>
<iperf_bitrate_threshold>95</iperf_bitrate_threshold>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="070002">
<class>Iperf</class>
<desc>iperf (BIDIR TCP)(10 sec)(single-ue profile)</desc>
<iperf_args>-t 10 --bidir</iperf_args>
<direction>BIDIR</direction>
<id>idefix</id>
<iperf_profile>single-ue</iperf_profile>
</testCase>
<testCase id="030201">
<class>Undeploy_Object</class>
<desc>Undeploy gNB</desc>
<yaml_path>ci-scripts/yaml_files/sa_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,42 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>TEST-SA-FR1-B200-terminate</htmlTabRef>
<htmlTabName>SA tear-down in case of problem</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="030201">
<class>Undeploy_Object</class>
<desc>Undeploy gNB</desc>
<yaml_path>ci-scripts/yaml_files/sa_b200_gnb</yaml_path>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<image_tag>sa-test</image_tag>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,37 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>5gc-closure</htmlTabRef>
<htmlTabName>5GC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
060000
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="060000">
<class>Terminate_5GCN</class>
<desc>Terminate 5GC</desc>
</testCase>
</testCaseList>

View File

@@ -0,0 +1,38 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>5gc-start-tab</htmlTabRef>
<htmlTabName>5GC-Start</htmlTabName>
<htmlTabIcon>log-in</htmlTabIcon>
<TestCaseRequestedList>
000100
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000100">
<class>Initialize_5GCN</class>
<desc>Initialize 5GC</desc>
</testCase>
</testCaseList>

View File

@@ -32,7 +32,7 @@
<testCase id="000001">
<class>Build_eNB</class>
<desc>Build gNB</desc>
<Build_eNB_args>-w USRP -c --gNB --ninja</Build_eNB_args>
<Build_eNB_args>-w USRP -c --gNB --ninja --noavx512</Build_eNB_args>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<forced_workspace_cleanup>True</forced_workspace_cleanup>

View File

@@ -50,7 +50,7 @@
<testCase id="000002">
<class>Build_eNB</class>
<desc>Build gNB</desc>
<Build_eNB_args>-w USRP -c --gNB --ninja</Build_eNB_args>
<Build_eNB_args>-w USRP -c --gNB --ninja --noavx512</Build_eNB_args>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<backgroundBuild>True</backgroundBuild>

View File

@@ -26,6 +26,7 @@
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
010002
030000
040000
000002

View File

@@ -26,6 +26,7 @@
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
010002
031000
041000
000002

View File

@@ -26,6 +26,7 @@
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
010002
030000
040000
000002

View File

@@ -26,6 +26,7 @@
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
010002
040000
000002
010000

View File

@@ -26,6 +26,7 @@
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
010002
042000
000002
010000

View File

@@ -26,6 +26,7 @@
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
011002
041000
000002
011000

View File

@@ -24,7 +24,7 @@
<htmlTabRef>gNB-PHY-Test</htmlTabRef>
<htmlTabName>Run-gNB-PHY-Test</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>3</repeatCount>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
090101 000001 090109
</TestCaseRequestedList>
@@ -33,7 +33,7 @@
<testCase id="090101">
<class>Initialize_eNB</class>
<desc>Initialize gNB USRP</desc>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf --phy-test -q -U 787200 -T 106 -t 28 -D 130175 -m 28 -M 106 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.106PRB.usrpn300.conf --phy-test -q -U 787200 -T 106 -t 28 -D 130175 -m 28 -M 106 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<air_interface>NR</air_interface>
<USRP_IPAddress>192.168.20.2</USRP_IPAddress>
</testCase>

View File

@@ -34,7 +34,7 @@
<mode>TesteNB</mode>
<class>Build_eNB</class>
<desc>Build gNB (USRP)</desc>
<Build_eNB_args>--gNB -w USRP --ninja --cmake-opt -DBoost_INCLUDE_DIR=/usr/include/boost169</Build_eNB_args>
<Build_eNB_args>--gNB -w USRP --ninja --cmake-opt -DBoost_INCLUDE_DIR=/usr/include/boost169 --noavx512</Build_eNB_args>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
</testCase>

View File

@@ -32,7 +32,7 @@
<testCase id="000001">
<class>Build_PhySim</class>
<desc>Build for physical simulator</desc>
<physim_build_args>--phy_simulators --ninja</physim_build_args>
<physim_build_args>--phy_simulators --ninja --noavx512</physim_build_args>
<forced_workspace_cleanup>FALSE</forced_workspace_cleanup>
</testCase>

View File

@@ -26,6 +26,7 @@
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
010002
030000
000002
010000
@@ -88,7 +89,7 @@
<id>nrmodule2_quectel</id>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>40</ping_rttavg_threshold>
<ping_rttavg_threshold>60</ping_rttavg_threshold>
</testCase>
<testCase id="050001">
<class>Ping</class>
@@ -96,7 +97,7 @@
<id>nrmodule2_quectel</id>
<ping_args>-c 100 -s 1024 -i 0,2</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>40</ping_rttavg_threshold>
<ping_rttavg_threshold>60</ping_rttavg_threshold>
</testCase>

View File

@@ -26,6 +26,7 @@
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
010002
030001
000002
010000
@@ -88,7 +89,7 @@
<id>nrmodule2_quectel</id>
<ping_args>-c 20</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>40</ping_rttavg_threshold>
<ping_rttavg_threshold>60</ping_rttavg_threshold>
</testCase>
<testCase id="050003">
<class>Ping</class>
@@ -96,7 +97,7 @@
<id>nrmodule2_quectel</id>
<ping_args>-c 100 -s 1024 -i 0,2</ping_args>
<ping_packetloss_threshold>1</ping_packetloss_threshold>
<ping_rttavg_threshold>40</ping_rttavg_threshold>
<ping_rttavg_threshold>60</ping_rttavg_threshold>
</testCase>

View File

@@ -0,0 +1,44 @@
version: '3.8'
services:
gnb_mono_tdd:
image: oai-gnb:latest
privileged: true
container_name: sa-b200-gnb
environment:
USE_SA_TDD_MONO_B2XX: 'yes'
USE_B2XX: 'yes'
GNB_NAME: gNB-in-docker
MCC: '222'
MNC: '01'
MNC_LENGTH: 2
TAC: 1
NSSAI_SST: 1
NSSAI_SD0: 1
AMF_IP_ADDRESS: 172.21.16.136
GNB_NGA_IF_NAME: eth0
GNB_NGA_IP_ADDRESS: 192.168.68.194
GNB_NGU_IF_NAME: eth0
GNB_NGU_IP_ADDRESS: 192.168.68.194
USE_ADDITIONAL_OPTIONS: --sa -E -q --RUs.[0].sdr_addrs serial=30C51D4 --continuous-tx --log_config.global_log_options level,nocolor,time,line_num,function
volumes:
- /dev:/dev
networks:
public_net:
ipv4_address: 192.168.68.194
#entrypoint: /bin/bash -c "sleep infinity"
healthcheck:
# pgrep does NOT work
test: /bin/bash -c "ps aux | grep -v grep | grep -c softmodem"
interval: 10s
timeout: 5s
retries: 5
networks:
public_net:
name: sa-b200-gnb-net
ipam:
config:
- subnet: 192.168.68.192/26
driver_opts:
com.docker.network.bridge.name: "sa-gnb-net"

View File

@@ -155,6 +155,8 @@ set (NFAPI_USER_DIR ${OPENAIR_DIR}/nfapi/oai_integration)
set (OPENAIR1_DIR ${OPENAIR_DIR}/openair1)
set (OPENAIR2_DIR ${OPENAIR_DIR}/openair2)
set (OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
set (SIDL_DIR ${OPENAIR_DIR}/openair3/SS/Sidl/lib)
set (SIDL_CMPLR ${OPENAIR_DIR}/openair3/SS/Sidl/sidl)
set (OPENAIR_TARGETS ${OPENAIR_DIR}/targets)
set (OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
set (OPENAIR_CMAKE ${OPENAIR_DIR}/cmake_targets)
@@ -203,17 +205,23 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
else (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
if(EXISTS "/proc/cpuinfo")
file(STRINGS "/proc/cpuinfo" CPUINFO REGEX flags LIMIT_COUNT 1)
if (CPUINFO MATCHES "avx2")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mavx2")
message("NOAVX512 is ${NOAVX512}")
if (CPUINFO MATCHES "avx512bw" AND "${NOAVX512}" STREQUAL "False")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mavx512bw -march=skylake-avx512 -mtune=skylake-avx512 " )
set(COMPILATION_AVX2 "True")
else()
set(COMPILATION_AVX2 "False")
endif()
if (CPUINFO MATCHES "sse4_1")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -msse4.1 -mpclmul")
endif()
if (CPUINFO MATCHES "ssse3")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mssse3")
if (CPUINFO MATCHES "avx2")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mavx2")
set(COMPILATION_AVX2 "True")
else()
set(COMPILATION_AVX2 "False")
endif()
if (CPUINFO MATCHES "sse4_1")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -msse4.1 -mpclmul")
endif()
if (CPUINFO MATCHES "ssse3")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mssse3")
endif()
endif()
else()
Message("/proc/cpuinfo does not exit. We will use manual CPU flags")
@@ -224,11 +232,11 @@ set(C_FLAGS_PROCESSOR " ${C_FLAGS_PROCESSOR} ${CFLAGS_PROCESSOR_USER}")
Message("C_FLAGS_PROCESSOR is ${C_FLAGS_PROCESSOR}")
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
if ( (NOT( C_FLAGS_PROCESSOR MATCHES "ssse3")) OR (NOT( C_FLAGS_PROCESSOR MATCHES "msse4.1")) )
Message(FATAL_ERROR "For x86 Architecture, you must have following flags: -mssse3 -msse4.1. The current detected flags are: ${C_FLAGS_PROCESSOR}. You can pass the flags manually in build script, for example: ./build_oai --cflags_processor \"-mssse3 -msse4.1 -mavx2\" ")
endif()
endif()
#if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
# if ( (NOT( C_FLAGS_PROCESSOR MATCHES "ssse3")) OR (NOT( C_FLAGS_PROCESSOR MATCHES "msse4.1")) )
# Message(FATAL_ERROR "For x86 Architecture, you must have following flags: -mssse3 -msse4.1. The current detected flags are: ${C_FLAGS_PROCESSOR}. You can pass the flags manually in build script, for example: ./build_oai --cflags_processor \"-mssse3 -msse4.1 -mavx2\" ")
# endif()
#endif()
#
# add autotools definitions that were maybe used!
@@ -247,6 +255,28 @@ add_boolean_option(SANITIZE_ADDRESS False "enable the address sanitizer (ASan)")
if (SANITIZE_ADDRESS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer -fno-common")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer -fno-common")
# There seems to be some incompatibility with pthread_create and the RT scheduler, which
# results in pthread_create hanging.
#
# When we switch from Ubuntu 16.04 to 18.04, we found that running with the address sanitizer,
# the pthread_create function calls were not working. The inital thought was that we were
# trying to create a thread that was not-blocking and would eventually crash the machine during
# the run. After more debugging, we found that we would never even start the thread. We narrowed
# down the first two instances of pthread_create in the gNB and NR UE to be sctp_eNB_task and
# one_thread, respectively. We found that adding sleeps, and various other pauses to the threads
# had not effect. From there, we found that if we add an abort(); prior to the thread loop, we
# do not execute that. This indicated to us that the problem is not likely to be a non-blocking
# thread, but perhaps and issue with pthread_create itself. From there we begain to research the
# issue on the web. See: https://github.com/google/sanitizers/issues/1125
#
# Google searching indicates this appears to be a problem since at least 2018. This could be something
# wrong in the pthread library, or something subtly wrong in this CMakeLists.txt. Use Ubuntu 20.04 instead.
endif ()
add_boolean_option(SANITIZE_UNDEFINED False "enable the undefined behavior sanitizer (UBSan)")
if (SANITIZE_UNDEFINED)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=undefined -fno-sanitize-recover=all")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined -fno-sanitize-recover=all")
endif ()
add_definitions("-DASN_DISABLE_OER_SUPPORT")
@@ -963,10 +993,12 @@ include_directories("${OPENAIR3_DIR}/NAS/COMMON/IES")
include_directories("${OPENAIR3_DIR}/NAS/COMMON/UTIL")
include_directories("${OPENAIR3_DIR}/SECU")
include_directories("${OPENAIR3_DIR}/SCTP")
include_directories("${OPENAIR3_DIR}/SS")
include_directories("${OPENAIR3_DIR}/S1AP")
include_directories("${OPENAIR2_DIR}/X2AP")
include_directories("${OPENAIR2_DIR}/M2AP")
include_directories("${OPENAIR2_DIR}/F1AP")
include_directories("${OPENAIR3_DIR}/UDP")
include_directories("${OPENAIR3_DIR}/ocp-gtpu")
include_directories("${OPENAIR3_DIR}/M3AP")
include_directories("${OPENAIR3_DIR}/MME_APP")
@@ -1384,8 +1416,11 @@ set(PHY_NR_CODINGIF
)
add_library(ldpc_orig MODULE ${PHY_LDPC_ORIG_SRC} )
target_link_libraries(ldpc_orig PRIVATE ldpc_gen_HEADERS)
add_library(ldpc_optim MODULE ${PHY_LDPC_OPTIM_SRC} )
target_link_libraries(ldpc_optim PRIVATE ldpc_gen_HEADERS)
add_library(ldpc_optim8seg MODULE ${PHY_LDPC_OPTIM8SEG_SRC} )
target_link_libraries(ldpc_optim8seg PRIVATE ldpc_gen_HEADERS)
add_library(ldpc_cl MODULE ${PHY_LDPC_CL_SRC} )
target_link_libraries(ldpc_cl OpenCL)
add_dependencies(ldpc_cl nrLDPC_decoder_kernels_CL)
@@ -1397,6 +1432,7 @@ if (CUDA_FOUND)
endif (CUDA_FOUND)
add_library(ldpc MODULE ${PHY_LDPC_OPTIM8SEGMULTI_SRC} )
target_link_libraries(ldpc PRIVATE ldpc_gen_HEADERS)
add_library(coding MODULE ${PHY_TURBOSRC} )
@@ -1542,9 +1578,10 @@ set(PHY_SRC_UE
set(PHY_NR_SRC_COMMON
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_prach_common.c
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_csi_rs.c
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_scrambling.c
${OPENAIR1_DIR}/PHY/NR_REFSIG/scrambling_luts.c
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
)
set(PHY_NR_SRC
@@ -1568,7 +1605,6 @@ set(PHY_SRC_UE
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
${OPENAIR1_DIR}/PHY/NR_REFSIG/ul_ref_seq_nr.c
${OPENAIR1_DIR}/PHY/NR_REFSIG/nr_dmrs_rx.c
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_csi_rs.c
${OPENAIR1_DIR}/PHY/NR_REFSIG/nr_gold.c
${OPENAIR1_DIR}/PHY/NR_REFSIG/nr_gen_mod_table.c
${OPENAIR1_DIR}/PHY/NR_REFSIG/dmrs_nr.c
@@ -1616,6 +1652,7 @@ set(PHY_SRC_UE
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/dci_nr.c
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/dci_tools_nr.c
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/pucch_nr.c
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/csi_rx.c
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_uci_tools_common.c
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
${OPENAIR1_DIR}/PHY/NR_REFSIG/ul_ref_seq_nr.c
@@ -1777,7 +1814,15 @@ set(NR_PDCP_SRC
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_timer_thread.c
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_security_nea2.c
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.c
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c
${OPENAIR2_DIR}/LAYER2/nr_pdcp/asn1_utils.c
#hack: include these files to compile the nr phy simulators
#these files should not be here, will be removed at some point when the
#computation is done directly inside nr_pdcp_integrity_nia1.c instead
#of reusing code of osa_stream_eia.c
${OPENAIR2_DIR}/UTIL/OSA/osa_stream_eia.c
${OPENAIR2_DIR}/UTIL/OSA/osa_snow3g.c
${OPENAIR2_DIR}/UTIL/OSA/osa_rijndael.c
)
set(NR_SDAP_SRC
@@ -1925,6 +1970,7 @@ set (MAC_SRC_UE
set (MAC_NR_SRC_UE
${NR_UE_PHY_INTERFACE_DIR}/NR_IF_Module.c
${NR_UE_PHY_INTERFACE_DIR}/NR_Packet_Drop.c
${NR_UE_MAC_DIR}/config_ue.c
${NR_UE_MAC_DIR}/mac_vars.c
${NR_UE_MAC_DIR}/main_ue_nr.c
@@ -2054,6 +2100,26 @@ set (MME_APP_SRC
add_library(MME_APP ${MME_APP_SRC})
add_dependencies(MME_APP rrc_flag s1ap_flag x2_flag m2_flag m3_flag)
#------------------------------------------------------
include_directories (SIDL_SRC_DIR ${SIDL_CMPLR}/api)
include_directories (SIDL_SRC_DIR ${SIDL_DIR}/acp/api)
include_directories (SIDL_SRC_DIR ${SIDL_DIR}/adbg/api)
include_directories (SIDL_SRC_DIR ${SIDL_DIR}/ser/api)
set(SS_SRC
${OPENAIR3_DIR}/SS/ss_eNB_port_man_task.c
${OPENAIR3_DIR}/SS/ss_eNB_sys_task.c
${OPENAIR3_DIR}/SS/ss_eNB_srb_task.c
${OPENAIR3_DIR}/SS/ss_eNB_vng_task.c
)
file(GLOB ss_sidl ${SIDL_CMPLR}/src/*.c)
file(GLOB ss_acp ${SIDL_DIR}/acp/src/*.c)
file(GLOB ss_adbg ${SIDL_DIR}/adbg/src/*.c)
file(GLOB ss_ser ${SIDL_DIR}/ser/src/*.c)
add_library(SS_SERVER ${ss_sidl} ${ss_acp} ${ss_adbg} ${ss_ser} ${SS_SRC})
add_dependencies(SS_SERVER rrc_flag)
#------------------------------------------------------
set(SCTP_SRC
${OPENAIR3_DIR}/SCTP/sctp_common.c
${OPENAIR3_DIR}/SCTP/sctp_eNB_task.c
@@ -2062,6 +2128,9 @@ set(SCTP_SRC
add_library(SCTP_CLIENT ${SCTP_SRC})
add_dependencies(SCTP_CLIENT rrc_flag)
add_library(UDP ${OPENAIR3_DIR}/UDP/udp_eNB_task.c)
add_dependencies(UDP rrc_flag)
set(NAS_SRC ${OPENAIR3_DIR}/NAS/)
set(libnas_api_OBJS
${NAS_SRC}COMMON/API/NETWORK/as_message.c
@@ -2575,7 +2644,7 @@ add_dependencies(lte-softmodem rrc_flag s1ap_flag x2_flag oai_iqplayer)
target_link_libraries (lte-softmodem
-Wl,--start-group
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U F1AP_LIB F1AP SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_LIB SCHED_RU_LIB
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U F1AP_LIB F1AP SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT SS_SERVER MME_APP UDP SCHED_LIB SCHED_RU_LIB
PHY_COMMON PHY PHY_RU L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
${RAL_LIB} ${NAS_UE_LIB} ITTI ${FLPT_MSG_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB}
-Wl,--end-group z dl)
@@ -2842,6 +2911,7 @@ target_link_libraries(ldpctest
add_executable(nr_dlschsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlschsim.c
${OPENAIR_DIR}/common/utils/nr/nr_common.c
${OPENAIR_DIR}/executables/softmodem-common.c
${T_SOURCE}
${SHLIB_LOADER_SOURCES}
)
@@ -2865,6 +2935,7 @@ target_link_libraries(nr_pbchsim
add_executable(nr_pucchsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pucchsim.c
${OPENAIR_DIR}/common/utils/nr/nr_common.c
${OPENAIR_DIR}/executables/softmodem-common.c
${T_SOURCE}
${SHLIB_LOADER_SOURCES}
)
@@ -2909,6 +2980,7 @@ target_link_libraries(nr_prachsim
add_executable(nr_ulschsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulschsim.c
${OPENAIR_DIR}/common/utils/nr/nr_common.c
${OPENAIR_DIR}/executables/softmodem-common.c
${PHY_INTERFACE_DIR}/queue_t.c
${T_SOURCE}
${SHLIB_LOADER_SOURCES}
@@ -3150,3 +3222,4 @@ ADD_CUSTOM_TARGET(oarf
)
include (${OPENAIR_DIR}/common/utils/telnetsrv/telnetsrv_CMakeLists.txt)
include(${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt)

View File

@@ -1062,7 +1062,8 @@
(Test3: PBCH-only, 217 PRB),
(Test4: PBCH and synchronization, 217 RPB),
(Test5: PBCH-only, 273 PRB),
(Test6: PBCH and synchronization, 273 PRB)</desc>
(Test6: PBCH and synchronization, 273 PRB),
(Test7: PBCH and synchronization, 106PBR, SSB SC OFFSET 6)</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog>
<compile_prog_args> --phy_simulators -c </compile_prog_args>
@@ -1074,8 +1075,9 @@
-s-11 -S-8 -n10 -R217
-s-11 -S-8 -n10 -o8000 -I -R217
-s-11 -S-8 -n10 -R273
-s-11 -S-8 -n10 -o8000 -I -R273</main_exec_args>
<tags>nr_pbchsim.test1 nr_pbchsim.test2 nr_pbchsim.test3 nr_pbchsim.test4 nr_pbchsim.test5 nr_pbchsim.test6</tags>
-s-11 -S-8 -n10 -o8000 -I -R273
-s-11 -S-8 -n10 -R106 -O6</main_exec_args>
<tags>nr_pbchsim.test1 nr_pbchsim.test2 nr_pbchsim.test3 nr_pbchsim.test4 nr_pbchsim.test5 nr_pbchsim.test6 nr_pbchsim.test7</tags>
<search_expr_true>PBCH test OK</search_expr_true>
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
<nruns>3</nruns>
@@ -1104,7 +1106,9 @@
(Test19: Mapping type A, 3 DMRS Symbols),
(Test20: Mapping type B, 4 DMRS Symbols),
(Test21: 4x4 MIMO, 1 Layer),
(Test22: 4x4 MIMO, 2 Layers)</desc>
(Test22: 4x4 MIMO, 2 Layers),
(Test23: 25 PRBs, 15 kHz SCS)
(Test24: MCS 0, low SNR performance)</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog>
<compile_prog_args> --phy_simulators -c </compile_prog_args>
@@ -1132,8 +1136,10 @@
-n100 -s2 -U 2 0 2
-n100 -s2 -U 2 1 3
-n10 -s20 -U 3 0 0 2 -gR -x1 -y4 -z4
-n10 -s20 -U 3 0 0 2 -gR -x2 -y4 -z4</main_exec_args>
<tags>nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11 nr_dlsim.test12 nr_dlsim.test13 nr_dlsim.test14 nr_dlsim.test15 nr_dlsim.test16 nr_dlsim.test17 nr_dlsim.test18 nr_dlsim.test19 nr_dlsim.test20 nr_dlsim.test21 nr_dlsim.test22</tags>
-n10 -s20 -U 3 0 0 2 -gR -x2 -y4 -z4
-n100 -m0 -e0 -R25 -b25 -i 2 1 0
-n100 -e0 -t95 -S-1.0 -i 2 1 0</main_exec_args>
<tags>nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11 nr_dlsim.test12 nr_dlsim.test13 nr_dlsim.test14 nr_dlsim.test15 nr_dlsim.test16 nr_dlsim.test17 nr_dlsim.test18 nr_dlsim.test19 nr_dlsim.test20 nr_dlsim.test21 nr_dlsim.test22 nr_dlsim.test23 nr_dlsim.test24</tags>
<search_expr_true>PDSCH test OK</search_expr_true>
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
<nruns>3</nruns>
@@ -1184,9 +1190,10 @@
<testCase id="015108">
<class>execution</class>
<desc>nr_ulschsim Test cases. (Test1: 106 PRB),
(Test2: 217 PRB),
(Test3: 273 PRB)</desc>
<desc>nr_ulschsim Test cases. (Test1: 106 PRBs),
(Test2: 217 PRBs),
(Test3: 273 PRBs)
(Test4: 106 PRBs 4-layer MIMO)</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog>
<compile_prog_args> --phy_simulators -c </compile_prog_args>
@@ -1195,8 +1202,9 @@
<main_exec> $OPENAIR_DIR/targets/bin/nr_ulschsim.Rel15</main_exec>
<main_exec_args>-R 106 -m9 -s13 -n100
-R 217 -m15 -s15 -n100
-R 273 -m19 -s20 -n100</main_exec_args>
<tags>nr_ulschsim.test1 nr_ulschsim.test2 nr_ulschsim.test3</tags>
-R 273 -m19 -s20 -n100
-R 106 -m9 -s13 -n100 -y4 -z4 -W4</main_exec_args>
<tags>nr_ulschsim.test1 nr_ulschsim.test2 nr_ulschsim.test3 nr_ulschsim.test4</tags>
<search_expr_true>PUSCH test OK</search_expr_true>
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
<nruns>3</nruns>
@@ -1304,7 +1312,14 @@
(Test12: SC-FDMA, 216 PRBs),
(Test13: SC-FDMA, 273 PRBs),
(Test14: SC-FDMA, 3 DMRS),
(Test15: MCS 16 50 PRBs 2 RX_Antenna)</desc>
(Test15: MCS 19 50 PRBs 2 RX_Antenna),
(Test16: MCS 9 106 PRBs MIMO 2 layers),
(Test17: MCS 9 106 PRBs MIMO 4 layers),
(Test18: 25 PRBs, 15 kHz SCS),
(Test19: 3GPP G-FR1-A4-13 2 RX Antennas Requirements Test),
(Test20: 3GPP G-FR1-A4-13 4 RX Antennas Requirements Test),
(Test21: 3GPP G-FR1-A4-13 8 RX Antennas Requirements Test),
(Test22: MCS 0, low SNR performance)</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog>
<compile_prog_args> --phy_simulators -c </compile_prog_args>
@@ -1316,18 +1331,24 @@
-n100 -m28 -s20
-n100 -m9 -R217 -r217 -s5
-n100 -m9 -R273 -r273 -s5
-n100 -s5 -U 2 0 1
-n100 -s5 -T 2 1 2 -U 2 0 2
-n100 -s5 -T 2 2 2 -U 2 1 2
-n100 -s5 -a4 -b8 -T 2 1 2 -U 2 1 3
-n100 -s5 -U 4 0 1 1 1
-n100 -s5 -T 2 1 2 -U 4 0 2 1 1
-n100 -s5 -T 2 2 2 -U 4 1 2 1 1
-n100 -s5 -a4 -b8 -T 2 1 2 -U 4 1 3 1 1
-n100 -s5 -Z
-n100 -s5 -Z -r75
-n50 -s5 -Z -r216 -R217
-n50 -s5 -Z -r270 -R273
-n100 -s5 -Z -U 2 0 2
-n100 -m16 -s10 -z2</main_exec_args>
<tags>nr_ulsim.test1 nr_ulsim.test2 nr_ulsim.test3 nr_ulsim.test4 nr_ulsim.test5 nr_ulsim.test6 nr_ulsim.test7 nr_ulsim.test8 nr_ulsim.test9 nr_ulsim.test10 nr_ulsim.test11 nr_ulsim.test12 nr_ulsim.test13 nr_ulsim.test14 nr_ulsim.test15</tags>
-n100 -s5 -Z -U 4 0 2 1 2
-n100 -m19 -s10 -S15 -z2
-n100 -m9 -r106 -s10 -W2 -y2 -z2
-n100 -m9 -r106 -s20 -W4 -y4 -z4
-n100 -u0 -m0 -R25 -r25 -i 2 1 0
-m16 -r106 -s8.8 -S9.4 -z2 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0
-m16 -r106 -s5.4 -S6 -z4 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0
-m16 -r106 -s3.4 -S3.8 -z8 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0
-n100 -m0 -S -0.6 -i 2 1 0</main_exec_args>
<tags>nr_ulsim.test1 nr_ulsim.test2 nr_ulsim.test3 nr_ulsim.test4 nr_ulsim.test5 nr_ulsim.test6 nr_ulsim.test7 nr_ulsim.test8 nr_ulsim.test9 nr_ulsim.test10 nr_ulsim.test11 nr_ulsim.test12 nr_ulsim.test13 nr_ulsim.test14 nr_ulsim.test15 nr_ulsim.test16 nr_ulsim.test17 nr_ulsim.test18 nr_ulsim.test19 nr_ulsim.test20 nr_ulsim.test21 nr_ulsim.test22</tags>
<search_expr_true>PUSCH test OK</search_expr_true>
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
<nruns>3</nruns>
@@ -1338,10 +1359,11 @@
<desc>nr_prachsim Test cases. (Test1: 30kHz SCS, 106 PRBs, Prach format A2),
(Test2: 30kHz SCS, 217 PRBs, Prach format A2),
(Test3: 30kHz SCS, 273 PRBs, Prach format A2),
(Test4: 30kHz SCS, 106 PRBs, Prach format 0),
(Test4: 30kHz SCS, 106 PRBs, Prach format 0),
(Test5: 120kHz SCS, 32 PRBs, Prach format A2),
(Test6: 120kHz SCS, 66 PRBs, Prach format A2),
(Test7: 120kHz SCS, 66 PRBs, High Speed Enabled)</desc>
(Test7: 120kHz SCS, 66 PRBs, High Speed Enabled),
(Test8: 15kHz SCS, 25 PRBs)</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog>
<compile_prog_args> --phy_simulators -c </compile_prog_args>
@@ -1351,11 +1373,12 @@
<main_exec_args>-a -s -30 -n 100 -p 63 -R 106
-a -s -30 -n 100 -p 63 -R 217
-a -s -30 -n 100 -p 63 -R 273
-a -s -30 -n 100 -p 63 -R 106 -c 4
-a -s -30 -n 100 -p 32 -R 32 -m 3 -c52
-a -s -30 -n 100 -p 32 -R 66 -m 3 -c52
-a -s -30 -n 100 -R 66 -m 3 -c52 -H</main_exec_args>
<tags>nr_prachsim.test1 nr_prachsim.test2 nr_prachsim.test3 nr_prachsim.test4 nr_prachsim.test5 nr_prachsim.test6 nr_prachsim.test7</tags>
-a -s -30 -n 100 -p 63 -R 106 -c 4
-a -s -30 -n 100 -p 32 -R 32 -m 3 -c52
-a -s -30 -n 100 -p 32 -R 66 -m 3 -c52
-a -s -30 -n 100 -R 66 -m 3 -c52 -H
-a -s -30 -n 100 -p 99 -R 25 -m 0</main_exec_args>
<tags>nr_prachsim.test1 nr_prachsim.test2 nr_prachsim.test3 nr_prachsim.test4 nr_prachsim.test5 nr_prachsim.test6 nr_prachsim.test7 nr_prachsim.test8</tags>
<search_expr_true>PRACH test OK</search_expr_true>
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
<nruns>3</nruns>

View File

@@ -55,6 +55,7 @@ BUILD_COVERITY_SCAN=0
DISABLE_HARDWARE_DEPENDENCY="False"
CMAKE_BUILD_TYPE="RelWithDebInfo"
CMAKE_CMD="$CMAKE"
NOAVX512="False"
BUILD_ECLIPSE=0
NR="False"
OPTIONAL_LIBRARIES="telnetsrv enbscope uescope nrscope"
@@ -164,12 +165,18 @@ Options:
Build optional shared library, <libraries> can be one or several of $OPTIONAL_LIBRARIES or \"all\"
--usrp-recplay
Build for I/Q record-playback modes
--noavx512
Build without AVX512 if it is present on CPU
-k | --skip-shared-libraries
Skip build for shared libraries to reduce compilation time when building frequently for debugging purposes
--ninja
Tell cmake to use the Ninja build system. Without, will generate make files
--sanitize
Shortcut for usage of --sanitize-address --sanitize-undefined
--sanitize-address | -fsanitize=address
Enable the address sanitizer on all targets
Enable the address sanitizer on all targets
--sanitize-undefined | -fsanitize=undefined
Enable the undefined behavior sanitizer on all targets
--ittiSIM
Makes the itti simulator
-h | --help
@@ -436,6 +443,10 @@ function main() {
fi
fi
shift 2;;
--noavx512)
NOAVX512="True"
echo_info "Disabling AVX512"
shift 1;;
-k | --skip-shared-libraries)
SKIP_SHARED_LIB_FLAG="True"
echo_info "Skipping build of shared libraries, rfsimulator and transport protocol libraries"
@@ -444,9 +455,16 @@ function main() {
CMAKE_CMD="$CMAKE_CMD -GNinja"
MAKE_CMD=ninja
shift;;
--sanitize)
CMAKE_CMD="$CMAKE_CMD -DSANITIZE_ADDRESS=True -DSANITIZE_UNDEFINED=True"
shift;;
--sanitize-address | -fsanitize=address)
grep -sq "Ubuntu 18.04" /etc/os-release && echo_error "Bug in OS with this option, see CMakeLists.txt"
CMAKE_CMD="$CMAKE_CMD -DSANITIZE_ADDRESS=True"
shift;;
--sanitize-undefined | -fundefined=address)
CMAKE_CMD="$CMAKE_CMD -DSANITIZE_UNDEFINED=True"
shift;;
--ittiSIM)
ittiSIM=1
CMAKE_CMD="$CMAKE_CMD -DITTI_SIM=True"
@@ -624,6 +642,7 @@ function main() {
cd $DIR/$BUILD_DIR/build
if [[ ${#CMAKE_C_FLAGS[@]} > 0 ]]; then CMAKE_CMD="$CMAKE_CMD -DCMAKE_C_FLAGS=\"${CMAKE_C_FLAGS[*]}\""; fi
if [[ ${#CMAKE_CXX_FLAGS[@]} > 0 ]]; then CMAKE_CMD="$CMAKE_CMD -DCMAKE_CXX_FLAGS=\"${CMAKE_CXX_FLAGS[*]}\""; fi
CMAKE_CMD="$CMAKE_CMD -DNOAVX512=\"${NOAVX512[*]}\""
echo_info "running $CMAKE_CMD"
eval $CMAKE_CMD ../..
@@ -713,11 +732,11 @@ function main() {
# simlist="ldpctest"
for f in $simlist ; do
compilations \
ran_build $f \
$BUILD_DIR $f \
$f $dbin/$f.$REL
done
compilations \
ran_build coding \
$BUILD_DIR coding \
libcoding.so $dbin/libcoding.so
fi
@@ -729,7 +748,7 @@ function main() {
simlist="secu_knas_encrypt_eia1 secu_kenb aes128_ctr_encrypt aes128_ctr_decrypt secu_knas_encrypt_eea2 secu_knas secu_knas_encrypt_eea1 kdf aes128_cmac_encrypt secu_knas_encrypt_eia2"
for f in $simlist ; do
compilations \
ran_build test_$f \
$BUILD_DIR test_$f \
test_$f $dbin/test_$f.$REL
done
fi

View File

@@ -109,6 +109,7 @@ check_supported_distribution() {
"ubuntu18.04") return 0 ;;
"ubuntu16.04") return 0 ;;
"fedora35") return 0 ;;
"fedora36") return 0 ;;
"rhel7") return 0 ;;
"rhel7.6") return 0 ;;
"rhel7.7") return 0 ;;
@@ -196,8 +197,8 @@ check_warnings() {
#argument:
# $1: log file
check_errors() {
#we look for 'warning:' in the compilation log file
error_count=`grep "error:" "$1" | wc -l`
#we look for 'error:' in the compilation log file
error_count=`grep -c "error:" "$1"`
if [ $error_count -gt 0 ]; then
echo_error "ERROR: $error_count error. See $1"
fi
@@ -623,7 +624,6 @@ check_install_additional_tools (){
android-tools-adb \
wvdial \
sshpass \
nscd \
bc \
ntp"
elif [[ "$OS_DISTRO" == "rhel" ]] || [[ "$OS_DISTRO" == "centos" ]]; then
@@ -648,7 +648,6 @@ check_install_additional_tools (){
wvdial \
numpy \
sshpass \
nscd \
python2-paramiko \
python-pyroute2 \
python-netifaces \
@@ -676,7 +675,6 @@ check_install_additional_tools (){
wvdial \
python-numpy \
sshpass \
nscd \
python-paramiko \
python-pyroute2 \
python-netifaces \

View File

@@ -47,7 +47,7 @@
#include "RRC/LTE/rrc_defs.h"
#include "RRC/NR/nr_rrc_defs.h"
#include <openair3/ocp-gtpu/gtpv1u_eNB_task.h>
#include <openair3/SS/ss_config.h>
typedef struct {
/// RAN context config file name
@@ -112,6 +112,10 @@ typedef struct {
pthread_mutex_t ru_mutex;
/// condition variable for signaling setup completion of an RU
pthread_cond_t ru_cond;
/// SS Config variables
struct ss_config_s ss;
RBConfig RB_Config[MAX_RBS];
} RAN_CONTEXT_t;
extern RAN_CONTEXT_t RC;

View File

@@ -465,6 +465,7 @@ int logInit (void)
register_log_component("eRAL","",RAL_ENB);
register_log_component("mRAL","",RAL_UE);
register_log_component("ENB_APP","log",ENB_APP);
register_log_component("ENB_SS","log",ENB_SS);
register_log_component("MCE_APP","log",MCE_APP);
register_log_component("MME_APP","log",MME_APP);
register_log_component("FLEXRAN_AGENT","log",FLEXRAN_AGENT);

View File

@@ -158,7 +158,7 @@ extern "C" {
#define DEBUG_RLC (1<<13)
#define DEBUG_DLSCH_DECOD (1<<14)
#define UE_TIMING (1<<20)
#define DEBUG_ENB_SS (1<<21)
#define LOG_MASKMAP_INIT {\
{"PRACH", DEBUG_PRACH},\
@@ -177,6 +177,7 @@ extern "C" {
{"RLC", DEBUG_RLC},\
{"DLSCH_DECOD", DEBUG_DLSCH_DECOD},\
{"UE_TIMING", UE_TIMING},\
{"ENB_SS", DEBUG_ENB_SS},\
{NULL,-1}\
}
@@ -225,6 +226,7 @@ typedef enum {
RAL_ENB,
RAL_UE,
ENB_APP,
ENB_SS,
MCE_APP,
MME_APP,
FLEXRAN_AGENT,
@@ -284,6 +286,9 @@ typedef struct {
char *filelog_name;
uint64_t debug_mask;
uint64_t dump_mask;
uint16_t sfn;
uint8_t sf;
} log_t;

View File

@@ -609,6 +609,27 @@ ID = LEGACY_ENB_APP_TRACE
GROUP = ALL:LEGACY_ENB_APP:LEGACY_GROUP_TRACE:LEGACY
FORMAT = string,log
ID = LEGACY_ENB_SS_INFO
DESC = ENB_SS legacy logs - info level
GROUP = ALL:LEGACY_ENB_SS:LEGACY_GROUP_INFO:LEGACY
FORMAT = string,log
ID = LEGACY_ENB_SS_ERROR
DESC = ENB_SS legacy logs - error level
GROUP = ALL:LEGACY_ENB_SS:LEGACY_GROUP_ERROR:LEGACY
FORMAT = string,log
ID = LEGACY_ENB_SS_WARNING
DESC = ENB_SS legacy logs - warning level
GROUP = ALL:LEGACY_ENB_SS:LEGACY_GROUP_WARNING:LEGACY
FORMAT = string,log
ID = LEGACY_ENB_SS_DEBUG
DESC = ENB_SS legacy logs - debug level
GROUP = ALL:LEGACY_ENB_SS:LEGACY_GROUP_DEBUG:LEGACY
FORMAT = string,log
ID = LEGACY_ENB_SS_TRACE
DESC = ENB_SS legacy logs - trace level
GROUP = ALL:LEGACY_ENB_SS:LEGACY_GROUP_TRACE:LEGACY
FORMAT = string,log
ID = LEGACY_GNB_APP_INFO
DESC = GNB_APP legacy logs - info level
GROUP = ALL:LEGACY_GNB_APP:LEGACY_GROUP_INFO:LEGACY

View File

@@ -191,65 +191,17 @@ int PRBalloc_to_locationandbandwidth(int NPRB,int RBstart) {
return(PRBalloc_to_locationandbandwidth0(NPRB,RBstart,275));
}
/// Target code rate tables indexed by Imcs
/* TS 38.214 table 5.1.3.1-1 - MCS index table 1 for PDSCH */
uint16_t nr_target_code_rate_table1[29] = {120, 157, 193, 251, 308, 379, 449, 526, 602, 679, 340, 378, 434, 490, 553, \
616, 658, 438, 466, 517, 567, 616, 666, 719, 772, 822, 873, 910, 948};
int cce_to_reg_interleaving(const int R, int k, int n_shift, const int C, int L, const int N_regs) {
/* TS 38.214 table 5.1.3.1-2 - MCS index table 2 for PDSCH */
// Imcs values 20 and 26 have been multiplied by 2 to avoid the floating point
uint16_t nr_target_code_rate_table2[28] = {120, 193, 308, 449, 602, 378, 434, 490, 553, 616, 658, 466, 517, 567, \
616, 666, 719, 772, 822, 873, 1365, 711, 754, 797, 841, 885, 1833, 948};
/* TS 38.214 table 5.1.3.1-3 - MCS index table 3 for PDSCH */
uint16_t nr_target_code_rate_table3[29] = {30, 40, 50, 64, 78, 99, 120, 157, 193, 251, 308, 379, 449, 526, 602, 340, \
378, 434, 490, 553, 616, 438, 466, 517, 567, 616, 666, 719, 772};
uint16_t nr_tbs_table[93] = {24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 208, 224, 240, 256, 272, 288, 304, 320, \
336, 352, 368, 384, 408, 432, 456, 480, 504, 528, 552, 576, 608, 640, 672, 704, 736, 768, 808, 848, 888, 928, 984, 1032, 1064, 1128, 1160, 1192, 1224, 1256, \
1288, 1320, 1352, 1416, 1480, 1544, 1608, 1672, 1736, 1800, 1864, 1928, 2024, 2088, 2152, 2216, 2280, 2408, 2472, 2536, 2600, 2664, 2728, 2792, 2856, 2976, \
3104, 3240, 3368, 3496, 3624, 3752, 3824};
uint8_t nr_get_Qm(uint8_t Imcs, uint8_t table_idx) {
switch(table_idx) {
case 1:
return (((Imcs<10)||(Imcs==29))?2:((Imcs<17)||(Imcs==30))?4:((Imcs<29)||(Imcs==31))?6:-1);
break;
case 2:
return (((Imcs<5)||(Imcs==28))?2:((Imcs<11)||(Imcs==29))?4:((Imcs<20)||(Imcs==30))?6:((Imcs<28)||(Imcs==31))?8:-1);
break;
case 3:
return (((Imcs<15)||(Imcs==29))?2:((Imcs<21)||(Imcs==30))?4:((Imcs<29)||(Imcs==31))?6:-1);
break;
default:
AssertFatal(0, "Invalid MCS table index %d (expected in range [1,3])\n", table_idx);
return(0);
break;
}
}
uint32_t nr_get_code_rate(uint8_t Imcs, uint8_t table_idx) {
switch(table_idx) {
case 1:
return (nr_target_code_rate_table1[Imcs]);
break;
case 2:
return (nr_target_code_rate_table2[Imcs]);
break;
case 3:
return (nr_target_code_rate_table3[Imcs]);
break;
default:
AssertFatal(0, "Invalid MCS table index %d (expected in range [1,3])\n", table_idx);
return(0);
break;
int f; // interleaving function
if(R==0)
f = k;
else {
int c = k/R;
int r = k%R;
f = (r*C + c + n_shift)%(N_regs/L);
}
return f;
}
void get_coreset_rballoc(uint8_t *FreqDomainResource,int *n_rb,int *rb_offset) {
@@ -503,7 +455,6 @@ int get_nr_table_idx(int nr_bandP, uint8_t scs_index) {
return i;
}
int get_subband_size(int NPRB,int size) {
// implements table 5.2.1.4-2 from 36.214
//

View File

@@ -57,7 +57,7 @@ static inline int get_num_dmrs(uint16_t dmrs_mask ) {
return(num_dmrs);
}
int cce_to_reg_interleaving(const int R, int k, int n_shift, const int C, int L, const int N_regs);
int get_SLIV(uint8_t S, uint8_t L);
void get_coreset_rballoc(uint8_t *FreqDomainResource,int *n_rb,int *rb_offset);
uint16_t config_bandwidth(int mu, int nb_rb, int nr_band);
@@ -69,12 +69,6 @@ int NRRIV2BW(int locationAndBandwidth,int N_RB);
int NRRIV2PRBOFFSET(int locationAndBandwidth,int N_RB);
int PRBalloc_to_locationandbandwidth0(int NPRB,int RBstart,int BWPsize);
int PRBalloc_to_locationandbandwidth(int NPRB,int RBstart);
extern uint16_t nr_target_code_rate_table1[29];
extern uint16_t nr_target_code_rate_table2[28];
extern uint16_t nr_target_code_rate_table3[29];
extern uint16_t nr_tbs_table[93];
uint8_t nr_get_Qm(uint8_t Imcs, uint8_t table_idx);
uint32_t nr_get_code_rate(uint8_t Imcs, uint8_t table_idx);
int get_subband_size(int NPRB,int size);
void SLIV2SL(int SLIV,int *S,int *L);
int get_dmrs_port(int nl, uint16_t dmrs_ports);

View File

@@ -16,6 +16,7 @@
#include "openair2/COMMON/gtpv1_u_messages_def.h"
#include "openair2/COMMON/flexran_messages_def.h"
#include "openair2/COMMON/f1ap_messages_def.h"
#include "openair2/COMMON/ss_messages_def.h"
#include "openair2/COMMON/ngap_messages_def.h"
#if ITTI_SIM
#include "openair2/COMMON/itti_sim_messages_def.h"

View File

@@ -450,6 +450,7 @@ extern "C" {
void itti_wait_tasks_end(void) {
shutting_down = false;
signal(SIGTERM, catch_sigterm);
//signal(SIGINT, catch_sigterm);
while (! shutting_down)
{
sleep(24 * 3600);

View File

@@ -228,6 +228,7 @@ typedef struct IttiMsgText_s {
#include <openair2/COMMON/m2ap_messages_types.h>
#include <openair2/COMMON/m3ap_messages_types.h>
#include <openair2/COMMON/sctp_messages_types.h>
#include <openair2/COMMON/ss_messages_types.h>
#include <openair2/COMMON/udp_messages_types.h>
#include <openair2/COMMON/gtpv1_u_messages_types.h>
#include <openair2/COMMON/ngap_messages_types.h>
@@ -325,6 +326,10 @@ void *rrc_enb_process_msg(void *);
TASK_DEF(TASK_M3AP_MME, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_M3AP_MCE, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SCTP, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SS_PORTMAN, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SYS, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_SS_SRB, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_VNG, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_ENB_APP, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_GNB_APP, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_MCE_APP, TASK_PRIORITY_MED, 200, NULL, NULL) \
@@ -339,6 +344,7 @@ void *rrc_enb_process_msg(void *);
TASK_DEF(TASK_NAS_UE, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_RAL_UE, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_GTPV1_U, TASK_PRIORITY_MED, 1000,NULL, NULL)\
TASK_DEF(TASK_UDP, TASK_PRIORITY_MED, 1000, NULL, NULL)\
TASK_DEF(TASK_CU_F1, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_DU_F1, TASK_PRIORITY_MED, 200, NULL, NULL) \
TASK_DEF(TASK_RRC_UE_SIM, TASK_PRIORITY_MED, 200, NULL, NULL) \

View File

@@ -80,7 +80,7 @@ static inline notifiedFIFO_elt_t *newNotifiedFIFO_elt(int size,
notifiedFIFO_t *reponseFifo,
void (*processingFunc)(void *)) {
notifiedFIFO_elt_t *ret;
AssertFatal( NULL != (ret=(notifiedFIFO_elt_t *) malloc(sizeof(notifiedFIFO_elt_t)+size+32)), "");
AssertFatal( NULL != (ret=(notifiedFIFO_elt_t *) calloc(1, sizeof(notifiedFIFO_elt_t)+size+32)), "");
ret->next=NULL;
ret->key=key;
ret->reponseFifo=reponseFifo;

View File

@@ -111,13 +111,15 @@ void print_meas(time_stats_t *ts,
}
}
int print_meas_log(time_stats_t *ts,
const char *name,
time_stats_t *total_exec_time,
time_stats_t *sf_exec_time,
char *output)
size_t print_meas_log(time_stats_t *ts,
const char *name,
time_stats_t *total_exec_time,
time_stats_t *sf_exec_time,
char *output,
size_t outputlen)
{
int stroff = 0;
const char *begin = output;
const char *end = output + outputlen;
static int first_time = 0;
static double cpu_freq_GHz = 0.0;
@@ -128,30 +130,49 @@ int print_meas_log(time_stats_t *ts,
first_time=1;
if ((total_exec_time == NULL) || (sf_exec_time== NULL))
stroff += sprintf(output, "%25s %25s %25s %25s %25s %6f\n","Name","Total","Per Trials", "Num Trials","CPU_F_GHz", cpu_freq_GHz);
output += snprintf(output,
end - output,
"%25s %25s %25s %25s %25s %6f\n",
"Name",
"Total",
"Per Trials",
"Num Trials",
"CPU_F_GHz",
cpu_freq_GHz);
else
stroff += sprintf(output+stroff, "%25s %25s %25s %20s %15s %6f\n","Name","Total","Average/Frame","Trials", "CPU_F_GHz", cpu_freq_GHz);
output += snprintf(output,
end - output,
"%25s %25s %25s %20s %15s %6f\n",
"Name",
"Total",
"Average/Frame",
"Trials",
"CPU_F_GHz",
cpu_freq_GHz);
}
if (ts->trials>0) {
//printf("%20s: total: %10.3f ms, average: %10.3f us (%10d trials)\n", name, ts->diff/cpu_freq_GHz/1000000.0, ts->diff/ts->trials/cpu_freq_GHz/1000.0, ts->trials);
if ((total_exec_time == NULL) || (sf_exec_time== NULL)) {
stroff += sprintf(output+stroff, "%25s: %15.3f us; %15d; %15.3f us;\n",
name,
(ts->diff/ts->trials/cpu_freq_GHz/1000.0),
ts->trials,
ts->max/cpu_freq_GHz/1000.0);
output += snprintf(output,
end - output,
"%25s: %15.3f us; %15d; %15.3f us;\n",
name,
ts->diff / ts->trials / cpu_freq_GHz / 1000.0,
ts->trials,
ts->max / cpu_freq_GHz / 1000.0);
} else {
stroff += sprintf(output+stroff, "%25s: %15.3f ms (%5.2f%%); %15.3f us (%5.2f%%); %15d;\n",
name,
(ts->diff/cpu_freq_GHz/1000000.0),
((ts->diff/cpu_freq_GHz/1000000.0)/(total_exec_time->diff/cpu_freq_GHz/1000000.0))*100, // percentage
(ts->diff/ts->trials/cpu_freq_GHz/1000.0),
((ts->diff/ts->trials/cpu_freq_GHz/1000.0)/(sf_exec_time->diff/sf_exec_time->trials/cpu_freq_GHz/1000.0))*100, // percentage
ts->trials);
output += snprintf(output,
end - output,
"%25s: %15.3f ms (%5.2f%%); %15.3f us (%5.2f%%); %15d;\n",
name,
ts->diff / cpu_freq_GHz / 1000000.0,
((ts->diff / cpu_freq_GHz / 1000000.0) / (total_exec_time->diff / cpu_freq_GHz / 1000000.0))*100, // percentage
ts->diff / ts->trials / cpu_freq_GHz / 1000.0,
((ts->diff / ts->trials / cpu_freq_GHz / 1000.0) / (sf_exec_time->diff / sf_exec_time->trials / cpu_freq_GHz / 1000.0)) * 100, // percentage
ts->trials);
}
}
return stroff;
return output - begin;
}
double get_time_meas_us(time_stats_t *ts)

View File

@@ -62,7 +62,7 @@ typedef struct time_stats {
oai_cputime_t in; /*!< \brief time at measure starting point */
oai_cputime_t diff; /*!< \brief average difference between time at starting point and time at endpoint*/
oai_cputime_t p_time; /*!< \brief absolute process duration */
oai_cputime_t diff_square; /*!< \brief process duration square */
double diff_square; /*!< \brief process duration square */
oai_cputime_t max; /*!< \brief maximum difference between time at starting point and time at endpoint*/
int trials; /*!< \brief number of start point - end point iterations */
int meas_flag; /*!< \brief 1: stop_meas not called (consecutive calls of start_meas) */
@@ -83,7 +83,12 @@ static inline void stop_meas(time_stats_t *ts) __attribute__((always_inline));
void print_meas_now(time_stats_t *ts, const char *name, FILE *file_name);
void print_meas(time_stats_t *ts, const char *name, time_stats_t *total_exec_time, time_stats_t *sf_exec_time);
int print_meas_log(time_stats_t *ts, const char *name, time_stats_t *total_exec_time, time_stats_t *sf_exec_time, char *output);
size_t print_meas_log(time_stats_t *ts,
const char *name,
time_stats_t *total_exec_time,
time_stats_t *sf_exec_time,
char *output,
size_t outputlen);
double get_time_meas_us(time_stats_t *ts);
double get_cpu_freq_GHz(void);
@@ -151,7 +156,7 @@ static inline void stop_meas(time_stats_t *ts) {
ts->diff += (out-ts->in);
/// process duration is the difference between two clock points
ts->p_time = (out-ts->in);
ts->diff_square += (out-ts->in)*(out-ts->in);
ts->diff_square += ((double)out-ts->in)*((double)out-ts->in);
if ((out-ts->in) > ts->max)
ts->max = out-ts->in;

View File

@@ -332,6 +332,9 @@ The following features are valid for the gNB and the 5G-NR UE.
- evalution of RSRP report
- evaluation of CQI report
- MAC scheduling of SR reception
- Bandwidth part (BWP) operation
- Handle multiple dedicated BWPs
- BWP switching through RRCReconfiguration method
**gNB RLC**
- Send/Receive operations according to 38.322 Rel.16
@@ -493,6 +496,8 @@ The following features are valid for the gNB and the 5G-NR UE.
- Configuration of fapi PDU according to DCI
* Scheduler procedures for SRS transmission
- Periodic SRS transmission
* Bandwidth part (BWP) operation
- Operation in configured dedicated BWP through RRCSetup or RRCReconfiguration
**UE RLC**

View File

@@ -0,0 +1,227 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="./images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI 5G SA tutorial</font></b>
</td>
</tr>
</table>
**TABLE OF CONTENTS**
1. [Scenario](#1-scenario)
2. [OAI CN5G](#2-oai-cn5g)
1. [OAI CN5G pre-requisites](#21-oai-cn5g-pre-requisites)
2. [OAI CN5G Setup](#22-oai-cn5g-setup)
3. [OAI CN5G Configuration files](#23-oai-cn5g-configuration-files)
4. [SIM Card](#24-sim-card)
3. [OAI gNB](#3-oai-gnb)
1. [OAI gNB pre-requisites](#31-oai-gnb-pre-requisites)
2. [Build OAI gNB](#32-build-oai-gnb)
4. [Run OAI CN5G and OAI gNB with USRP B210](#4-run-oai-cn5g-and-oai-gnb-with-usrp-b210)
1. [Run OAI CN5G](#41-run-oai-cn5g)
2. [Run OAI gNB](#42-run-oai-gnb)
5. [Testing with QUECTEL RM500Q](#5-testing-with-quectel-rm500q)
1. [Setup QUECTEL](#51-setup-quectel)
2. [Ping test](#52-ping-test)
3. [Downlink iPerf test](#53-downlink-iperf-test)
# 1. Scenario
In this tutorial we describe how to configure and run a 5G end-to-end setup with OAI CN5G, OAI gNB and COTS UE.
Minimum hardware requirements:
- Laptop/Desktop/Server for OAI CN5G and OAI gNB
- Operating System: [Ubuntu 20.04.4 LTS](https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-desktop-amd64.iso)
- CPU: 8 cores x86_64 @ 3.5 GHz
- RAM: 32 GB
- Laptop for UE
- Operating System: Microsoft Windows 10 x64
- CPU: 4 cores x86_64
- RAM: 8 GB
- Windows driver for Quectel MUST be equal or higher than version **2.2.4**
- [USRP B210](https://www.ettus.com/all-products/ub210-kit/)
- Quectel RM500Q
- Module, M.2 to USB adapter, antennas and SIM card
- Firmware version of Quectel MUST be equal or higher than **RM500QGLABR11A06M4G**
# 2. OAI CN5G
## 2.1 OAI CN5G pre-requisites
```bash
sudo apt install -y git net-tools putty
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker docker-ce
# Add your username to the docker group, otherwise you will have to run in sudo mode.
sudo usermod -a -G docker $(whoami)
reboot
# https://docs.docker.com/compose/install/
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
```
## 2.2 OAI CN5G Setup
```bash
# Git oai-cn5g-fed repository
git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git ~/oai-cn5g-fed
# Pull docker images
docker pull oaisoftwarealliance/oai-amf:develop
docker pull oaisoftwarealliance/oai-nrf:develop
docker pull oaisoftwarealliance/oai-smf:develop
docker pull oaisoftwarealliance/oai-udr:develop
docker pull oaisoftwarealliance/oai-udm:develop
docker pull oaisoftwarealliance/oai-ausf:develop
docker pull oaisoftwarealliance/oai-spgwu-tiny:develop
docker pull oaisoftwarealliance/trf-gen-cn5g:latest
# Tag docker images
docker image tag oaisoftwarealliance/oai-amf:develop oai-amf:develop
docker image tag oaisoftwarealliance/oai-nrf:develop oai-nrf:develop
docker image tag oaisoftwarealliance/oai-smf:develop oai-smf:develop
docker image tag oaisoftwarealliance/oai-udr:develop oai-udr:develop
docker image tag oaisoftwarealliance/oai-udm:develop oai-udm:develop
docker image tag oaisoftwarealliance/oai-ausf:develop oai-ausf:develop
docker image tag oaisoftwarealliance/oai-spgwu-tiny:develop oai-spgwu-tiny:develop
docker image tag oaisoftwarealliance/trf-gen-cn5g:latest trf-gen-cn5g:latest
```
## 2.3 OAI CN5G Configuration files
Download and copy configuration files:
- Copy [docker-compose-basic-nrf.yaml](tutorial_resources/docker-compose-basic-nrf.yaml) to `~/oai-cn5g-fed/docker-compose`
- Copy [oai_db.sql](tutorial_resources/oai_db.sql) to `~/oai-cn5g-fed/docker-compose/database`
Change permissions on oai_db.sql to prevent mysql permission denied error:
```bash
chmod 644 ~/oai-cn5g-fed/docker-compose/database/oai_db.sql
```
## 2.4 SIM Card
Program SIM Card with [Open Cells Project](https://open-cells.com/) application [uicc-v2.6](https://open-cells.com/d5138782a8739209ec5760865b1e53b0/uicc-v2.6.tgz).
```bash
sudo ./program_uicc --adm 12345678 --imsi 208990000000001 --isdn 00000001 --acc 0001 --key fec86ba6eb707ed08905757b1bb44b8f --opc C42449363BBAD02B66D16BC975D77CC1 -spn "OpenAirInterface" --authenticate
```
# 3. OAI gNB
## 3.1 OAI gNB pre-requisites
### Build UHD from source
```bash
sudo apt install -y libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential
git clone https://github.com/EttusResearch/uhd.git ~/uhd
cd ~/uhd
git checkout v4.0.0.0
cd host
mkdir build
cd build
cmake ../
make -j 4
make test # This step is optional
sudo make install
sudo ldconfig
sudo uhd_images_downloader
```
## 3.2 Build OAI gNB
```bash
# Get openairinterface5g source code
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git ~/openairinterface5g
cd ~/openairinterface5g
git checkout develop
# Install dependencies in Ubuntu 20.04
cd ~/openairinterface5g
source oaienv
cd cmake_targets
./build_oai -I
# Build OAI gNB
cd ~/openairinterface5g
source oaienv
cd cmake_targets
./build_oai -w USRP --nrUE --gNB --build-lib all -c
```
# 4. Run OAI CN5G and OAI gNB with USRP B210
## 4.1 Run OAI CN5G
```bash
cd ~/oai-cn5g-fed/docker-compose
python3 core-network.py --type start-basic --scenario 1
```
## 4.2 Run OAI gNB
```bash
cd ~/openairinterface5g
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --sa -E --continuous-tx
```
Make sure that during USRP initialization, it shows that USB 3 is used.
# 5. Testing with Quectel RM500Q
## 5.1 Setup Quectel
With [PuTTY](https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe), send the following AT commands to the module using a serial interface (ex: COM2) at 115200 bps:
```bash
# MUST be sent at least once everytime there is a firmware upgrade!
AT+QMBNCFG="Select","ROW_Commercial"
AT+QMBNCFG="AutoSel",0
AT+CFUN=1,1
AT+CGDCONT=1
AT+CGDCONT=2
AT+CGDCONT=3
AT+CGDCONT=1,"IP","oai"
# (Optional, debug only, AT commands) Activate PDP context, retrieve IP address and test with ping
AT+CGACT=1,1
AT+CGPADDR=1
AT+QPING=1,"openairinterface.org"
```
## 5.2 Ping test
- UE host
```bash
ping 192.168.70.135 -n 1000 -S 12.1.1.2
```
- CN5G host
```bash
docker exec -it oai-ext-dn ping 12.1.1.2
```
## 5.3 Downlink iPerf test
- UE host
- Download iPerf for Microsoft Windows from [here](https://iperf.fr/download/windows/iperf-2.0.9-win64.zip).
- Extract to Desktop and run with Command Prompt:
```bash
cd C:\Users\User\Desktop\iPerf\iperf-2.0.9-win64\iperf-2.0.9-win64
iperf -s -u -i 1 -B 12.1.1.2
```
- CN5G host
```bash
docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 125M -c 12.1.1.2
```

View File

@@ -0,0 +1,244 @@
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<a href="http://www.openairinterface.org/">
<img src="./images/oai_final_logo.png" alt="" border=3 height=50 width=150>
</img>
</a>
</td>
<td style="border-collapse: collapse; border: none; vertical-align: center;">
<b><font size = "5">OAI 5G SA tutorial</font></b>
</td>
</tr>
</table>
**TABLE OF CONTENTS**
1. [Scenario](#1-scenario)
2. [OAI CN5G](#2-oai-cn5g)
1. [OAI CN5G pre-requisites](#21-oai-cn5g-pre-requisites)
2. [OAI CN5G Setup](#22-oai-cn5g-setup)
3. [OAI CN5G Configuration files](#23-oai-cn5g-configuration-files)
4. [SIM Card](#24-sim-card)
3. [OAI gNB](#3-oai-gnb)
1. [OAI gNB pre-requisites](#31-oai-gnb-pre-requisites)
2. [Build OAI gNB](#32-build-oai-gnb)
3. [N300 Ethernet Tuning](#33-n300-ethernet-tuning)
4. [Run OAI CN5G and OAI gNB with USRP N300](#4-run-oai-cn5g-and-oai-gnb-with-usrp-n300)
1. [Run OAI CN5G](#41-run-oai-cn5g)
2. [Run OAI gNB](#42-run-oai-gnb)
5. [Testing with QUECTEL RM500Q](#5-testing-with-quectel-rm500q)
1. [Setup QUECTEL](#51-setup-quectel)
2. [Ping test](#52-ping-test)
3. [Downlink iPerf test](#53-downlink-iperf-test)
# 1. Scenario
In this tutorial we describe how to configure and run a 5G end-to-end setup with OAI CN5G, OAI gNB and COTS UE.
Minimum hardware requirements:
- Laptop/Desktop/Server for OAI CN5G and OAI gNB
- Operating System: [Ubuntu 20.04.4 LTS](https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-desktop-amd64.iso)
- CPU: 8 cores x86_64 @ 3.5 GHz
- RAM: 32 GB
- Laptop for UE
- Operating System: Microsoft Windows 10 x64
- CPU: 4 cores x86_64
- RAM: 8 GB
- Windows driver for Quectel MUST be equal or higher than version **2.2.4**
- [USRP N300](https://www.ettus.com/all-products/USRP-N300/): Please identify the network interface(s) on which the N300 is connected.
- Quectel RM500Q
- Module, M.2 to USB adapter, antennas and SIM card
- Firmware version of Quectel MUST be equal or higher than **RM500QGLABR11A06M4G**
# 2. OAI CN5G
## 2.1 OAI CN5G pre-requisites
```bash
sudo apt install -y git net-tools putty
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker docker-ce
# Add your username to the docker group, otherwise you will have to run in sudo mode.
sudo usermod -a -G docker $(whoami)
reboot
# https://docs.docker.com/compose/install/
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
```
## 2.2 OAI CN5G Setup
```bash
# Git oai-cn5g-fed repository
git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git ~/oai-cn5g-fed
# Pull docker images
docker pull oaisoftwarealliance/oai-amf:develop
docker pull oaisoftwarealliance/oai-nrf:develop
docker pull oaisoftwarealliance/oai-smf:develop
docker pull oaisoftwarealliance/oai-udr:develop
docker pull oaisoftwarealliance/oai-udm:develop
docker pull oaisoftwarealliance/oai-ausf:develop
docker pull oaisoftwarealliance/oai-spgwu-tiny:develop
docker pull oaisoftwarealliance/trf-gen-cn5g:latest
# Tag docker images
docker image tag oaisoftwarealliance/oai-amf:develop oai-amf:develop
docker image tag oaisoftwarealliance/oai-nrf:develop oai-nrf:develop
docker image tag oaisoftwarealliance/oai-smf:develop oai-smf:develop
docker image tag oaisoftwarealliance/oai-udr:develop oai-udr:develop
docker image tag oaisoftwarealliance/oai-udm:develop oai-udm:develop
docker image tag oaisoftwarealliance/oai-ausf:develop oai-ausf:develop
docker image tag oaisoftwarealliance/oai-spgwu-tiny:develop oai-spgwu-tiny:develop
docker image tag oaisoftwarealliance/trf-gen-cn5g:latest trf-gen-cn5g:latest
```
## 2.3 OAI CN5G Configuration files
Download and copy configuration files:
- Copy [docker-compose-basic-nrf.yaml](tutorial_resources/docker-compose-basic-nrf.yaml) to `~/oai-cn5g-fed/docker-compose`
- Copy [oai_db.sql](tutorial_resources/oai_db.sql) to `~/oai-cn5g-fed/docker-compose/database`
Change permissions on oai_db.sql to prevent mysql permission denied error:
```bash
chmod 644 ~/oai-cn5g-fed/docker-compose/database/oai_db.sql
```
## 2.4 SIM Card
Program SIM Card with [Open Cells Project](https://open-cells.com/) application [uicc-v2.6](https://open-cells.com/d5138782a8739209ec5760865b1e53b0/uicc-v2.6.tgz).
```bash
sudo ./program_uicc --adm 12345678 --imsi 208990000000001 --isdn 00000001 --acc 0001 --key fec86ba6eb707ed08905757b1bb44b8f --opc C42449363BBAD02B66D16BC975D77CC1 -spn "OpenAirInterface" --authenticate
```
# 3. OAI gNB
## 3.1 OAI gNB pre-requisites
### Build UHD from source
```bash
sudo apt install -y libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential
git clone https://github.com/EttusResearch/uhd.git ~/uhd
cd ~/uhd
git checkout v4.0.0.0
cd host
mkdir build
cd build
cmake ../
make -j 4
make test # This step is optional
sudo make install
sudo ldconfig
sudo uhd_images_downloader
```
## 3.2 Build OAI gNB
```bash
# Get openairinterface5g source code
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git ~/openairinterface5g
cd ~/openairinterface5g
git checkout develop
# Install dependencies in Ubuntu 20.04
cd ~/openairinterface5g
source oaienv
cd cmake_targets
./build_oai -I
# Build OAI gNB
cd ~/openairinterface5g
source oaienv
cd cmake_targets
./build_oai -w USRP --nrUE --gNB --build-lib all -c
```
## 3.3 N300 Ethernet Tuning
Please also refer to the official [USRP Host Performance Tuning Tips and Tricks](https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks) tuning guide.
The following steps are recommended. Please change the network interface(s) as required. Also, you should have 10Gbps interface(s): if you use two cables, you should have the XG interface. Refer to the [N300 Getting Started Guide](https://kb.ettus.com/USRP_N300/N310/N320/N321_Getting_Started_Guide) for more information.
* Use an MTU of 9000: how to change this depends on the network management tool. In the case of Network Manager, this can be done from the GUI.
* Increase the kernel socket buffer (also done by the USRP driver in OAI):
```
sysctl -w net.core.rmem_max=8388608
sysctl -w net.core.wmem_max=8388608
sysctl -w net.core.rmem_default=65536
sysctl -w net.core.wmem_default=65536
```
* Increase Ethernet Ring Buffers: `sudo ethtool -G <ifname> rx 4096 tx 4096`
* Disable hyper-threading in the BIOS
* Disable KPTI Protections for Spectre/Meltdown for more performance. **This is a security risk.** Add `mitigations=off nosmt` in your grub config and update grub.
# 4. Run OAI CN5G and OAI gNB with USRP N300
## 4.1 Run OAI CN5G
```bash
cd ~/oai-cn5g-fed/docker-compose
python3 core-network.py --type start-basic --scenario 1
```
## 4.2 Run OAI gNB
```bash
cd ~/openairinterface5g
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1
```
# 5. Testing with Quectel RM500Q
## 5.1 Setup Quectel
With [PuTTY](https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe), send the following AT commands to the module using a serial interface (ex: COM2) at 115200 bps:
```bash
# MUST be sent at least once everytime there is a firmware upgrade!
AT+QMBNCFG="Select","ROW_Commercial"
AT+QMBNCFG="AutoSel",0
AT+CFUN=1,1
AT+CGDCONT=1
AT+CGDCONT=2
AT+CGDCONT=3
AT+CGDCONT=1,"IP","oai"
# (Optional, debug only, AT commands) Activate PDP context, retrieve IP address and test with ping
AT+CGACT=1,1
AT+CGPADDR=1
AT+QPING=1,"openairinterface.org"
```
## 5.2 Ping test
- UE host
```bash
ping 192.168.70.135 -n 1000 -S 12.1.1.2
```
- CN5G host
```bash
docker exec -it oai-ext-dn ping 12.1.1.2
```
## 5.3 Downlink iPerf test
- UE host
- Download iPerf for Microsoft Windows from [here](https://iperf.fr/download/windows/iperf-2.0.9-win64.zip).
- Extract to Desktop and run with Command Prompt:
```bash
cd C:\Users\User\Desktop\iPerf\iperf-2.0.9-win64\iperf-2.0.9-win64
iperf -s -u -i 1 -B 12.1.1.2
```
- CN5G host
```bash
docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 200M -c 12.1.1.2
```

View File

@@ -207,7 +207,24 @@ UE on machine 2:
`sudo ./nr-uesoftmodem --if_freq 2169080000 --if_freq_off -400000000`
# MIMO configuration
<table style="border-collapse: collapse; border: none;">
<tr style="border-collapse: collapse; border: none;">
<td style="border-collapse: collapse; border: none;">
<img src="./images/mimo_antenna_ports.png" alt="" border=3 height=100 width=300>
</img>
</td>
</tr>
</table>
This image shows an example of gNB 5G MIMO logical antenna port configuration. It has to be noted that logical antenna ports might not directly correspond to physical antenna ports and each logical antenna port might consist of a sub-array of antennas.
The basic element is a dual-polarized antenna, therefore the minimal DL MIMO setup with two logical antenna ports would consist of two cross-polarized antenna elements. In a single panel configuration, as the one in the picture, this element can be repeated vertiacally and/or horizontally to form an equi-spaced 1D or 2D array. The values N1 and N2 represent the number of antenna ports in the two dimensions and the supported configurations are specified in Section 5.2.2.2.1 of TS 38.214.
The DL logical antenna port configuration can be selected through configuration file. `pdsch_AntennaPorts_N1` can be used to set N1 parameter, `pdsch_AntennaPorts_N2` to set N2 and `pdsch_AntennaPorts_XP` to set the cross-polarization configuration (1 for single pol, 2 for cross-pol). To be noted that if XP is 1 but N1 and/or N2 are larger than 1, this would result in a non-standard configuration and the PMI selected would be the identity matrix regardless of CSI report. The default value for each of these parameters is 1.
# Additional links
[Selecting an alternative ldpc implementation at run time](../openair1/PHY/CODING/DOC/LDPCImplementation.md)

View File

@@ -0,0 +1,51 @@
# Procedure to add dedicated Bandwidth part (BWP)
## Contributed by 5G Testbed IISc
### Developers: Abhijith A, Shruthi S
# Terminology #
## Bandwidth part (BWP) ##
Bandwidth Part (BWP) is a set of contiguous Resource Blocks in the resource grid.
Parameters of a BWP are communicated to UE using RRC parameters: BWP-Downlink and BWP-Uplink.
A UE can be configured with a set of 4 BWPs in uplink (UL) and downlink (DL) direction (3GPP TS 38.331 Annex B.2 Description of BWP configuration options). But only 1 BWP can be active in UL and DL direction at a given time.
# Procedure to run multiple dedicated BWPs #
A maximum of 4 dedicated BWPs can be configured for a UE.
To configure multiple BWPs, add the following parameters to the gNB configuration file under "servingCellConfigDedicated":
## Setup of the Configuration files ##
```
firstActiveDownlinkBWP-Id = 1; #BWP-Id
defaultDownlinkBWP-Id = 1; #BWP-Id
firstActiveUplinkBWP-Id = 1; #BWP-Id
```
Each dedicated BWP must have:
```
# BWP 1 Configuration
dl_bwp-Id_1 = 1;
dl_bwp1_locationAndBandwidth = 28875; // RBstart=0, L=106 (40 MHz BW)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp1_subcarrierSpacing = 1;
```
Find these parameters in this configuration file: "targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf"
# Testing gNB and UE in RF simulator
## gNB command:
```
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --rfsim --sa
```
## UE command:
```
sudo RFSIMULATOR=127.0.0.1 ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --nokrnmod --rfsim --sa --uicc0.imsi 208990000000001
```

View File

@@ -9,19 +9,19 @@
| Machine | IP address | Lockable Resource | Function | Connected devices |
| ------------- | --------------- | --------------------- | ------------------ | ----------------------------------------------------- |
| asterix | 172.21.16.127 | CI-Asterix-Usage | gNB | 173.21.19.14 |
| obelix | 172.21.16.128 | CI-Obelix-Usage | eNB, UE (5G) | 172.21.19.13, X300 (192.168.60.2), B200mini (30C51EB) |
| asterix | 172.21.16.127 | CI-Asterix-Usage | gNB (n78) | 173.21.19.14 |
| obelix | 172.21.16.128 | CI-Obelix-Usage | eNB (n40, n78), nrUE | 172.21.19.13, X300 (192.168.60.2), B200mini (30C51EB) |
| porcepix | 172.21.16.136 | CI-NSA-MiniBench | Executor, EPC, 5GC | -- |
| nrmodule2 | 172.21.16.139 | CI-NSA-MiniBench | Quectel | Quectel module |
| nepes | 172.21.16.137 | CI-NSA-MiniBench | gNB | B200mini (30C51D4) |
| nepes | 172.21.16.137 | CI-NSA-MiniBench | gNB (n78) | B200mini (30C51D4) |
| caracal | 172.21.16.132 | CI-Caracal | gNB/phytest | N300 (192.168.10.2) |
| idefix | 172.21.16.135 | CI-NSA-MiniBench | Quectel | Quectel module |
| amariue | 172.21.16.144 | CI-Amarisoft-UE-Usage | TBD | Amarisoft UE simulator |
| amariue | 172.21.16.144 | CI-Amarisoft-UE-Usage | nrUE | Amarisoft UE simulator |
| bellatrix | 192.168.117.115 | CI-RAN-VM-Deployment | Executor | -- |
| nano | 192.168.12.62 | CI-Bench-1-Phones | EPC, adb | 2x COTS (adb) |
| hutch | 192.168.12.19 | CI-Bench-1-Phones | eNB (B7) | B200mini (30C5239) |
| starsky | 192.168.12.18 | CI-Bench-1-Phones | eNB (B40) | b200mini (30A3E3C) |
| carabe | 192.168.12.211 | CI-Bench-2-OAI-Phone | UE 4G (B) | B200mini (30AE8C9) |
| carabe | 192.168.12.211 | CI-Bench-2-OAI-Phone | UE (B7UE) | B200mini (30AE8C9) |
Note: The available resources, and their current usage, is indicated here:
- [Lockable resources of jenkins-oai](https://jenkins-oai.eurecom.fr/lockable-resources/):
@@ -40,7 +40,7 @@ Note: The available resources, and their current usage, is indicated here:
### OTA Testbench
[Proper image to be followed up. TBD: add antennas/circulators]
**Purpose**: Over-the-air 4G/5G (NSA/SA) tests
Note: obelix and porcepix are both used in the OTA testbench and the 5G
NSA/Faraday Cage testbench!
@@ -89,7 +89,10 @@ Webhook
currently only ping
- [RAN-NSA-B200-Module-LTEBOX-Container](https://jenkins-oai.eurecom.fr/job/RAN-NSA-B200-Module-LTEBOX-Container/)
- obelix + B200, nepes + B200, idefix + Quectel, porcepix w/ ltebox
- basic NSA test, known to be instable
- basic NSA test
- [RAN-SA-B200-Module-SABOX-Container](https://jenkins-oai.eurecom.fr/job/RAN-SA-B200-Module-SABOX-Container/)
- obelix + B200, nepes + B200, idefix + Quectel, porcepix w/ sabox
- basic SA test (40 MHz TDD)
- [RAN-PhySim-Cluster](https://jenkins-oai.eurecom.fr/job/RAN-PhySim-Cluster/)
- asterix (`Asterix-OC-oaicicd-session` resource), tests in OpenShift Cluster
- unitary simulators (`nr_dlsim`, etc.)

31
doc/UL_MIMO.txt Normal file
View File

@@ -0,0 +1,31 @@
# how to build phy sim
cd cmake_targets/
sudo ./build_oai --phy_simulators -c
cd phy_simulators/build/
# ULSCH sim
# bit level validation
# PUSCH encoding and decoding for 4 layers 2 CMD without data
sudo ./nr_ulschsim -R 106 -m9 -s13 -n100 -y4 -z4 -W4
# UL sim
# Uplink chain validation
# PUSCH on UE side and gNB side,whole chain for PUSCH
# No channel model on data domain signal
# No cross-path connection
# PMI = 0 is only unitary prcoding matrix
sudo ./nr_ulsim -n100 -m9 -r106 -s13 -W4 -y4 -z4
# How to build rfsim
sudo ./build_oai -c --gNB --nrUE -w SIMU
# How to run with rfsim
# 4x4 RANK 4
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.4layer.conf --rfsim --phy-test --l 2 --L 4
sudo ./nr-uesoftmodem --rfsim --phy-test --ue-nb-ant-rx 4 --ue-nb-ant-tx 4
# 4x4 RANK 2
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.4layer.conf --rfsim --phy-test --l 2 --L 2
sudo ./nr-uesoftmodem --rfsim --phy-test --ue-nb-ant-rx 4 --ue-nb-ant-tx 4

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -30,7 +30,7 @@
\draw (obelix) -- (b210o);
\node[above right=0.35cm of faraday.south west] (antn)
{\includegraphics[width=0.3cm]{antenna}};
\draw (b210n) -| node [pos=0.2, duplexer] {B78} (antn);
\draw (b210n) -| node [pos=0.2, duplexer] {n78} (antn);
\node[left=5cm of faraday, label=above:porcepix] (porcepix)
{\includegraphics[width=1.2cm]{server}};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -21,7 +21,7 @@
edge (porcepix);
\node[right=0.3cm of asterix, label=above:N310] (n310a)
{\includegraphics[width=1.5cm]{n310}} edge (asterix);
\node[right=.2cm of n310a, duplexer] (b78o) {B78} edge (n310a);
\node[right=.2cm of n310a, duplexer] (b78o) {n78} edge (n310a);
\node[below right=-0.1cm and 0.35cm of b78o.east] (anto1)
{\includegraphics[width=0.3cm]{antenna}} edge (b78o);
\node[above right=-0.1cm and 0.35cm of b78o.east] (anto2)
@@ -32,20 +32,20 @@
edge (porcepix);
\node[above right=-0.5cm and 0.3cm of obelix, label=above:N310] (n310o)
{\includegraphics[width=1.5cm]{n310}} edge (obelix);
\node[right=.2cm of n310o, duplexer] (b78o) {B40} edge (n310o);
\node[right=.2cm of n310o, duplexer] (b78o) {n40} edge (n310o);
\node[below right=-0.1cm and 0.35cm of b78o.east] (anto1)
{\includegraphics[width=0.3cm]{antenna}} edge (b78o);
\node[above right=-0.1cm and 0.35cm of b78o.east] (anto2)
{\includegraphics[width=0.3cm]{antenna}} edge (b78o);
\node[below right=-0.5cm and 0.3cm of obelix, label=above:X310] (x310o)
{\includegraphics[width=1.5cm]{x310}} edge (obelix);
\node[right=.2cm of x310o, duplexer] (b78o) {B78} edge (x310o);
\node[right=.2cm of x310o, duplexer] (b78o) {n78} edge (x310o);
\node[below right=-0.1cm and 0.35cm of b78o.east] (anto1)
{\includegraphics[width=0.3cm]{antenna}} edge (b78o);
\node[above right=-0.1cm and 0.35cm of b78o.east] (anto2)
{\includegraphics[width=0.3cm]{antenna}} edge (b78o);
\node[right=5.0cm of n310o, label=above:RM500Q-GL] (quectel)
\node[above right=-1.3cm and 5.0cm of n310a.east, label=above:RM500Q-GL] (quectel)
{\includegraphics[height=1.2cm]{quectel}};
\node[above left=-0.1cm and 0.8cm of quectel.west] (aq2)
{\includegraphics[width=0.3cm]{antenna}} edge (quectel);
@@ -59,5 +59,10 @@
{\includegraphics[width=1.2cm]{server}}
edge (quectel);
\node[above right=-0.3cm and 5.0cm of x310o.east, label=above:amariue] (amariue)
{\includegraphics[height=1.2cm]{server}};
\node[left=0.8cm of amariue.west] (aa1)
{\includegraphics[width=0.3cm]{antenna}} edge (amariue);
\end{tikzpicture}
\end{document}

View File

@@ -21,8 +21,6 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
servingCellConfigCommon = (
{

View File

@@ -0,0 +1,360 @@
version: '3.8'
services:
mysql:
container_name: "mysql"
image: mysql:5.7
volumes:
- ./database/oai_db.sql:/docker-entrypoint-initdb.d/oai_db.sql
- ./healthscripts/mysql-healthcheck2.sh:/tmp/mysql-healthcheck.sh
environment:
- TZ=Europe/Paris
- MYSQL_DATABASE=oai_db
- MYSQL_USER=test
- MYSQL_PASSWORD=test
- MYSQL_ROOT_PASSWORD=linux
healthcheck:
test: /bin/bash -c "/tmp/mysql-healthcheck.sh"
interval: 10s
timeout: 5s
retries: 5
networks:
public_net:
ipv4_address: 192.168.70.131
oai-udr:
container_name: "oai-udr"
image: oai-udr:develop
environment:
- TZ=Europe/Paris
- INSTANCE=0
- PID_DIRECTORY=/var/run
- UDR_NAME=OAI_UDR
- UDR_INTERFACE_NAME_FOR_NUDR=eth0
- UDR_INTERFACE_PORT_FOR_NUDR=80
- UDR_INTERFACE_HTTP2_PORT_FOR_NUDR=8080
- USE_HTTP2=no
- UDR_API_VERSION=v1
- MYSQL_IPV4_ADDRESS=192.168.70.131
- MYSQL_USER=test
- MYSQL_PASS=test
- DB_CONNECTION_TIMEOUT=300 # Reset the connection to the DB after expiring the timeout (in second) currently can't be changed
- MYSQL_DB=oai_db
- WAIT_MYSQL=120
- USE_FQDN_DNS=yes
- REGISTER_NRF=yes
- NRF_IPV4_ADDRESS=192.168.70.130
- NRF_PORT=80
- NRF_API_VERSION=v1
- NRF_FQDN=oai-nrf
depends_on:
- mysql
- oai-nrf
networks:
public_net:
ipv4_address: 192.168.70.136
volumes:
- ./healthscripts/udr-healthcheck.sh:/openair-udr/bin/udr-healthcheck.sh
healthcheck:
test: /bin/bash -c "/openair-udr/bin/udr-healthcheck.sh"
interval: 10s
timeout: 5s
retries: 5
oai-udm:
container_name: "oai-udm"
image: oai-udm:develop
environment:
- TZ=Europe/Paris
- INSTANCE=0
- PID_DIRECTORY=/var/run
- UDM_NAME=OAI_UDM
- SBI_IF_NAME=eth0
- SBI_PORT=80
- SBI_HTTP2_PORT=8080
- USE_HTTP2=no
- UDM_VERSION_NB=v1
- USE_FQDN_DNS=yes
- UDR_IP_ADDRESS=192.168.70.136
- UDR_PORT=80
- UDR_VERSION_NB=v1
- UDR_FQDN=oai-udr
- REGISTER_NRF=yes
- NRF_IPV4_ADDRESS=192.168.70.130
- NRF_PORT=80
- NRF_API_VERSION=v1
- NRF_FQDN=oai-nrf
depends_on:
- oai-udr
networks:
public_net:
ipv4_address: 192.168.70.137
volumes:
- ./healthscripts/udm-healthcheck.sh:/openair-udm/bin/udm-healthcheck.sh
healthcheck:
test: /bin/bash -c "/openair-udm/bin/udm-healthcheck.sh"
interval: 10s
timeout: 5s
retries: 5
oai-ausf:
container_name: "oai-ausf"
image: oai-ausf:develop
environment:
- TZ=Europe/Paris
- INSTANCE_ID=0
- PID_DIR=/var/run
- AUSF_NAME=OAI_AUSF
- SBI_IF_NAME=eth0
- SBI_PORT=80
- USE_HTTP2
- SBI_HTTP2_PORT
- USE_FQDN_DNS=yes
- UDM_IP_ADDRESS=192.168.70.137
- UDM_PORT=80
- UDM_VERSION_NB=v1
- UDM_FQDN=oai-udm
- REGISTER_NRF=yes
- NRF_IPV4_ADDRESS=192.168.70.130
- NRF_PORT=80
- NRF_API_VERSION=v1
- NRF_FQDN=oai-nrf
depends_on:
- oai-udm
networks:
public_net:
ipv4_address: 192.168.70.138
volumes:
- ./healthscripts/ausf-healthcheck.sh:/openair-ausf/bin/ausf-healthcheck.sh
healthcheck:
test: /bin/bash -c "/openair-ausf/bin/ausf-healthcheck.sh"
interval: 10s
timeout: 5s
retries: 5
oai-nrf:
container_name: "oai-nrf"
image: oai-nrf:develop
environment:
- TZ=Europe/Paris
- NRF_INTERFACE_NAME_FOR_SBI=eth0
- NRF_INTERFACE_PORT_FOR_SBI=80
- NRF_INTERFACE_HTTP2_PORT_FOR_SBI=8080
- NRF_API_VERSION=v1
- INSTANCE=0
- PID_DIRECTORY=/var/run
networks:
public_net:
ipv4_address: 192.168.70.130
volumes:
- ./healthscripts/nrf-healthcheck.sh:/openair-nrf/bin/nrf-healthcheck.sh
healthcheck:
test: /bin/bash -c "/openair-nrf/bin/nrf-healthcheck.sh"
interval: 10s
timeout: 5s
retries: 5
oai-amf:
container_name: "oai-amf"
image: oai-amf:develop
environment:
- TZ=Europe/paris
- INSTANCE=0
- PID_DIRECTORY=/var/run
- MCC=208
- MNC=99
- REGION_ID=128
- AMF_SET_ID=1
- SERVED_GUAMI_MCC_0=208
- SERVED_GUAMI_MNC_0=99
- SERVED_GUAMI_REGION_ID_0=128
- SERVED_GUAMI_AMF_SET_ID_0=1
- SERVED_GUAMI_MCC_1=460
- SERVED_GUAMI_MNC_1=11
- SERVED_GUAMI_REGION_ID_1=10
- SERVED_GUAMI_AMF_SET_ID_1=1
- PLMN_SUPPORT_MCC=208
- PLMN_SUPPORT_MNC=99
- PLMN_SUPPORT_TAC=0x0001
- SST_0=1
- SD_0=0x1
- AMF_INTERFACE_NAME_FOR_NGAP=eth0
- AMF_INTERFACE_NAME_FOR_N11=eth0
- SMF_INSTANCE_ID_0=1
- SMF_FQDN_0=oai-smf
- SMF_IPV4_ADDR_0=192.168.70.133
- SMF_HTTP_VERSION_0=v1
- SELECTED_0=true
- SMF_INSTANCE_ID_1=2
- SMF_FQDN_1=oai-smf
- SMF_IPV4_ADDR_1=0.0.0.0
- SMF_HTTP_VERSION_1=v1
- SELECTED_1=false
- MYSQL_SERVER=192.168.70.131
- MYSQL_USER=root
- MYSQL_PASS=linux
- MYSQL_DB=oai_db
- OPERATOR_KEY=1006020f0a478bf6b699f15c062e42b3
- NRF_IPV4_ADDRESS=192.168.70.130
- NRF_PORT=80
- EXTERNAL_NRF=no
- NF_REGISTRATION=yes
- SMF_SELECTION=yes
- USE_FQDN_DNS=yes
- EXTERNAL_AUSF=yes
- EXTERNAL_UDM=no
- EXTERNAL_NSSF=no
- USE_HTTP2=no
- NRF_API_VERSION=v1
- NRF_FQDN=oai-nrf
- AUSF_IPV4_ADDRESS=192.168.70.138
- AUSF_PORT=80
- AUSF_API_VERSION=v1
- AUSF_FQDN=oai-ausf
- UDM_IPV4_ADDRESS=192.168.70.137
- UDM_PORT=80
- UDM_API_VERSION=v2
- UDM_FQDN=oai-udm
depends_on:
- mysql
- oai-nrf
- oai-ausf
volumes:
- ./healthscripts/amf-healthcheck.sh:/openair-amf/bin/amf-healthcheck.sh
healthcheck:
test: /bin/bash -c "/openair-amf/bin/amf-healthcheck.sh"
interval: 10s
timeout: 15s
retries: 5
networks:
public_net:
ipv4_address: 192.168.70.132
oai-smf:
container_name: "oai-smf"
image: oai-smf:develop
environment:
- TZ=Europe/Paris
- INSTANCE=0
- PID_DIRECTORY=/var/run
- SMF_INTERFACE_NAME_FOR_N4=eth0
- SMF_INTERFACE_NAME_FOR_SBI=eth0
- SMF_INTERFACE_PORT_FOR_SBI=80
- SMF_INTERFACE_HTTP2_PORT_FOR_SBI=9090
- SMF_API_VERSION=v1
- DEFAULT_DNS_IPV4_ADDRESS=8.8.8.8
- DEFAULT_DNS_SEC_IPV4_ADDRESS=4.4.4.4
- AMF_IPV4_ADDRESS=192.168.70.132
- AMF_PORT=80
- AMF_API_VERSION=v1
- AMF_FQDN=oai-amf
- UDM_IPV4_ADDRESS=192.168.70.137
- UDM_PORT=80
- UDM_API_VERSION=v2
- UDM_FQDN=oai-udm
- UPF_IPV4_ADDRESS=192.168.70.134
- UPF_FQDN_0=oai-spgwu
- NRF_IPV4_ADDRESS=192.168.70.130
- NRF_PORT=80
- NRF_API_VERSION=v1
- USE_LOCAL_SUBSCRIPTION_INFO=yes #Set to yes if SMF uses local subscription information instead of from an UDM
- USE_NETWORK_INSTANCE=no #Set yes if network instance is to be used for given UPF
- NRF_FQDN=oai-nrf
- REGISTER_NRF=yes
- DISCOVER_UPF=yes
- USE_FQDN_DNS=yes
- HTTP_VERSION=1 # Default: 1
- UE_MTU=1500
- DNN_NI0=oai
- TYPE0=IPv4
- DNN_RANGE0=12.1.1.2 - 12.1.1.253
- NSSAI_SST0=1
- NSSAI_SD0=0x1
- SESSION_AMBR_UL0=1000Mbps
- SESSION_AMBR_DL0=1000Mbps
- DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1 # only needed when ims is being used
- ENABLE_USAGE_REPORTING=no # Set yes if UE USAGE REPORTING is to be done at UPF
depends_on:
- oai-nrf
- oai-amf
volumes:
- ./healthscripts/smf-healthcheck.sh:/openair-smf/bin/smf-healthcheck.sh
healthcheck:
test: /bin/bash -c "/openair-smf/bin/smf-healthcheck.sh"
interval: 10s
timeout: 5s
retries: 5
networks:
public_net:
ipv4_address: 192.168.70.133
oai-spgwu:
container_name: "oai-spgwu"
image: oai-spgwu-tiny:develop
environment:
- TZ=Europe/Paris
- PID_DIRECTORY=/var/run
- SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0
- SGW_INTERFACE_NAME_FOR_SX=eth0
- PGW_INTERFACE_NAME_FOR_SGI=eth0
- NETWORK_UE_NAT_OPTION=yes
- NETWORK_UE_IP=12.1.1.0/24
- SPGWC0_IP_ADDRESS=192.168.70.133
- BYPASS_UL_PFCP_RULES=no
- MCC=208
- MNC=99
- MNC03=099
- TAC=1
- GW_ID=1
- THREAD_S1U_PRIO=80
- S1U_THREADS=8
- THREAD_SX_PRIO=81
- SX_THREADS=1
- THREAD_SGI_PRIO=80
- SGI_THREADS=8
- REALM=openairinterface.org
- ENABLE_5G_FEATURES=yes
- REGISTER_NRF=yes
- USE_FQDN_NRF=yes
- UPF_FQDN_5G=oai-spgwu
- NRF_IPV4_ADDRESS=192.168.70.130
- NRF_PORT=80
- NRF_API_VERSION=v1
- NRF_FQDN=oai-nrf
- NSSAI_SST_0=1
- NSSAI_SD_0=0x1
- DNN_0=oai
depends_on:
- oai-nrf
- oai-smf
cap_add:
- NET_ADMIN
- SYS_ADMIN
cap_drop:
- ALL
privileged: true
volumes:
- ./healthscripts/spgwu-healthcheck.sh:/openair-spgwu-tiny/bin/spgwu-healthcheck.sh
healthcheck:
test: /bin/bash -c "/openair-spgwu-tiny/bin/spgwu-healthcheck.sh"
interval: 10s
timeout: 5s
retries: 5
networks:
public_net:
ipv4_address: 192.168.70.134
oai-ext-dn:
image: trf-gen-cn5g:latest
privileged: true
container_name: oai-ext-dn
entrypoint: /bin/bash -c \
"ip route add 12.1.1.0/24 via 192.168.70.134 dev eth0; sleep infinity"
depends_on:
- oai-spgwu
networks:
public_net:
ipv4_address: 192.168.70.135
networks:
# public_net:
# external:
# name: demo-oai-public-net
public_net:
driver: bridge
name: demo-oai-public-net
ipam:
config:
- subnet: 192.168.70.128/26
driver_opts:
com.docker.network.bridge.name: "demo-oai"

View File

@@ -0,0 +1,328 @@
-- phpMyAdmin SQL Dump
-- version 5.1.0
-- https://www.phpmyadmin.net/
--
-- Host: 172.16.200.10:3306
-- Generation Time: Mar 22, 2021 at 10:31 AM
-- Server version: 5.7.33
-- PHP Version: 7.4.15
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `oai_db`
--
-- --------------------------------------------------------
--
-- Table structure for table `AccessAndMobilitySubscriptionData`
--
CREATE TABLE `AccessAndMobilitySubscriptionData` (
`ueid` varchar(15) NOT NULL,
`servingPlmnid` varchar(15) NOT NULL,
`supportedFeatures` varchar(50) DEFAULT NULL,
`gpsis` json DEFAULT NULL,
`internalGroupIds` json DEFAULT NULL,
`sharedVnGroupDataIds` json DEFAULT NULL,
`subscribedUeAmbr` json DEFAULT NULL,
`nssai` json DEFAULT NULL,
`ratRestrictions` json DEFAULT NULL,
`forbiddenAreas` json DEFAULT NULL,
`serviceAreaRestriction` json DEFAULT NULL,
`coreNetworkTypeRestrictions` json DEFAULT NULL,
`rfspIndex` int(10) DEFAULT NULL,
`subsRegTimer` int(10) DEFAULT NULL,
`ueUsageType` int(10) DEFAULT NULL,
`mpsPriority` tinyint(1) DEFAULT NULL,
`mcsPriority` tinyint(1) DEFAULT NULL,
`activeTime` int(10) DEFAULT NULL,
`sorInfo` json DEFAULT NULL,
`sorInfoExpectInd` tinyint(1) DEFAULT NULL,
`sorafRetrieval` tinyint(1) DEFAULT NULL,
`sorUpdateIndicatorList` json DEFAULT NULL,
`upuInfo` json DEFAULT NULL,
`micoAllowed` tinyint(1) DEFAULT NULL,
`sharedAmDataIds` json DEFAULT NULL,
`odbPacketServices` json DEFAULT NULL,
`serviceGapTime` int(10) DEFAULT NULL,
`mdtUserConsent` json DEFAULT NULL,
`mdtConfiguration` json DEFAULT NULL,
`traceData` json DEFAULT NULL,
`cagData` json DEFAULT NULL,
`stnSr` varchar(50) DEFAULT NULL,
`cMsisdn` varchar(50) DEFAULT NULL,
`nbIoTUePriority` int(10) DEFAULT NULL,
`nssaiInclusionAllowed` tinyint(1) DEFAULT NULL,
`rgWirelineCharacteristics` varchar(50) DEFAULT NULL,
`ecRestrictionDataWb` json DEFAULT NULL,
`ecRestrictionDataNb` tinyint(1) DEFAULT NULL,
`expectedUeBehaviourList` json DEFAULT NULL,
`primaryRatRestrictions` json DEFAULT NULL,
`secondaryRatRestrictions` json DEFAULT NULL,
`edrxParametersList` json DEFAULT NULL,
`ptwParametersList` json DEFAULT NULL,
`iabOperationAllowed` tinyint(1) DEFAULT NULL,
`wirelineForbiddenAreas` json DEFAULT NULL,
`wirelineServiceAreaRestriction` json DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `Amf3GppAccessRegistration`
--
CREATE TABLE `Amf3GppAccessRegistration` (
`ueid` varchar(15) NOT NULL,
`amfInstanceId` varchar(50) NOT NULL,
`supportedFeatures` varchar(50) DEFAULT NULL,
`purgeFlag` tinyint(1) DEFAULT NULL,
`pei` varchar(50) DEFAULT NULL,
`imsVoPs` json DEFAULT NULL,
`deregCallbackUri` varchar(50) NOT NULL,
`amfServiceNameDereg` json DEFAULT NULL,
`pcscfRestorationCallbackUri` varchar(50) DEFAULT NULL,
`amfServiceNamePcscfRest` json DEFAULT NULL,
`initialRegistrationInd` tinyint(1) DEFAULT NULL,
`guami` json NOT NULL,
`backupAmfInfo` json DEFAULT NULL,
`drFlag` tinyint(1) DEFAULT NULL,
`ratType` json NOT NULL,
`urrpIndicator` tinyint(1) DEFAULT NULL,
`amfEeSubscriptionId` varchar(50) DEFAULT NULL,
`epsInterworkingInfo` json DEFAULT NULL,
`ueSrvccCapability` tinyint(1) DEFAULT NULL,
`registrationTime` varchar(50) DEFAULT NULL,
`vgmlcAddress` json DEFAULT NULL,
`contextInfo` json DEFAULT NULL,
`noEeSubscriptionInd` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `AuthenticationStatus`
--
CREATE TABLE `AuthenticationStatus` (
`ueid` varchar(20) NOT NULL,
`nfInstanceId` varchar(50) NOT NULL,
`success` tinyint(1) NOT NULL,
`timeStamp` varchar(50) NOT NULL,
`authType` varchar(25) NOT NULL,
`servingNetworkName` varchar(50) NOT NULL,
`authRemovalInd` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `AuthenticationSubscription`
--
CREATE TABLE `AuthenticationSubscription` (
`ueid` varchar(20) NOT NULL,
`authenticationMethod` varchar(25) NOT NULL,
`encPermanentKey` varchar(50) DEFAULT NULL,
`protectionParameterId` varchar(50) DEFAULT NULL,
`sequenceNumber` json DEFAULT NULL,
`authenticationManagementField` varchar(50) DEFAULT NULL,
`algorithmId` varchar(50) DEFAULT NULL,
`encOpcKey` varchar(50) DEFAULT NULL,
`encTopcKey` varchar(50) DEFAULT NULL,
`vectorGenerationInHss` tinyint(1) DEFAULT NULL,
`n5gcAuthMethod` varchar(15) DEFAULT NULL,
`rgAuthenticationInd` tinyint(1) DEFAULT NULL,
`supi` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `AuthenticationSubscription`
--
INSERT INTO `AuthenticationSubscription` (`ueid`, `authenticationMethod`, `encPermanentKey`, `protectionParameterId`, `sequenceNumber`, `authenticationManagementField`, `algorithmId`, `encOpcKey`, `encTopcKey`, `vectorGenerationInHss`, `n5gcAuthMethod`, `rgAuthenticationInd`, `supi`) VALUES
('2089900007487', '5G_AKA', 'fec86ba6eb707ed08905757b1bb44b8f', 'fec86ba6eb707ed08905757b1bb44b8f', '{\"sqn\": \"000000000000\", \"sqnScheme\": \"NON_TIME_BASED\", \"lastIndexes\": {\"ausf\": 0}}', '8000', 'milenage', 'C42449363BBAD02B66D16BC975D77CC1', NULL, NULL, NULL, NULL, '2089900007487');
INSERT INTO `AuthenticationSubscription` (`ueid`, `authenticationMethod`, `encPermanentKey`, `protectionParameterId`, `sequenceNumber`, `authenticationManagementField`, `algorithmId`, `encOpcKey`, `encTopcKey`, `vectorGenerationInHss`, `n5gcAuthMethod`, `rgAuthenticationInd`, `supi`) VALUES
('208990000000001', '5G_AKA', 'fec86ba6eb707ed08905757b1bb44b8f', 'fec86ba6eb707ed08905757b1bb44b8f', '{\"sqn\": \"000000000000\", \"sqnScheme\": \"NON_TIME_BASED\", \"lastIndexes\": {\"ausf\": 0}}', '8000', 'milenage', 'C42449363BBAD02B66D16BC975D77CC1', NULL, NULL, NULL, NULL, '208990000000001');
INSERT INTO `AuthenticationSubscription` (`ueid`, `authenticationMethod`, `encPermanentKey`, `protectionParameterId`, `sequenceNumber`, `authenticationManagementField`, `algorithmId`, `encOpcKey`, `encTopcKey`, `vectorGenerationInHss`, `n5gcAuthMethod`, `rgAuthenticationInd`, `supi`) VALUES
('208990000000002', '5G_AKA', 'fec86ba6eb707ed08905757b1bb44b8f', 'fec86ba6eb707ed08905757b1bb44b8f', '{\"sqn\": \"000000000000\", \"sqnScheme\": \"NON_TIME_BASED\", \"lastIndexes\": {\"ausf\": 0}}', '8000', 'milenage', 'C42449363BBAD02B66D16BC975D77CC1', NULL, NULL, NULL, NULL, '208990000000002');
INSERT INTO `AuthenticationSubscription` (`ueid`, `authenticationMethod`, `encPermanentKey`, `protectionParameterId`, `sequenceNumber`, `authenticationManagementField`, `algorithmId`, `encOpcKey`, `encTopcKey`, `vectorGenerationInHss`, `n5gcAuthMethod`, `rgAuthenticationInd`, `supi`) VALUES
('208990000000003', '5G_AKA', 'fec86ba6eb707ed08905757b1bb44b8f', 'fec86ba6eb707ed08905757b1bb44b8f', '{\"sqn\": \"000000000000\", \"sqnScheme\": \"NON_TIME_BASED\", \"lastIndexes\": {\"ausf\": 0}}', '8000', 'milenage', 'C42449363BBAD02B66D16BC975D77CC1', NULL, NULL, NULL, NULL, '208990000000003');
-- --------------------------------------------------------
--
-- Table structure for table `SdmSubscriptions`
--
CREATE TABLE `SdmSubscriptions` (
`ueid` varchar(15) NOT NULL,
`subsId` int(10) UNSIGNED NOT NULL,
`nfInstanceId` varchar(50) NOT NULL,
`implicitUnsubscribe` tinyint(1) DEFAULT NULL,
`expires` varchar(50) DEFAULT NULL,
`callbackReference` varchar(50) NOT NULL,
`amfServiceName` json DEFAULT NULL,
`monitoredResourceUris` json NOT NULL,
`singleNssai` json DEFAULT NULL,
`dnn` varchar(50) DEFAULT NULL,
`subscriptionId` varchar(50) DEFAULT NULL,
`plmnId` json DEFAULT NULL,
`immediateReport` tinyint(1) DEFAULT NULL,
`report` json DEFAULT NULL,
`supportedFeatures` varchar(50) DEFAULT NULL,
`contextInfo` json DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `SessionManagementSubscriptionData`
--
CREATE TABLE `SessionManagementSubscriptionData` (
`ueid` varchar(15) NOT NULL,
`servingPlmnid` varchar(15) NOT NULL,
`singleNssai` json NOT NULL,
`dnnConfigurations` json DEFAULT NULL,
`internalGroupIds` json DEFAULT NULL,
`sharedVnGroupDataIds` json DEFAULT NULL,
`sharedDnnConfigurationsId` varchar(50) DEFAULT NULL,
`odbPacketServices` json DEFAULT NULL,
`traceData` json DEFAULT NULL,
`sharedTraceDataId` varchar(50) DEFAULT NULL,
`expectedUeBehavioursList` json DEFAULT NULL,
`suggestedPacketNumDlList` json DEFAULT NULL,
`3gppChargingCharacteristics` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `SessionManagementSubscriptionData`
--
INSERT INTO `SessionManagementSubscriptionData` (`ueid`, `servingPlmnid`, `singleNssai`, `dnnConfigurations`) VALUES
('2089900007487', '20899', '{\"sst\": 1, \"sd\": \"1\"}','{\"oai\":{\"pduSessionTypes\":{ \"defaultSessionType\": \"IPV4\"},\"sscModes\": {\"defaultSscMode\": \"SSC_MODE_1\"},\"5gQosProfile\": {\"5qi\": 6,\"arp\":{\"priorityLevel\": 1,\"preemptCap\": \"NOT_PREEMPT\",\"preemptVuln\":\"NOT_PREEMPTABLE\"},\"priorityLevel\":1},\"sessionAmbr\":{\"uplink\":\"1000Mbps\", \"downlink\":\"1000Mbps\"},\"staticIpAddress\":[{\"ipv4Addr\": \"12.1.1.2\"}]}}');
INSERT INTO `SessionManagementSubscriptionData` (`ueid`, `servingPlmnid`, `singleNssai`, `dnnConfigurations`) VALUES
('208990000000001', '20899', '{\"sst\": 1, \"sd\": \"1\"}','{\"oai\":{\"pduSessionTypes\":{ \"defaultSessionType\": \"IPV4\"},\"sscModes\": {\"defaultSscMode\": \"SSC_MODE_1\"},\"5gQosProfile\": {\"5qi\": 6,\"arp\":{\"priorityLevel\": 1,\"preemptCap\": \"NOT_PREEMPT\",\"preemptVuln\":\"NOT_PREEMPTABLE\"},\"priorityLevel\":1},\"sessionAmbr\":{\"uplink\":\"1000Mbps\", \"downlink\":\"1000Mbps\"},\"staticIpAddress\":[{\"ipv4Addr\": \"12.1.1.2\"}]}}');
INSERT INTO `SessionManagementSubscriptionData` (`ueid`, `servingPlmnid`, `singleNssai`, `dnnConfigurations`) VALUES
('208990000000002', '20899', '{\"sst\": 1, \"sd\": \"1\"}','{\"oai\":{\"pduSessionTypes\":{ \"defaultSessionType\": \"IPV4\"},\"sscModes\": {\"defaultSscMode\": \"SSC_MODE_1\"},\"5gQosProfile\": {\"5qi\": 6,\"arp\":{\"priorityLevel\": 1,\"preemptCap\": \"NOT_PREEMPT\",\"preemptVuln\":\"NOT_PREEMPTABLE\"},\"priorityLevel\":1},\"sessionAmbr\":{\"uplink\":\"1000Mbps\", \"downlink\":\"1000Mbps\"},\"staticIpAddress\":[{\"ipv4Addr\": \"12.1.1.3\"}]}}');
INSERT INTO `SessionManagementSubscriptionData` (`ueid`, `servingPlmnid`, `singleNssai`, `dnnConfigurations`) VALUES
('208990000000003', '20899', '{\"sst\": 1, \"sd\": \"1\"}','{\"oai\":{\"pduSessionTypes\":{ \"defaultSessionType\": \"IPV4\"},\"sscModes\": {\"defaultSscMode\": \"SSC_MODE_1\"},\"5gQosProfile\": {\"5qi\": 6,\"arp\":{\"priorityLevel\": 1,\"preemptCap\": \"NOT_PREEMPT\",\"preemptVuln\":\"NOT_PREEMPTABLE\"},\"priorityLevel\":1},\"sessionAmbr\":{\"uplink\":\"1000Mbps\", \"downlink\":\"1000Mbps\"},\"staticIpAddress\":[{\"ipv4Addr\": \"12.1.1.4\"}]}}');
-- --------------------------------------------------------
--
-- Table structure for table `SmfRegistrations`
--
CREATE TABLE `SmfRegistrations` (
`ueid` varchar(15) NOT NULL,
`subpduSessionId` int(10) NOT NULL,
`smfInstanceId` varchar(50) NOT NULL,
`smfSetId` varchar(50) DEFAULT NULL,
`supportedFeatures` varchar(50) DEFAULT NULL,
`pduSessionId` int(10) NOT NULL,
`singleNssai` json NOT NULL,
`dnn` varchar(50) DEFAULT NULL,
`emergencyServices` tinyint(1) DEFAULT NULL,
`pcscfRestorationCallbackUri` varchar(50) DEFAULT NULL,
`plmnId` json NOT NULL,
`pgwFqdn` varchar(50) DEFAULT NULL,
`epdgInd` tinyint(1) DEFAULT NULL,
`deregCallbackUri` varchar(50) DEFAULT NULL,
`registrationReason` json DEFAULT NULL,
`registrationTime` varchar(50) DEFAULT NULL,
`contextInfo` json DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `SmfSelectionSubscriptionData`
--
CREATE TABLE `SmfSelectionSubscriptionData` (
`ueid` varchar(15) NOT NULL,
`servingPlmnid` varchar(15) NOT NULL,
`supportedFeatures` varchar(50) DEFAULT NULL,
`subscribedSnssaiInfos` json DEFAULT NULL,
`sharedSnssaiInfosId` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Indexes for dumped tables
--
--
-- Indexes for table `AccessAndMobilitySubscriptionData`
--
ALTER TABLE `AccessAndMobilitySubscriptionData`
ADD PRIMARY KEY (`ueid`,`servingPlmnid`) USING BTREE;
--
-- Indexes for table `Amf3GppAccessRegistration`
--
ALTER TABLE `Amf3GppAccessRegistration`
ADD PRIMARY KEY (`ueid`);
--
-- Indexes for table `AuthenticationStatus`
--
ALTER TABLE `AuthenticationStatus`
ADD PRIMARY KEY (`ueid`);
--
-- Indexes for table `AuthenticationSubscription`
--
ALTER TABLE `AuthenticationSubscription`
ADD PRIMARY KEY (`ueid`);
--
-- Indexes for table `SdmSubscriptions`
--
ALTER TABLE `SdmSubscriptions`
ADD PRIMARY KEY (`subsId`,`ueid`) USING BTREE;
--
-- Indexes for table `SessionManagementSubscriptionData`
--
ALTER TABLE `SessionManagementSubscriptionData`
ADD PRIMARY KEY (`ueid`,`servingPlmnid`) USING BTREE;
--
-- Indexes for table `SmfRegistrations`
--
ALTER TABLE `SmfRegistrations`
ADD PRIMARY KEY (`ueid`,`subpduSessionId`) USING BTREE;
--
-- Indexes for table `SmfSelectionSubscriptionData`
--
ALTER TABLE `SmfSelectionSubscriptionData`
ADD PRIMARY KEY (`ueid`,`servingPlmnid`) USING BTREE;
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `SdmSubscriptions`
--
ALTER TABLE `SdmSubscriptions`
MODIFY `subsId` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@@ -35,4 +35,4 @@ COPY . .
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --eNB --gNB --RU --UE --nrUE --ninja --build-lib all -w USRP --verbose-ci
./build_oai --eNB --gNB --RU --UE --nrUE --ninja --build-lib all -w USRP --verbose-ci --noavx512

View File

@@ -35,4 +35,4 @@ COPY . .
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --eNB --gNB --RU --UE --nrUE --ninja --build-lib all -w USRP --verbose-ci
./build_oai --eNB --gNB --RU --UE --nrUE --ninja --build-lib all -w USRP --verbose-ci --noavx512

View File

@@ -38,7 +38,7 @@ RUN yum install -y libasan
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --phy_simulators --ninja --verbose-ci --sanitize-address
./build_oai --phy_simulators --ninja --verbose-ci --sanitize-address --noavx512
#start from scratch for target executable
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-physim

View File

@@ -60,6 +60,7 @@ def main():
"rcc.band40.tm1.25PRB": f'{data[0]["paths"]["dest_dir"]}/{outputfilename}',
"gnb.band78.tm1.fr1.106PRB.usrpb210.conf": f'{data[0]["paths"]["dest_dir"]}/{outputfilename}',
"gnb.band78.sa.fr1.106PRB.usrpn310.conf": f'{data[0]["paths"]["dest_dir"]}/{outputfilename}',
"gnb.sa.band78.fr1.106PRB.usrpb210.conf": f'{data[0]["paths"]["dest_dir"]}/{outputfilename}',
"gnb.sa.band66.fr1.106PRB.usrpn300.conf": f'{data[0]["paths"]["dest_dir"]}/{outputfilename}',
"gNB_SA_CU.conf": f'{data[0]["paths"]["dest_dir"]}/{outputfilename}',
"gNB_SA_DU.conf": f'{data[0]["paths"]["dest_dir"]}/{outputfilename}',

View File

@@ -10,6 +10,7 @@ THREAD_PARALLEL_CONFIG=${THREAD_PARALLEL_CONFIG:-PARALLEL_SINGLE_THREAD}
if [[ -v USE_NSA_TDD_MONO ]]; then cp $PREFIX/etc/gnb.nsa.tdd.conf $PREFIX/etc/gnb.conf; fi
if [[ -v USE_SA_TDD_MONO ]]; then cp $PREFIX/etc/gnb.sa.tdd.conf $PREFIX/etc/gnb.conf; fi
if [[ -v USE_SA_TDD_MONO_B2XX ]]; then cp $PREFIX/etc/gnb.sa.tdd.b2xx.conf $PREFIX/etc/gnb.conf; fi
if [[ -v USE_SA_FDD_MONO ]]; then cp $PREFIX/etc/gnb.sa.fdd.conf $PREFIX/etc/gnb.conf; fi
if [[ -v USE_SA_CU ]]; then cp $PREFIX/etc/gnb.sa.cu.conf $PREFIX/etc/gnb.conf; fi
if [[ -v USE_SA_TDD_CU ]]; then cp $PREFIX/etc/gnb.sa.du.tdd.conf $PREFIX/etc/gnb.conf; fi

Some files were not shown because too many files have changed in this diff Show More