From dcb10ffc944c82dded1b54a8a6323c80f74e34e5 Mon Sep 17 00:00:00 2001 From: Guido Casati Date: Wed, 15 Jan 2025 10:30:00 +0100 Subject: [PATCH] Handover tutorial: fix minor issues and add same-machine setup guidance - Update opening statement to reflect both F1 (intra-gNB) and N2 (inter-gNB) handover support - Fix grammar error: 'either by by decision' -> 'either a decision' - Standardize naming: 'gNB PCI1' -> 'gNB-PCI1' - Fix typo: 'neighbor call' -> 'neighbor cell' - Remove --sa flag from N2 handover target gNB command for consistency - Add network configuration notes for same-machine setups: * IP address assignment instructions to avoid network conflicts * Target gNB command options for proper network interface configuration --- doc/handover-tutorial.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/doc/handover-tutorial.md b/doc/handover-tutorial.md index eeb4ce09fa..b6e60746aa 100644 --- a/doc/handover-tutorial.md +++ b/doc/handover-tutorial.md @@ -1,5 +1,5 @@ -This tutorial explains how to perform handovers. For the moment, only F1 -handovers are supported. +This tutorial explains how to perform handovers. It covers both F1 handovers +(intra-gNB, within a single gNB between DUs) and N2 handovers (inter-gNB). [[_TOC_]] @@ -370,10 +370,16 @@ We assume: * Two independent gNBs connected to the same 5GC via N2 interface. * A UE initially connected to gNB-PCI0, which will be handed over to gNB-PCI1. -* Handover is triggered by either by decision based measurement event (e.g. A3) or telnet command. +* Handover is triggered by either a decision based measurement event (e.g. A3) or telnet command. ## Steps to run N2 handover with OAI UE +**Note for same-machine setup:** When running both gNBs on the same machine, you need to assign a unique IP address to the second gNB to avoid network conflicts. For example: + +```sh +sudo ip addr add 192.168.71.180/24 dev rfsim5g-public +``` + 1. Similarly to F1 handover, UE does not support any measurement reporting and handover is triggered by telnet command. Therefore, ensure that both gNBs and UE are built with telnet support: @@ -397,10 +403,17 @@ sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --rfsim --ui Ensure the UE successfully registers with the network. -4. Start the target gNB (gNB PCI1) e.g. +4. Start the target gNB (gNB-PCI1) e.g. ```sh -sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.pci1.rfsim.conf --sa --rfsim --telnetsrv --telnetsrv.shrmod ci --gNBs.[0].min_rxtxtime 6 --rfsimulator.serveraddr 127.0.0.1 +sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.pci1.rfsim.conf --rfsim --telnetsrv --telnetsrv.shrmod ci --gNBs.[0].min_rxtxtime 6 --rfsimulator.serveraddr 127.0.0.1 +``` + +**Note for same-machine setup:** When running both gNBs on the same machine, add the following network interface options to the target gNB command, e.g.: + +```sh +--gNBs.[0].NETWORK_INTERFACES.GNB_IPV4_ADDRESS_FOR_NG_AMF 192.168.71.180 +--gNBs.[0].NETWORK_INTERFACES.GNB_IPV4_ADDRESS_FOR_NGU 192.168.71.180 ``` 5. Trigger the N2 handover, e.g. @@ -410,7 +423,7 @@ From gNB-PCI0, trigger handover on target gNB with PCI 1 for UE ID 1: ```sh echo ci trigger_n2_ho 1,1 | nc 127.0.0.1 9090 && echo ``` -where the input parameters correspond to the PCI of the neighbor call and the RRC ID of the UE. +where the input parameters correspond to the PCI of the neighbor cell and the RRC ID of the UE. This will initiate the N2 handover on the source gNB.