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
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