diff --git a/ci-scripts/conf_files/gnb-cu.sa.band78.106prb.conf b/ci-scripts/conf_files/gnb-cu.sa.band78.106prb.conf index 4294f920ad..aded044911 100644 --- a/ci-scripts/conf_files/gnb-cu.sa.band78.106prb.conf +++ b/ci-scripts/conf_files/gnb-cu.sa.band78.106prb.conf @@ -40,7 +40,6 @@ gNBs = NETWORK_INTERFACES : { - GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.71.150"; GNB_IPV4_ADDRESS_FOR_NGU = "192.168.71.150"; GNB_PORT_FOR_S1U = 2152; # Spec 2152 diff --git a/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.2x2.conf b/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.2x2.conf new file mode 100644 index 0000000000..2227331753 --- /dev/null +++ b/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.2x2.conf @@ -0,0 +1,332 @@ +Active_gNBs = ( "gnb-rfsim"); +# Asn1_verbosity, choice in: none, info, annoying +Asn1_verbosity = "none"; + +e2_agent = { + enabled = "yes"; + near_ric_ip_addr = "192.168.71.21"; + near_ric_port = 36421; + sm_dir = "/usr/local/lib/flexric/"; +} + +gNBs = +( + { + ////////// Identification parameters: + gNB_ID = 0xe00; + gNB_name = "gnb-rfsim"; + + // Tracking area code, 0x0000 and 0xfffe are reserved values + tracking_area_code = 1; + # plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; sd = 0x1; }) }); + plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1; sd = 0xffffff; }) }); + + nr_cellid = 12345678L; + + ////////// Physical parameters: + + pdsch_AntennaPorts_XP = 2; + pusch_AntennaPorts = 2; + do_CSIRS = 1; + do_SRS = 1; + min_rxtxtime = 6; + + pdcch_ConfigSIB1 = ( + { + controlResourceSetZero = 12; + searchSpaceZero = 0; + } + ); + + servingCellConfigCommon = ( + { + #spCellConfigCommon + + physCellId = 0; + +# downlinkConfigCommon + #frequencyInfoDL + # this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68 + absoluteFrequencySSB = 621312; # 641280 + dl_frequencyBand = 78; + # this is 3300.60 MHz + dl_absoluteFrequencyPointA = 620040; # 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 = 12; + 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 = 3; +#oneHalf (0..15) 4,8,12,16,...60,64 + ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15; +#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 = -70; +# 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 = "192.168.71.132";}); + + NETWORK_INTERFACES : + { + GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.71.140"; + GNB_IPV4_ADDRESS_FOR_NGU = "192.168.71.140"; + GNB_PORT_FOR_S1U = 2152; # Spec 2152 + }; + + } +); + +MACRLCs = ( +{ + num_cc = 1; + tr_s_preference = "local_L1"; + tr_n_preference = "local_RRC"; + #pusch_TargetSNRx10 = 150; + #pucch_TargetSNRx10 = 200; + ulsch_max_frame_inactivity = 0; + dl_max_mcs = 16; # there are retransmissions if more +} +); + +L1s = ( +{ + num_cc = 1; + tr_n_preference = "local_mac"; + prach_dtx_threshold = 120; + #pucch0_dtx_threshold = 120; +} +); + +RUs = ( +{ + local_rf = "yes" + nb_tx = 2 + nb_rx = 2 + att_tx = 0 + att_rx = 0; + bands = [78]; + max_pdschReferenceSignalPower = -27; + max_rxgain = 75; + eNB_instances = [0]; + ##beamforming 1x2 matrix: 1 layer x 2 antennas + bf_weights = [0x00007fff, 0x0000]; + #clock_src = "internal"; + # sdr_addrs = "mgmt_addr=192.168.10.2,addr=192.168.10.2,clock_source=internal,time_source=internal" + sdr_addrs = "serial=XXXXXXX"; +} +); + +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"; +}; + +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"; +}; diff --git a/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.yaml b/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.yaml index e7019b1833..7454c24a33 100644 --- a/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.yaml +++ b/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.yaml @@ -152,7 +152,7 @@ MACRLCs: tr_n_preference: local_RRC pusch_TargetSNRx10: 200 pucch_TargetSNRx10: 200 - min_grant_prb: 10 + # min_grant_prb: 10 L1s: - num_cc: 1 diff --git a/ci-scripts/conf_files/gnb.sa.band78.273prb.rfsim.2x2.conf b/ci-scripts/conf_files/gnb.sa.band78.273prb.rfsim.2x2.conf index e05e596148..c9db1b23ec 100644 --- a/ci-scripts/conf_files/gnb.sa.band78.273prb.rfsim.2x2.conf +++ b/ci-scripts/conf_files/gnb.sa.band78.273prb.rfsim.2x2.conf @@ -1,4 +1,4 @@ -Active_gNBs = ( "gNB-OAI"); +Active_gNBs = ("gNB-OAI"); # Asn1_verbosity, choice in: none, info, annoying Asn1_verbosity = "none"; @@ -181,7 +181,6 @@ MACRLCs = ( num_cc = 1; tr_s_preference = "local_L1"; tr_n_preference = "local_RRC"; - min_grant_prb = 10; } ); @@ -206,7 +205,7 @@ RUs = ( max_rxgain = 75; eNB_instances = [0]; #clock_src = "internal"; - sdr_addrs = "mgmt_addr=192.168.10.2,addr=192.168.10.2,clock_source=internal,time_source=internal" + # sdr_addrs = "mgmt_addr=192.168.10.2,addr=192.168.10.2,clock_source=internal,time_source=internal" } ); @@ -214,7 +213,7 @@ RUs = ( rfsimulator : { serveraddr = "server"; - serverport = 4043; + # serverport = 4043; options = (); #("saviq"); or/and "chanmod" modelname = "AWGN"; IQfile = "/tmp/rfsimulator.iqs"; diff --git a/ci-scripts/yaml_files/5g_rfsimulator/conf/sql.cnf b/ci-scripts/yaml_files/5g_rfsimulator/conf/sql.cnf index ddba2223c0..0d5c8f060b 100644 --- a/ci-scripts/yaml_files/5g_rfsimulator/conf/sql.cnf +++ b/ci-scripts/yaml_files/5g_rfsimulator/conf/sql.cnf @@ -1,3 +1,3 @@ [mysqld] -wait_timeout = 15 -interactive_timeout = 15 \ No newline at end of file +wait_timeout = 2 +interactive_timeout = 2 \ No newline at end of file diff --git a/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml b/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml index 2f127f3419..f8fc3e4662 100644 --- a/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml +++ b/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml @@ -100,13 +100,14 @@ services: - ALL depends_on: - oai-ext-dn - command: ["-c", "/oai-ran/cmake_targets/ran_build/build/nr-softmodem -O /opt/oai-gnb/etc/gnb.yaml -E --rfsim --log_config.global_log_options level,nocolor,time"] + command: ["-c", "/oai-ran/cmake_targets/ran_build/build/nr-softmodem -O /opt/oai-gnb/etc/gnb.conf --rfsim --log_config.global_log_options level,nocolor,time"] networks: public_net: ipv4_address: 192.168.71.140 volumes: # - ../../conf_files/gnb.sa.band78.273prb.rfsim.2x2.conf:/opt/oai-gnb/etc/gnb.conf - - ../../conf_files/gnb.sa.band78.106prb.rfsim.yaml:/opt/oai-gnb/etc/gnb.yaml + # - ../../conf_files/gnb.sa.band78.106prb.rfsim.yaml:/opt/oai-gnb/etc/gnb.yaml + - ../../conf_files/gnb.sa.band78.106prb.rfsim.2x2.conf:/opt/oai-gnb/etc/gnb.conf healthcheck: test: /bin/bash -c "pgrep nr-softmodem" start_period: 10s @@ -155,7 +156,7 @@ services: oai-nr-ue1: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001100 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001100 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue1 cap_drop: - ALL @@ -181,7 +182,7 @@ services: oai-nr-ue2: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001101 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001101 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue2 cap_drop: - ALL @@ -207,7 +208,7 @@ services: oai-nr-ue3: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001102 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001102 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue3 cap_drop: - ALL @@ -233,7 +234,7 @@ services: oai-nr-ue4: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001103 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001103 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue4 cap_drop: - ALL @@ -259,7 +260,7 @@ services: oai-nr-ue5: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001104 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001104 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue5 cap_drop: - ALL @@ -285,7 +286,7 @@ services: oai-nr-ue6: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001105 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001105 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue6 cap_drop: - ALL @@ -311,7 +312,7 @@ services: oai-nr-ue7: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001106 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001100 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue7 cap_drop: - ALL @@ -337,7 +338,7 @@ services: oai-nr-ue8: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001107 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001107 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue8 cap_drop: - ALL @@ -363,7 +364,7 @@ services: oai-nr-ue9: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001108 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001108 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue9 cap_drop: - ALL @@ -389,7 +390,7 @@ services: oai-nr-ue10: image: nakaolab:oct29 - command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem -E --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001109 -C 3319680000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] + command: ["-c", "stdbuf -oL /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem --rfsim -r 106 --numerology 1 --uicc0.imsi 208990100001109 -C 3319680000 --ssb 516 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time"] container_name: oai-nr-ue10 cap_drop: - ALL diff --git a/ci-scripts/yaml_files/5g_rfsimulator/exp.sh b/ci-scripts/yaml_files/5g_rfsimulator/exp.sh index 22093a08c0..b8f72f8a62 100755 --- a/ci-scripts/yaml_files/5g_rfsimulator/exp.sh +++ b/ci-scripts/yaml_files/5g_rfsimulator/exp.sh @@ -185,29 +185,29 @@ start_in_stages() { # Ensure AMF is ready wait_healthy "${AMF_SERVICE}" 15 wait_healthy "${UPF_SERVICE}" 15 - exec_safe "${UPF_SERVICE}" 'bash -lc " - set -e - sysctl -w net.ipv4.ip_forward=1 - sysctl -w net.ipv4.conf.all.rp_filter=2 - sysctl -w net.ipv4.conf.eth0.rp_filter=2 - sysctl -w net.ipv4.conf.eth1.rp_filter=2 - sysctl -w net.ipv4.conf.tun0.rp_filter=2 + # exec_safe "${UPF_SERVICE}" 'bash -lc " + # set -e + # sysctl -w net.ipv4.ip_forward=1 + # sysctl -w net.ipv4.conf.all.rp_filter=2 + # sysctl -w net.ipv4.conf.eth0.rp_filter=2 + # sysctl -w net.ipv4.conf.eth1.rp_filter=2 + # sysctl -w net.ipv4.conf.tun0.rp_filter=2 - ip rule add pref 100 iif tun0 to 192.168.71.0/24 lookup 201 || true - ip route replace 192.168.71.0/24 dev eth0 table 201 + # ip rule add pref 100 iif tun0 to 192.168.71.0/24 lookup 201 || true + # ip route replace 192.168.71.0/24 dev eth0 table 201 - ip rule add pref 200 iif tun0 lookup 200 || true - ip route replace 12.1.1.0/24 dev tun0 table 200 - ip route replace default via 192.168.72.129 dev eth1 table 200 + # ip rule add pref 200 iif tun0 lookup 200 || true + # ip route replace 12.1.1.0/24 dev tun0 table 200 + # ip route replace default via 192.168.72.129 dev eth1 table 200 - # UE -> DN (192.168.72.128/26) via eth1 - iptables -t nat -C POSTROUTING -s 12.1.1.0/24 -d 192.168.72.128/26 -o eth1 -j MASQUERADE 2>/dev/null || \ - iptables -t nat -A POSTROUTING -s 12.1.1.0/24 -d 192.168.72.128/26 -o eth1 -j MASQUERADE + # # UE -> DN (192.168.72.128/26) via eth1 + # iptables -t nat -C POSTROUTING -s 12.1.1.0/24 -d 192.168.72.128/26 -o eth1 -j MASQUERADE 2>/dev/null || \ + # iptables -t nat -A POSTROUTING -s 12.1.1.0/24 -d 192.168.72.128/26 -o eth1 -j MASQUERADE - # UE -> 192.168.71.0/24 via eth0 - iptables -t nat -C POSTROUTING -s 12.1.1.0/24 -d 192.168.71.0/24 -o eth0 -j MASQUERADE 2>/dev/null || \ - iptables -t nat -A POSTROUTING -s 12.1.1.0/24 -d 192.168.71.0/24 -o eth0 -j MASQUERADE - "' + # # UE -> 192.168.71.0/24 via eth0 + # iptables -t nat -C POSTROUTING -s 12.1.1.0/24 -d 192.168.71.0/24 -o eth0 -j MASQUERADE 2>/dev/null || \ + # iptables -t nat -A POSTROUTING -s 12.1.1.0/24 -d 192.168.71.0/24 -o eth0 -j MASQUERADE + # "' wait_healthy oai-flexric 15 # 2) gNB @@ -319,12 +319,13 @@ ensure_ue_count() { if (( ${#to_start[@]} > 0 )); then start_ue_list "${to_start[@]}" for ue in "${to_start[@]}"; do - if wait_log "$ue" "oaitun_ue1 successfully configured"; then + if wait_log "$ue" "oaitun_ue1 successfully configured" 5 && + exec_safe "$ue" 'ip link show oaitun_ue1 >/dev/null 2>&1'; then exec_safe "$ue" 'ip route replace default dev oaitun_ue1' # run_traffic_profile "$ue" "$(choose_random_profile)" "0" run_traffic_profile "$ue" "boring" else - dc rm -fv "$ue" >/dev/null 2>&1 + dc down -v "$ue" >/dev/null 2>&1 & fi done fi @@ -341,12 +342,7 @@ ensure_ue_count() { to_stop=("${running[@]:0:$drop}") fi for ue in "${to_stop[@]}"; do - log "Stopping UE ${ue}" - dc stop "$ue" >/dev/null 2>&1 & - done - wait - for ue in "${to_stop[@]}"; do - dc rm -fv "$ue" >/dev/null 2>&1 & + dc down -v "$ue" >/dev/null 2>&1 & done wait } @@ -538,8 +534,7 @@ cleanup() { log "Cleanup: stopping UE containers only" while IFS= read -r ue; do [[ -z "$ue" ]] && continue - dc stop "$ue" || true - dc rm -fv "$ue" >/dev/null 2>&1 & + dc down -v "$ue" >/dev/null 2>&1 & done < <(dc ps --services | grep -E "${UE_NAME_REGEX}" || true) } @@ -592,7 +587,8 @@ main() { ue="${_ue_list[$i]}" prof="${_ue_profiles[$i]}" [[ -z "$ue" ]] && continue - if wait_log "$ue" "oaitun_ue1 successfully configured"; then + if wait_log "$ue" "oaitun_ue1 successfully configured" 5 && + exec_safe "$ue" 'ip link show oaitun_ue1 >/dev/null 2>&1'; then exec_safe "$ue" "ip route replace default dev oaitun_ue1" run_traffic_profile "$ue" "$prof" else diff --git a/common/platform_constants.h b/common/platform_constants.h index 4000ffb001..db7eaf114e 100644 --- a/common/platform_constants.h +++ b/common/platform_constants.h @@ -83,8 +83,8 @@ #define MAX_NUM_SLICES 1024 // RLC Entity -#define RLC_TX_MAXSIZE 10000000 -#define RLC_RX_MAXSIZE 10000000 +#define RLC_TX_MAXSIZE 10000 +#define RLC_RX_MAXSIZE 10000 #define SEND_MRW_ON 240 #define MAX_ANT 8 // CBA constant diff --git a/docker/Dockerfile.nakaolab.oct29 b/docker/Dockerfile.nakaolab.oct29 index 1aa8593131..35e84af67f 100644 --- a/docker/Dockerfile.nakaolab.oct29 +++ b/docker/Dockerfile.nakaolab.oct29 @@ -10,7 +10,7 @@ RUN /bin/sh oaienv && \ cd cmake_targets && \ mkdir -p log && \ ./build_oai -c --ninja \ - --gNB --RU --nrUE \ + --gNB --RU --nrUE -w SIMU\ --build-lib "telnetsrv enbscope uescope nrscope" \ -w USRP -t Ethernet \ --build-e2 --cmake-opt -DKPM_VERSION=KPM_V2_03 --cmake-opt -DE2AP_VERSION=E2AP_V2 \ diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c index 8b1fdbc9ea..348c32d599 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c @@ -783,10 +783,10 @@ static void pf_dl(module_id_t module_id, while (rbStart < rbStop && (rballoc_mask[rbStart + bwp_start] & slbitmap)) rbStart++; - uint16_t max_rbSize = 10; // used to be 1 - - /* while (rbStart + max_rbSize <= rbStop && !(rballoc_mask[rbStart + max_rbSize + bwp_start] & slbitmap)) */ - /* max_rbSize++; */ + uint16_t max_rbSize = 1; // used to be 1 + + while (rbStart + max_rbSize <= rbStop && !(rballoc_mask[rbStart + max_rbSize + bwp_start] & slbitmap)) + max_rbSize++; if (max_rbSize < min_rbSize) { LOG_D(NR_MAC, diff --git a/openair2/LAYER2/NR_MAC_gNB/nr_radio_config.c b/openair2/LAYER2/NR_MAC_gNB/nr_radio_config.c index a2b7c26678..2749e44978 100644 --- a/openair2/LAYER2/NR_MAC_gNB/nr_radio_config.c +++ b/openair2/LAYER2/NR_MAC_gNB/nr_radio_config.c @@ -3945,9 +3945,8 @@ int encode_cellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig, uint8_t *buffe { asn_enc_rval_t enc_rval = uper_encode_to_buffer(&asn_DEF_NR_CellGroupConfig, NULL, cellGroupConfig, buffer, max_buffer_size); AssertFatal(enc_rval.encoded > 0 && enc_rval.encoded <= max_buffer_size * 8, - "ASN1 message encoding failed (%s, %lu)!\n", - enc_rval.failed_type->name, - enc_rval.encoded); + "ASN1 message encoding failed (%s, %lu)! max: %d\n", + enc_rval.failed_type->name, enc_rval.encoded, max_buffer_size); return (enc_rval.encoded + 7) / 8; } diff --git a/tools/scripts/traffic_runner.sh b/tools/scripts/traffic_runner.sh index 27a94290a9..bade388b8a 100755 --- a/tools/scripts/traffic_runner.sh +++ b/tools/scripts/traffic_runner.sh @@ -33,15 +33,15 @@ fi [[ -n "$PROFILE" ]] || { echo "ERROR: --profile is required" >&2; exit 2; } -iperf_tcp_dl_forever() { ( nohup iperf -c "$IPERF_HOST_TCP" -B "$OAITUN_IP" -p "$IPERF_PORT_TCP" -R -t "$LONG_T" >/dev/null 2>&1 & ); } -iperf_tcp_ul_forever() { ( nohup iperf -c "$IPERF_HOST_TCP" -B "$OAITUN_IP" -p "$IPERF_PORT_TCP" -t "$LONG_T" >/dev/null 2>&1 & ); } -iperf_udp_dl_forever() { ( nohup iperf -u -c "$IPERF_HOST_UDP" -B "$OAITUN_IP" -p "$IPERF_PORT_UDP" -R -b $1 -t "$LONG_T" >/dev/null 2>&1 & ); } -# iperf_udp_dl_forever() { iperf -u -c "$IPERF_HOST_UDP" -B "$OAITUN_IP" -p "$IPERF_PORT_UDP" -R -b $1 -t "$LONG_T"; } -iperf_udp_ul_forever() { ( nohup iperf -u -c "$IPERF_HOST_UDP" -B "$OAITUN_IP" -p "$IPERF_PORT_UDP" -b $1 -t "$LONG_T" >/dev/null 2>&1 & ); } +iperf_tcp_dl_forever() { ( iperf -c "$IPERF_HOST_TCP" -B "$OAITUN_IP" -p "$IPERF_PORT_TCP" -R -t "$LONG_T" >/dev/null 2>&1 ); } +iperf_tcp_ul_forever() { ( iperf -c "$IPERF_HOST_TCP" -B "$OAITUN_IP" -p "$IPERF_PORT_TCP" -t "$LONG_T" >/dev/null 2>&1 ); } +# iperf_udp_dl_forever() { ( nohup iperf -u -c "$IPERF_HOST_UDP" -B "$OAITUN_IP" -p "$IPERF_PORT_UDP" -R -t "$LONG_T" >/dev/null 2>&1 ); } +iperf_udp_dl_forever() { ( iperf -u -c "$IPERF_HOST_UDP" -B "$OAITUN_IP" -p "$IPERF_PORT_UDP" -R -b $1 -t "$LONG_T" >/dev/null 2>&1 ); } +iperf_udp_ul_forever() { ( iperf -u -c "$IPERF_HOST_UDP" -B "$OAITUN_IP" -p "$IPERF_PORT_UDP" -b $1 -t "$LONG_T" >/dev/null 2>&1 ); } # ---------------- profiles ---------------- do_boring() { - iperf_udp_dl_forever 25M + iperf_udp_ul_forever 10M wait # iperf -c "$IPERF_HOST" -p "$IPERF_PORT" -B "$OAITUN_IP" -u -b 25M -t "$LONG_T" }