guia de instalação do srsRAN 5G Project - PORVIR-5G-Project/srsRAN-Project-installation GitHub Wiki

Universidade Federal do Rio Grande do Sul - Instituto de Informática Orientador: Prof. Dr. Juliano Araújo Wickbolt Aluno: Igor Martins Silva

Tutorial instalação srsRan-5G(srsRAN Project)

Atualizado:07/10/2023

foi usado o Ubuntu terminal 20.04.6 LTS para rodar esse tutorial

→ Instalação do núcleo do 5g(Open5GS Core)

1.0 - Precisa-se ter instalado no computador o cmake e o gcc.

2.0 – Você precisa instalar as ferramentas e dependências de varias distribuições com o seguinte comando:

sudo apt-get install cmake make gcc g++ pkg-config libfftw3-dev libmbedtls-dev libsctp-dev libyaml-cpp-dev libgtest-dev

3.0 – precisa instalar o drive UHD para os USRPs funcionarem.

3.1 – pode entrar diretamente no site da Ettus e fazer a instalação do drive com o seguinte comando:

sudo apt-get install libuhd-dev uhd-host

3.2 – caso não funcione pode tentar instalar usando a instalação dos binários usando os seguintes comandos:

sudo add-apt-repository ppa:ettusresearch/uhd
sudo apt-get update
sudo apt-get install libuhd-dev uhd-host

3.2.1 – lembre-se de instalar as imagens do uhd.

sudo uhd_images_downloader
sudo uhd_usrp_probe
sudo uhd_find_devices

4.0 – Clonado e fazendo build, clone o projeto:

git clone https://github.com/srsRAN/srsRAN_Project.git

4.1 – Agora faça o build do projeto:

cd srsRAN_Project
mkdir build
cd build
cmake ../
make -j $(nproc)
make test -j $(nproc)

4.2 – Apos isso faça a instalação com:

sudo make install

5.0 - Você também pode optar por fazer a instalação por pacotes:

sudo add-apt-repository ppa:softwareradiosystems/srsran-project
sudo apt-get update
sudo apt-get install srsran-project -y

6.0- Para rodar o core do 5g, você deve ir na pasta onde tem os arquivos de configuração dos usrps.

cd srsRAN_Project/configs/

6.1 – E para rodar, dar o seguinte comando:

sudo gnb -c <config file>

Iremos configurar esses arquivos posteriormente para eles funcionarem corretamente.

→ Instalação do usuário(srsUE)

O srsUE só está disponível no srsRAN4g, então temos que baixar o 4g e instalá-lo.

7.0 – primeiramente temos que instalar as bibliotecas no Ubuntu:

sudo apt-get install build-essential cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev

8.0 – depois disso temos que clonar o projeto do github e fazer build:

git clone https://github.com/srsRAN/srsRAN_4G.git
cd srsRAN_4G
mkdir build
cd build
cmake ../
make
make test

8.1- Apos ter passado no teste, tu instala o srsRAN 4G:

sudo make install
srsran_install_configs.sh user

8.2 – Após isso, tem que dar o seguinte comando para o srsUE funcionar corretamente

sudo ldconfig

Apos a finalização dessa etapa, temos o srsRAN UE.

→ Configurando o core do srsRAN e o srsUE Primeiramente teremos que instalar o ZeroMQ para ajudar no na comunicação da internet e notificações sobre o tráfego. Após isso teremos que criar um usuario no webUI para conenctar no USRPs e depois iremos configurar os USRPs para se comunicarem entre si.

9.0 – No Ubuntu, instale o ZeroMQ:

sudo apt-get install libzmq3-dev

10.0 – Apos isso, tem que dar build no srsRAN Project com o ZeroMQ habilitado:

cd srsRAN_Project
cd build
cmake ../ -DENABLE_EXPORT=ON -DENABLE_ZEROMQ=ON
make -j`nproc`

10.1 – Preste atenção para ver se aparece na saida do console as seguinte linhas:

...
-- FINDING ZEROMQ.
-- Checking for module 'ZeroMQ'
--   No package 'ZeroMQ' found
-- Found libZEROMQ:/usr/local/include,/usr/local/lib/libzmq.so
…

