diff --git a/doc/Aerial_FAPI_Split_Tutorial.md b/doc/Aerial_FAPI_Split_Tutorial.md index 24a085c8e4..d3d1f41878 100644 --- a/doc/Aerial_FAPI_Split_Tutorial.md +++ b/doc/Aerial_FAPI_Split_Tutorial.md @@ -164,15 +164,18 @@ WantedBy=multi-user.target - Follow these [instructions](https://github.com/NVIDIA/aerial-cuda-accelerated-ran) to - clone the `aerial-cuda-accelerated-ran` repository, pull and build the cuBB - image. -- The CMake flags we use to compile the L1 are: + clone the `aerial-cuda-accelerated-ran` repository, pull cuBB image. +- The CMake flags we use to build the SDK are: - `-DSCF_FAPI_10_04_SRS=ON` this flag must be used as of OAI tag `2025.w36` and this is due to the usage of the FAPI 10.04 version of the SRS PDU, and RX_Beamforming PDU. - `-DENABLE_CONFORMANCE_TM_PDSCH_PDCCH=OFF` this option should only be enabled when doing conformance testing with testmac. +```bash +./testBenches/phase4_test_scripts/build_aerial_sdk.sh --preset 10_02 -- -DSCF_FAPI_10_04_SRS=ON -DENABLE_CONFORMANCE_TM_PDSCH_PDCCH=OFF +``` + ## Build OAI gNB If it's not already cloned, the first step is to clone OAI repository @@ -195,8 +198,8 @@ and install this library when building the L2 docker image. ./cuPHY-CP/container/run_aerial.sh # Pack the nvIPC sources and copy them to the host ( the command creates a `tar.gz` file with the following name format: `nvipc_src.YYYY.MM.DD.tar.gz`) -aerial@c_aerial_oaicicd:/opt/nvidia/cuBB# cd cuPHY-CP/gt_common_libs -aerial@c_aerial_oaicicd:/opt/nvidia/cuBB/cuPHY-CP/gt_common_libs#./pack_nvipc.sh +aerial@c_aerial_:/opt/nvidia/cuBB# cd cuPHY-CP/gt_common_libs +aerial@c_aerial_:/opt/nvidia/cuBB/cuPHY-CP/gt_common_libs#./pack_nvipc.sh nvipc_src.YYYY.MM.DD/ ... --------------------------------------------- Pack nvipc source code finished:/opt/nvidia/cuBB/cuPHY-CP/gt_common_libs/nvipc_src.YYYY.MM.DD.tar.gz ``` @@ -218,7 +221,9 @@ With the nvIPC sources in the project directory, the L2 docker image can be buil ### Building OAI gNB docker image In order to build the target image (`oai-gnb-aerial`), first you should build a -common shared image (`ran-base`) +common shared image (`ran-base`). For more information about `docker build` +files please refer to this +[tutorial](https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/ARC1.7_integration/docker/README.md?ref_type=heads) ```bash ~$ cd ~/openairinterface5g/ @@ -297,7 +302,7 @@ vlan: ### Docker compose -We recommend the user to apply the patch below for `docker-compose.yaml`. +Apply the patch below to include the Aerial repository cloned earlier in this tutorial. ```patch diff --git a/ci-scripts/yaml_files/sa_gnb_aerial/docker-compose.yaml b/ci-scripts/yaml_files/sa_gnb_aerial/docker-compose.yaml index 985fe9a6a3..0774d826ac 100644 diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb-vnf.sa.band78.273prb.aerial.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb-vnf.sa.band78.273prb.aerial.conf index 046db5a780..cd229ac38f 100644 --- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb-vnf.sa.band78.273prb.aerial.conf +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb-vnf.sa.band78.273prb.aerial.conf @@ -13,7 +13,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1; }) }); + plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }) }); nr_cellid = 12345678L; @@ -24,7 +24,7 @@ gNBs = pusch_AntennaPorts = 2; do_CSIRS = 1; do_SRS = 1; - min_rxtxtime = 2; + min_rxtxtime = 3; servingCellConfigCommon = ( { @@ -34,12 +34,11 @@ gNBs = # downlinkConfigCommon #frequencyInfoDL - # center frequency = 3350.01 MHz - # selected SSB frequency = 3349.92 MHz - absoluteFrequencySSB = 653376; - dl_frequencyBand = 77; - # frequency point A = 3300.87 MHz - dl_absoluteFrequencyPointA = 650056; + # Selected SSB frequency = 3748.8 MHz + absoluteFrequencySSB = 649920; + dl_frequencyBand = 78; + # Selected point A = 3700.86 MHz + dl_absoluteFrequencyPointA = 646724; #scs-SpecificCarrierList dl_offstToCarrier = 0; # subcarrierSpacing @@ -60,7 +59,7 @@ gNBs = #uplinkConfigCommon #frequencyInfoUL - ul_frequencyBand = 77; + ul_frequencyBand = 78; #scs-SpecificCarrierList ul_offstToCarrier = 0; # subcarrierSpacing @@ -140,13 +139,13 @@ gNBs = # pattern1 # dl_UL_TransmissionPeriodicity # 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10 - dl_UL_TransmissionPeriodicity = 6; #5; - nrofDownlinkSlots = 6; #3; - nrofDownlinkSymbols = 10; #6; - nrofUplinkSlots = 3; #1; + dl_UL_TransmissionPeriodicity = 6; + nrofDownlinkSlots = 6; + nrofDownlinkSymbols = 10; + nrofUplinkSlots = 3; nrofUplinkSymbols = 0; - ssPBCH_BlockPower = -15; + ssPBCH_BlockPower = -34; } ); @@ -162,13 +161,12 @@ gNBs = ////////// AMF parameters: - amf_ip_address = ({ ipv4 = "172.21.6.5"; }); - + amf_ip_address = ({ ipv4 = "192.168.70.132"; }); NETWORK_INTERFACES : { - GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.21.8.120"; - GNB_IPV4_ADDRESS_FOR_NGU = "172.21.8.120"; + GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24"; + GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24"; GNB_PORT_FOR_S1U = 2152; # Spec 2152 }; @@ -187,9 +185,9 @@ MACRLCs = ( tr_s_preference = "aerial"; tr_n_preference = "local_RRC"; pusch_TargetSNRx10 = 280; # 150; - pucch_TargetSNRx10 = 200; #200; - dl_max_mcs = 28; - ul_max_mcs = 28; + pucch_TargetSNRx10 = 100; #200; + dl_max_mcs = 25; + ul_max_mcs = 25; } );