Changes between Version 2 and Version 3 of Tutorials/Wireless/FR3/Amarisoft


Ignore:
Timestamp:
Sep 16, 2025, 9:35:48 AM (3 days ago)
Author:
rifatbin
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/Wireless/FR3/Amarisoft

    v2 v3  
    8282
    8383
     84[[CollapsibleStart(Run eNodeB/gNodeB)]]
     85* Disable CPU hyper-threading to ensure stable CPU timing for real-time SDR tasks:
     86
     87{{{#!shell
     88root@sdr1-piradio:~# echo off | sudo tee /sys/devices/system/cpu/smt/control
     89off
     90root@sdr1-piradio:
     91}}}
     92
     93* Run Amarisoft 5G NR Stand alone gNodeB as shown below by passing the gNodeB configuration file as an argument. The configuration file defines SDR(USRP 2974) address, operating band, bandwidth and other parameters.
     94
     95{{{#!shell
     96root@sdr1-piradio:~# cd /opt/amarisoft/lteenb-linux-2024-09-13
     97root@sdr1-piradio:/opt/amarisoft/lteenb-linux-2024-09-13# ./lteenb config/gnb-sa-2974-n7-5M.cfg
     98Base Station version 2024-09-13, Copyright (C) 2012-2024 Amarisoft
     99This software is licensed to Rutgers University (The State University of New Jersey).
     100License server: license.orbit-lab.org (0b-b4-46-dc-2f-83-58-cb)
     101Support and software update available until 2025-08-18.
     102
     103[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.4.0.HEAD-0-g3cf9529f
     104[INFO] [X300] X300 initialization sequence...
     105[INFO] [X300] Connecting to niusrpriorpc at localhost:5444...
     106[INFO] [X300] Using LVBITX bitfile /usr/local/share/uhd/images/usrp_x310_fpga_XG.lvbitx
     107[INFO] [GPS] Found an internal GPSDO: LC_XO, Firmware Rev 0.929b
     108[INFO] [X300] Radio 1x clock: 184.32 MHz
     109RF0: sample_rate=7.680 MHz dl_freq=2680.000 MHz ul_freq=2560.000 MHz (band n7) dl_ant=1 ul_ant=1
     110WARNING: The GPS is not locked. If you need time synchronization, you should restart the program when the GPS is locked.
     111(enb)
     112(enb) ng
     113gNB NG connection state:
     114  - server=127.0.1.100:38412 state=setup_done name=amarisoft.amf.5gc.mnc014.mcc310.3gppnetwork.org PLMN=310014
     115(enb)
     116(enb) cell phy
     117[gnb0012345] PLMN=310014 gNB_ID=0x12345
     118--------Global-------- -----------DL-------------- -----------UL---------- -----SSB---
     119Cell    RAT BAND  BW P   ARFCN ANT NL SCS  QAM POW   ARCFN ANT NL SCS  QAM   ARFCN SCS
     1200x001    NR   n7   5 0  536000   1  1  15  256 -39  512000   1  1  15  256  535937  15
     121(enb)
     122(enb) tx_gain
     123Chan Port Gain(dB)
     124 TX0    0     10.0
     125(enb)
     126}}}
     127* Type 'help' at the prompt and use commands like 'cell phy' to look at the various parameters of the base station.
     128
     129[[CollapsibleEnd]]
     130
     131
     132[[CollapsibleStart(Run Amarisoft UE Simulator)]]
     133* Run the Amarisoft UE simulator on sdr2-piradio by passing the configuration file 'ue-nr-sa-2974-n7-5M.cfg' as an argument.
     134
     135{{{#!shell
     136root@sdr2-piradio:~# cd /opt/amarisoft/lteue-linux-2024-09-13
     137root@sdr2-piradio:/opt/amarisoft/lteue-linux-2024-09-13# ./lteue config/ue-nr-sa-2974-n7-5M.cfg
     138UE version 2024-09-13, Copyright (C) 2012-2024 Amarisoft
     139This software is licensed to Rutgers University (The State University of New Jersey).
     140License server: license.orbit-lab.org (0b-b4-46-dc-2f-83-58-cb)
     141Support and software update available until 2025-08-18.
     142
     143[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.4.0.HEAD-0-g3cf9529f
     144[INFO] [X300] X300 initialization sequence...
     145[INFO] [X300] Connecting to niusrpriorpc at localhost:5444...
     146[INFO] [X300] Using LVBITX bitfile /usr/local/share/uhd/images/usrp_x310_fpga_XG.lvbitx
     147[INFO] [GPS] Found an internal GPSDO: LC_XO, Firmware Rev 0.929a
     148[INFO] [X300] Radio 1x clock: 184.32 MHz
     149RF0: sample_rate=23.040 MHz dl_freq=2680.000 MHz ul_freq=2560.000 MHz (band n7) dl_ant=1 ul_ant=1
     150WARNING: The GPS is not locked. If you need time synchronization, you should restart the program when the GPS is locked.
     151(ue) Cell 0: SIB found
     152ue
     153        # UE_ID CL RNTI    RRC_STATE               EMM_STATE #ERAB IP_ADDR
     154  NR    0     1  0    0      offline               power off     0
     155(ue) power_on
     156(ue) ue
     157        # UE_ID CL RNTI    RRC_STATE               EMM_STATE #ERAB IP_ADDR
     158  NR    0     1  0 461b      running              registered     1 192.168.2.2
     159(ue) t
     160
     161}}}
     162
     163* Type 'ue' at the prompt to see the status of the UEs and type 'power_on' to start a UE. The above simulation shows 1 UE, and the number of UEs is specified as UE_COUNT in the configuration file.
     164* Go back to 'mme' prompt in srv1-lg1 and check the gnb, ue list. 
     165
     166{{{#!shell
     167(mme) gnb
     168  PLMN     RAN_ID                        IP:Port #UEctx     TACs
     169310014    0x12345                127.0.1.1:49084      0      0x1
     170(mme) ue
     171            SUPI           IMEISV  CN M-TMSI/5G-TMSI REG           TAC #BEARER IP_ADDR
     172 001010123456789 0123456700000101 5GC      0xa5fa281   Y 310014.   0x1       1 cosmos-5G/192.168.2.2
     173(mme)
     174
     175}}}
     176* The base station (sdr1-piradio) can now talk to the UEs via the IP addresses assigned above.
     177[[CollapsibleEnd]]
     178
     179
     180[[CollapsibleStart(Iperf test)]]
     181* Network name space and tunnels for each UE.
     182{{{#!shell
     183root@sdr2-piradio:~# ip netns list
     184ue1 (id: 1)
     185root@sdr2-piradio:~# ip netns exec ue1 ip addr
     1861: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     187    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     188    inet 127.0.0.1/8 scope host lo
     189       valid_lft forever preferred_lft forever
     190    inet6 ::1/128 scope host
     191       valid_lft forever preferred_lft forever
     19219: pdn0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500
     193    link/none
     194    inet 192.168.2.2/24 scope global pdn0
     195       valid_lft forever preferred_lft forever
     196
     197}}}
     198* Iperf server on the UE
     199{{{#!shell
     200root@sdr2-piradio:~# ip netns exec ue1 iperf3 -s -B 192.168.2.2
     201-----------------------------------------------------------
     202Server listening on 5201
     203-----------------------------------------------------------
     204
     205}}}
     206* Iperf client on the base station
     207{{{#!shell
     208root@sdr1-piradio:~# iperf3 -c 192.168.2.2 -b 30M -i 1 -u -t 10
     209Connecting to host 192.168.2.2, port 5201
     210[  5] local 192.168.2.1 port 37967 connected to 192.168.2.2 port 5201
     211[ ID] Interval           Transfer     Bitrate         Total Datagrams
     212[  5]   0.00-1.00   sec  3.57 MBytes  30.0 Mbits/sec  2588
     213[  5]   1.00-2.00   sec  3.58 MBytes  30.0 Mbits/sec  2590
     214[  5]   2.00-3.00   sec  3.58 MBytes  30.0 Mbits/sec  2589
     215[  5]   3.00-4.00   sec  3.58 MBytes  30.0 Mbits/sec  2590
     216[  5]   4.00-5.00   sec  3.58 MBytes  30.0 Mbits/sec  2590
     217[  5]   5.00-6.00   sec  3.58 MBytes  30.0 Mbits/sec  2590
     218[  5]   6.00-7.00   sec  3.58 MBytes  30.0 Mbits/sec  2590
     219[  5]   7.00-8.00   sec  3.58 MBytes  30.0 Mbits/sec  2589
     220[  5]   8.00-9.00   sec  3.58 MBytes  30.0 Mbits/sec  2590
     221[  5]   9.00-10.00  sec  3.58 MBytes  30.0 Mbits/sec  2590
     222- - - - - - - - - - - - - - - - - - - - - - - - -
     223[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
     224[  5]   0.00-10.00  sec  35.8 MBytes  30.0 Mbits/sec  0.000 ms  0/25896 (0%)  sender
     225[  5]   0.00-10.00  sec  0.00 Bytes  0.00 bits/sec  0.000 ms  0/0 (0%)  receiver
     226iperf3: error - the server has terminated
     227root@sdr1-piradio:~#
     228}}}
     229
     230* You can also get the detailed report of the transmission ( UE_ID, SINR, RSRP, mcs, Bitrate) by activating the status display on the UE side.
     231
     232{{{#!shell
     233(ue) power_on
     234(ue) ue
     235        # UE_ID CL RNTI    RRC_STATE               EMM_STATE #ERAB IP_ADDR
     236  NR    0     1  0 461b      running              registered     1 192.168.2.2
     237(ue) t
     238Press [return] to stop the trace
     239----------------------Hz---ppm----dB----dBm-----------------------DL---------- ---------------------UL-
     240UE_ID  RAT CL RNTI   CFO   SRO  SINR   RSRP  mcs retx rxko rxok brate     #its  mcs  ta retx   tx brate
     241    1   NR 00 461c  -697  -0.5   2.0  -77.2  0.0   15   17   51  376k  1/3.6/5 17.0   6    0    1 14.3k
     242    1   NR 00 461c  -733  -1.5   1.8  -76.9  0.0  339  358  935  345k  1/3.8/5 15.7   7    4   26 16.8k
     243    1   NR 00 461c  -750  -2.2   0.3  -77.0  0.0  342  363  908  335k  1/3.8/5 14.2   9    4   21 12.4k
     244    1   NR 00 461c  -746  -0.8  -2.5  -79.3  0.0  336  357  926  343k  1/3.8/5 14.6  11    5   22 13.2k
     245    1   NR 00 461c  -855  -1.8   0.2  -77.6  0.0  340  363  906  334k  1/3.8/5 14.6  13    1   24 14.2k
     246    1   NR 00 461c  -841  -2.1  -1.4  -79.4  0.0  351  369  913  338k  1/3.8/5 15.3  14    5   20 12.5k
     247    1   NR 00 461c  -848   0.2  -5.2  -81.9  0.0  330  353  916  340k  1/3.8/5 14.3  16    5   25 14.7k
     248    1   NR 00 461c  -764  -0.2  -0.1  -78.7  0.0  357  372  898  332k  1/3.8/5 14.7  16    7   24 14.9k
     249    1   NR 00 461c  -743  -0.4   2.5  -77.3  0.0  327  355  906  334k  1/3.8/5 15.0  16    4   27 16.7k
     250    1   NR 00 461c  -761  -0.5  -2.3  -80.4  0.0  333  363  902  332k  1/3.8/5 14.9  16    3   19 11.3k
     251----------------------Hz---ppm----dB----dBm-----------------------DL---------- ---------------------UL-
     252}}}
     253
     254
     255[[CollapsibleEnd]]