Skip to content

Appendix

Appendix A: OAM

  1. Run the OAM server
    cd webconsole
    go run server.go
    
  2. Access the OAM by
    URL: http://localhost:5000
    Username: admin
    Password: free5gc
    
  3. Now you can see the information of currently registered UEs (e.g. Supi, connected state, etc.) in the core network at the tab "DASHBOARD" of free5GC webconsole

Note: You can add the subscribers here too

Appendix B: Orchestrator

Please refer to free5gmano

Appendix C: IPTV

Please refer to free5GC/IPTV

Appendix D: System Environment Cleaning

The below commands may be helpful for development purposes.

  1. Remove POSIX message queues
    • ls /dev/mqueue/
    • rm /dev/mqueue/*
  2. Remove gtp5g tunnels (using tools in libgtp5gnl)
    • cd ./src/upf/lib/libgtp5gnl/tools
    • ./gtp5g-tunnel list pdr
    • ./gtp5g-tunnel list far
  3. Remove gtp5g devices (using tools in libgtp5gnl)
    • cd ./src/upf/lib/libgtp5gnl/tools
    • sudo ./gtp5g-link del {Dev-Name}

Appendix E: Change Kernel Version

  1. Check the previous kernel version: uname -r
  2. Search specific kernel version and install, take 5.0.0-23-generic for example
    sudo apt search 'linux-image-5.0.0-23-generic'
    sudo apt install 'linux-image-5.0.0-23-generic'
    sudo apt install 'linux-headers-5.0.0-23-generic'
    
  3. Update initramfs and grub
    sudo update-initramfs -u -k all
    sudo update-grub
    
  4. Reboot, enter grub and choose kernel version 5.0.0-23-generic
    sudo reboot
    

Optional: Remove Kernel Image

sudo apt remove 'linux-image-5.0.0-23-generic'
sudo apt remove 'linux-headers-5.0.0-23-generic'

Appendix F: Program the SIM Card

Install packages:

sudo apt-get install pcscd pcsc-tools libccid python-dev swig python-setuptools python-pip libpcsclite-dev
sudo pip install pycrypto

Download PySIM

git clone git://git.osmocom.org/pysim.git

Change to pyscard folder and install

cd <pyscard-path>
sudo /usr/bin/python setup.py build_ext install

Verify your reader is ready

sudo pcsc_scan

Check whether your reader can read the SIM card

cd <pysim-path>
./pySim-read.py –p 0

Program your SIM card information

./pySim-prog.py -p 0 -x 208 -y 93 -t sysmoUSIM-SJS1 -i 208930000000003 --op=8e27b6af0e692e750f32667a3b14605d -k 8baf473f2f8fd09487cccbd7097c6862 -s 8988211000000088313 -a 23605945

You can get your SIM card from sysmocom.

Appendix G: Install MongoDB 7.0.x on Ubuntu Server 22.04.03

Check that the system CPU supports AVX instructions as it's required since MongoDB 5.0. If not (i.e. the command below returns empty output), use MongoDB 4.4.x (see step 3 from installation prerequisites instructions)

grep --color avx /proc/cpuinfo

Before you begin the installation, update the package manager database and make sure MongoDB prerequisites are installed

sudo apt update
sudo apt install gnupg curl

Add MongoDB public GPG key
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

Note: if you are installing a version other than 7.0, remember, change it on the command above

Create the APT list entry file using the command below

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Refresh the package database then install MongoDB

sudo apt update
sudo apt install -y mongodb-org

For detailed instructions on how to freeze the installed version or install a specific version of MongoDB, please, check the reference below or follow this direct URL

Don't forget to load the DB service using

sudo systemctl start mongod

Reference: MongoDB official website

Appendix H: Using the reload_host_config.sh script

The script was designed to help reapplying the configurations after a VM reboot

Its usage is fairly simple, just run

./reload_host_config.sh <dn_interface>

For example, if your DN interface (e.g. free5GC's VM LAN interface) is named enp0s4, the command above will be

./reload_host_config.sh enp0s4

If you are unsure regarding the name of the interface, run ip a (see the image below) to help to figure it out

An example of the expected output is depicted above