11.0 – Agora iremos criar o UE, lembre-se que as informações do core no usrp, ue no usrp e as informações do UE criado no webUI devem coincidirem. Primeiro teremos que configurar no putty para poder acessar o site remotamente. digite o seguinte comando para visualizar as portas do computador:

   ss -l

Depois, clique com botão direito na aba do terminal e selecione “chance settings”. E agora colocando a seguinte configuração no Putty; Vá para Connection ->SSH ->Tunnels e nos seguintes campos, digite as portas do teu computador disponíveis ou o exemplo abaixo:

  source port: 4000
  destination: (nome do computador):3000

Depois clique em apply e digite o endereço no navegador

  localhost:4000

11.1 – Após isso e realizar o login, deve-se criar um UE, colocando as seguintes configurações nele:

login:admin
senha:1423

image image image

12.0 – Agora deve-se configurar o core do srsRAN. Vá para a pasta de configurações e edite o arquivo de configuração do usrp:

cd srsRAN_project/configs
nano  gnb_rf_b210_fdd_srsUE.yml

12.1 - Primeiramente o addr e o bind_addr do amf tem que estar em conformidade com o endereço do amf que está no computador, ele pode ser achado ser visto com o seguinte comando:

No computador usado estava o seguintes endereços:

addr: 127.0.0.5		# The address or hostname of the AMF.
bind_addr: 127.0.0.1	# A local IP that the gNB binds to for>

12.3 – Deve-se dizer qual usrp está sendo usado caso tenha-se mais que um conectado ao computador. Na parte do “ru_sdr:” deve-se colocar o serial do usrp na linha do “device_args”.

device_args: type=b200,serial=30B56D6       # Optionally pass 	aguments to the selected RF driver.

12.3– A outra modificação que deve ser feita é no “plmn”, que deve ser o mesmo do inicio do UE criado. É como se fosse o ddi e o ddd do celular. No nosso caso colocamos:

plmn: “99970”		# PLMN broadcasted by the gNB.

12.4 – O “tac” também tem que ser o mesmo os arquivos, recomenda-se setar ele para 7:

tac: 7 				# Tracking area code (needs to match the core configuration).

13.0 – Agora iremos configurar o UE, primeiramente temos que baixar o arquivo do UE:

wget https://docs.srsran.com/projects/project/en/latest/_downloads/900a04eeabbe80c1bb9f3e571afaa804/ue_rf.conf

13.1 – Assim que baixado temos que editar ele e configurar ele conforme está nos outros arquivos.

Nano ue_rf.conf

13.2 – Podemos especificar qual usrp iremos usar, pode usar o comando ss -l para mostrar todas portas e endereços:

device_args = serial=318815B

13.2 – Iremos editar a parte do “[usim]” que deve coincidir com a que criamos no WebUI. Logo, temos que ter opc, k, e o imsi idênticos.

opc  = E8ED289DEBA952E4283B54E88E6183CA
k    = 465B5CE8B199B49FAA5F0A2EE238A6BC
imsi = 999700000000000

Apos isso está configurado os arquivos, iremos rodar ambos os arquivos em terminais diferentes.

→ Rodando srsRAN_Project

14.0 – Dentro da pasta configs iremos rodar o core:

sudo gnb -c srsRAN_Project/configs/gnb_rf_b210_fdd_srsUE.yml

14.1- Caso deseja-se ver os logs do amf para ver se está corretamento rodando:

tail /var/log/open5gs/amf.log

15.0 – No outro terminal rodaremos o srsUE, é importante rodar esse comando dentro da pasta onde está o arquivo.

sudo srsue ue_rf.conf

15.1 – Caso tenha dado tudo correto, aparecerá mensagem no terminal dizendo que foi conectado corretamente e mostrará principalmente a seguinte mensagem:

PDU Session Establishment successful. IP: 10.45.10.2
RRC NR reconfiguration successful.

fontes:

instalção do nucleo5gs: https://docs.srsran.com/projects/project/en/latest/user_manuals/source/installation.html#manual-installation

instalção do UHD: https://files.ettus.com/manual/page_install.html

instalção das imagens: https://files.ettus.com/manual/page_images.html

instalção do 4g(srsUE): https://docs.srsran.com/projects/4g/en/latest/general/source/1_installation.html#gen-installation

configurações dos arquivos: https://docs.srsran.com/projects/project/en/latest/tutorials/source/srsUE/source/index.html

⚠️ **GitHub.com Fallback** ⚠️