Membangun Jaringan 4G LTE Sendiri: Eksperimen Hands-on dengan Open5GS, srsRAN, dan USRP B210
Belajar telekomunikasi di ruang kelas terasa cukup abstrak. Komponen Network Element LTE, prosedur handover, terkadang hanya menjadi…
Membangun Jaringan 4G LTE Sendiri: Eksperimen Hands-on dengan Open5GS, srsRAN, dan USRP B210

Thumbnail generated by Gemini AI
Belajar telekomunikasi di ruang kelas terasa cukup abstrak. Komponen Network Element LTE, prosedur handover, terkadang hanya menjadi tumpukan teori yang sulit dibayangkan wujud aslinya, terutama bagi saya pribadi. Alhamdulillah, November 2024 lalu ketika duduk di Semester 5, saya diberi kesempatan oleh Dosen saya untuk eksplorasi perangkat USRP B210 yang mana hal tersebut membuka jalan saya untuk memahami lebih dalam tumpukan teori tersebut.
Tulisan ini adalah dokumentasi dari eksperimen saya dalam membangun jaringan 4G LTE sendiri menggunakan perangkat USRP B210 + Laptop dengan OS Ubuntu yang terinstall open-source software Open5GS sebagai Core Network dan srsRAN sebagai Radio Access Network. Pada tulisan ini, PC Core Network (Open5GS) dan PC Radio Access Network (srsRAN) akan saya install di PC yang berbeda. Teman-teman bisa juga menginstall kedua software tersebut didalam satu PC yang sama.
Persiapan Perangkat (Prerequisites)
- Dua buah PC/Laptop dengan minimum spesifikasi dual-core i5
- OS Ubuntu 22.04 LTS (Jammy)
- USRP B210
- USB 3.0 type B Cable
- Antenna Monopole 2 Unit
- SIM Card Reader
- SIM Card Programable
- Software core network Open5gs
- Software radio srsRAN
- Software GRSIMWrite (di install di windows)
- User Equipment (UE) aka Smartphone
Instalasi Software Core Network Open5GS (PC Core Network)
Sebelum proses instalasi pastikan jaringan internet dalam kondisi baik untuk menghindari error pada package yang di unduh.
1.Install mongoDB : Digunakan sebagai database untuk PCRF/HSS
Import public key
sudo apt update
sudo apt install -y gnupg curl
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg
Buat file /etc/apt/sources.list.d/mongodb-org-6.0.list | Command di bawah ini hanya untuk Ubuntu 22.04
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
Install MongoDB
sudo apt update
sudo apt install -y mongodb-org
Restart, Enable dan cek status mongoDB di Ubuntu 22.04
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
2.Install Open5GS
Install aplikasi pendukung
sudo apt update
sudo apt upgrade
sudo apt install -y software-properties-common
Tambahkan repository Open5gs dan install
sudo add-apt-repository ppa:open5gs/latest
sudo apt install -y open5gs
Restart dan Enable Open5GS
sudo systemctl restart open5gs-mmed
sudo systemctl restart open5gs-sgwcd
sudo systemctl restart open5gs-smfd
sudo systemctl restart open5gs-amfd
sudo systemctl restart open5gs-sgwud
sudo systemctl restart open5gs-upfd
sudo systemctl restart open5gs-hssd
sudo systemctl restart open5gs-pcrfd
sudo systemctl restart open5gs-nrfd
sudo systemctl restart open5gs-scpd
sudo systemctl restart open5gs-seppd
sudo systemctl restart open5gs-ausfd
sudo systemctl restart open5gs-udmd
sudo systemctl restart open5gs-pcfd
sudo systemctl restart open5gs-nssfd
sudo systemctl restart open5gs-bsfd
sudo systemctl restart open5gs-udrd
sudo systemctl enable open5gs-amfd
sudo systemctl enable open5gs-ausfd
sudo systemctl enable open5gs-bsfd
sudo systemctl enable open5gs-hssd
sudo systemctl enable open5gs-mmed
sudo systemctl enable open5gs-nrfd
sudo systemctl enable open5gs-nssfd
sudo systemctl enable open5gs-pcfd
sudo systemctl enable open5gs-pcrfd
sudo systemctl enable open5gs-scpd
sudo systemctl enable open5gs-sgwcd
sudo systemctl enable open5gs-sgwud
sudo systemctl enable open5gs-smfd
sudo systemctl enable open5gs-udmd
sudo systemctl enable open5gs-udrd
sudo systemctl enable open5gs-upfd
3.Menginstall WebUI Open5GS : Digunakan untuk mengedit data pelanggan dengan mudah
Install Node.js
sudo apt update
sudo apt install curl
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y gcc g++ make
sudo apt install -y nodejs
Install yarn
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt install -y yarn
Install WebUI Open5GS
curl -fsSL https://open5gs.org/open5gs/assets/webui/install | sudo -E bash -
Agar bisa di akses dari Remote PC. Edit open5gs-webui.service
sudo nano /etc/systemd/system/multi-user.target.wants/open5gs-webui.service
Pastikan open5gs-webui.service konfigurasinya seperti dibawah ini
[Unit]
Description=Open5GS WebUI
Wants=mongodb.service mongod.service
[Service]
Type=simple
WorkingDirectory=/usr/lib/node_modules/open5gs
Environment=NODE_ENV=production
Environment=HOSTNAME=0.0.0.0
Environment=PORT=8080
ExecStart=/usr/bin/node server/index.js
Restart=always
RestartSec=2
[Install]
WantedBy=multi-user.target
Restart Open5GS Web UI
systemctl daemon-reload
systemctl restart open5gs-webui
systemctl enable open5gs-webui
systemctl status open5gs-webui
Webui Open5gs bisa diakses di http://0.0.0.0:8080 untuk local atau di http://ip-address:8080 untuk remote akses contoh : http://192.168.1.41:8080
Berikut adalah Username dan Password untuk WebUI Open5gs
Username : admin
Password : 1423

Tampilan Web UI Open5GS
Instalasi Software Radio srsRAN (PC RAN)
1.Instalasi USRP Hardware Driver (UHD)
sudo add-apt-repository ppa:ettusresearch/uhd
sudo apt update
sudo apt install libuhd-dev uhd-host
sudo /usr/lib/uhd/utils/uhd_images_downloader.py
2. Install software base station srsRAN dari sumber
Install library yang dibutuhkan
sudo apt-get install build-essential cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev
Download dan build srsRAN
Pastikan pada PC sudah terinstall git, jika belum maka install terlebih dahulu
sudo apt install git
Pergi ke direktori /usr/local/src
git clone https://github.com/srsRAN/srsRAN.git
cd srsRAN
mkdir build
cd build
cmake ../
make -j4
make test -j4
Install srsRAN
sudo make install
sudo ldconfig
srsran_install_configs.sh user
Konfigurasi SIM Card
- Unduh dan install software GRSIM Write di OS Windows. Software GRSIM Write bisa di unduh di laman : https://www.gialer.com/
- Hubungkan SIM Card Reader yang telah diisi oleh programmable SIM Card ke PC dengan OS Windows
- Buka software GRSIM Write dan pilih tombol Read Card
- Masukan parameter IMSI 15, KI, OPC dan beberapa parameter lainnya sesuai ketentuan yang berlaku. Pada contoh kali ini parameter yang di isi adalah sebagai berikut :
LTE/WCDMA Parameter
IMSI15 : 510331234567890
Subscriber Key (KI) : 465B5CE8B199B49FAA5F0A2EE238A6BA
Operator Key (OPC) : E8ED289DEBA952E4283B54E88E6183CB
PLMNwAct : 51033:4000;51033:8000;51033:0080
OPLMNwAct : 51033:4000;51033:8000
HPLMNwAct : 51033:4000;51033:8000;51033:0080
EHPLMN : 51033
FPLMN : 51089;51021;51001;51010
MSISDN : 6282222600041
SPN : STr Telkom B 22

Tampilan GRSIM Write
-
Jika semua parameter sudah dimasukkan tekan tombol Write Card untuk menulis parameter yang telah diisi ke dalam programmable SIM Card.
-
SIM card siap digunakan.
Konfigurasi Core Network
- Buka terminal lalu edit isi mme.yaml di direktori “/etc/open5gs”
nano /etc/open5gs/mme.yaml
Atur konfigurasi kurang lebih seperti dibawah ini
mme:
freeDiameter: /etc/freeDiameter/mme.conf
s1ap:
server:
- address: 10.252.128.135
gtpc:
server:
- address: 127.0.0.2
client:
sgwc:
- address: 127.0.0.3
smf:
- address: 127.0.0.4
metrics:
server:
- address: 127.0.0.2
port: 9090
gummei:
- plmn_id:
mcc: 510
mnc: 33
mme_gid: 2
mme_code: 1
tai:
- plmn_id:
mcc: 510
mnc: 33
tac: 1
security:
integrity_order : [ EIA2, EIA1, EIA0 ]
ciphering_order : [ EEA0, EEA1, EEA2 ]
network_name:
full: STr-TelkomB-22
short: Next
mme_name: telkomb22-mme0
- s1ap server address diisikan alamat IP dari PC Core Network, pada contoh kali ini IP PC merupakan 10.252.128.135.
- Pada contoh kali ini PLMN id di isikan MCC 510 karena merupakan MCC untuk negara Indonesia dan MNC 33 dengan tac (tracking area code) adalah 1.
Catatan : Dalam realitanya nomor MNC ini harus dikoordinasikan ke lembaga pemerintah yang berwenang.
- network_name merupakan nama untuk jaringannya seperti TELKOMSEL 4G, INDOSAT 4G, XL 4G. Pada contoh kali ini nama jaringan nya adalah STr-TelkomB-22 dengan nama mme nya adalah telkomb22-mme0.
- Setelah mengatur konfigurasi mme selanjutnya simpan konfigurasi lalu mengatur konfigurasi untuk sgwu pada direktori yang sama
nano /etc/open5gs/sgwu.yaml
Atur konfigurasi kurang lebih seperti dibawah ini :
logger:
file:
path: /var/log/open5gs/sgwu.log
# level: info # fatal|error|warn|info(default)|debug|trace
global:
max:
ue: 1024 # The number of UE can be increased depending on memory size.
# peer: 64
sgwu:
pfcp:
server:
- address: 127.0.0.6
client:
# sgwc: # SGW-U PFCP Client try to associate SGW-C PFCP Server
# - address: 127.0.0.3
gtpu:
server:
- address: 10.252.128.135
Atur gtpu server address sama dengan s1ap server address.
-
Simpan konfigurasi sgwu
-
Restart mme dan sgwu dengan mengetikkan command pada terminal.
sudo systemctl restart open5gs-mmed
sudo systemctl restart open5gs-sgwud
- Untuk membaca log mme dapat mengetikkan command berikut :
tail -f /var/log/open5gs/mme.log
Jika berhasil tampilan log mme akan seperti ini :
root@tsxhsntsx:/etc/open5gs# tail -f /var/log/open5gs/mme.log
12/17 23:59:47.625: [gtp] INFO: gtp_connect() [127.0.0.3]:2123 (../lib/gtp/path.c:60)
12/17 23:59:47.625: [mme] INFO: s1ap_server() [10.252.128.135]:36412 (../src/mme/s1ap-sctp.c:62)
12/17 23:59:47.625: [sctp] INFO: MME initialize...done (../src/mme/app-init.c:33)
12/17 23:59:47.627: [diam] INFO: CONNECTED TO 'hss.localdomain' (SCTP,soc#17): (../lib/diameter/common/logger.c:108)
- Lakukan NAT Forwarding di PC Core Network agar UE bisa mengakses internet
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo systemctl stop ufw
sudo iptables -I FORWARD 1 -j ACCEPT
eth0 disesuaikan dengan interface yang digunakan PC untuk terhubung ke internet. Jika cara diatas tidak berhasil, coba tambahkan manual tun interface dan lakukan NAT Forwarding ulang
sudo ip tuntap add name ogstun mode tun
sudo ip addr add 10.45.0.0/16 dev ogstun
sudo ip addr add 2001:230:cafe::1/48 dev ogstun
sudo ip link set ogstun up
Langkah Data Entry SIM Card di Core Network
- Login ke Web UI Open5gs, alamat web bisa di akses menggunakan local atau melalui IP, pada contoh kali ini menggunakan localhost:8080. masukan username dan password Web UI Open5gs username : admin
username : admin
password : 1423
- Untuk menambahkan pelanggan klik tanda + berwarna merah muda di pojok kanan bawah, maka akan muncul tampilan seperti dibawah ini :

Menambahkan pelanggan
- Masukkan data-data penting yang diperlukan seperti IMSI, Subscriber Key, Operator Key, USIM Type pilih OPc. Parameter yang dimasukkan harus sesuai dengan konfigurasi pada SIM Card. Jika dirasa sudah sesuai maka langkah selanjutnya klik save.
Contoh parameter yang di masukkan :
IMSI : 510331234567890
Subscriber Key : 465B5CE8B199B49FAA5F0A2EE238A6BA
Operator Key : E8ED289DEBA952E4283B54E88E6183CB
Konfigurasi PC Radio Access Network
- Pergi ke direktori /usr/local/src/srsRAN/srsenb
cd /usr/local/src/srsRAN/srsenb
- Saat pertama kali konfigurasi biasanya file yang diperlukan seperti enb.conf, rr.conf, sib.conf dan rb.conf belum ada, maka dari itu salin file yang dibutuhkan dari file enb.conf.example, rr.conf.example, sib.conf.example, rb.conf.example dengan cara :
cp enb.conf.example enb.conf && \
cp rr.conf.example rr.conf && \
cp sib.conf.example sib.conf && \
cp rb.conf.example rb.conf
- Setelah file disalin kemudian atur file enb.conf seperti dibawah ini menggunakan perintah :
nano enb.conf
Konfigurasi enb.conf :
[enb]
enb_id = 0x19B
mcc = 510
mnc = 33
mme_addr = 10.252.128.135
gtp_bind_addr = 10.250.118.129
s1c_bind_addr = 10.250.118.129
s1c_bind_port = 0
n_prb = 50
[rf]
tx_gain = 80
rx_gain = 40
device_name = auto
device_args = fail_on_disconnect=true,tx_port=tcp://*:2000,rx_port=tcp://localhost:2001,id=enb,base_srate=23.04e6
enb_id diisi 0x19B dengan mcc dan mnc yang sesuai dengan settingan di core network yaitu MCC 510 MNC 33. mme_address diisi dengan alamat IP PC core network sedangkan gtp_bind_addr dan s1c_bind_addr diisi dengan alamat IP PC RAN. Bandwidth yang digunakan sebesar 10 MHz sehingga n_prb (nilai physical resource blocks) diaatur 50. Setelah di atur seperti pengaturan diatas, kemudian simpan.
- Atur juga file rr.conf seperti dibawah ini :
nano rr.conf
Konfigurasi rr.conf :
cell_list =
(
{
// rf_port = 0;
cell_id = 0x01;
tac = 0x0001;
pci = 1;
// root_seq_idx = 204;
dl_earfcn = 3350;
}
)
Parameter yang diatur pada file rr.conf adalah cell_id, tac, pci dan dl_earfcn. Untuk nilai tac disesuaikan dengan yang ada di core network. Untuk nilai dl_earfcn yang digunakan adalah 3350 yang running pada band 7 pada frekuensi downlink 2680 MHz. Setelah mengatur semua parameter yang diperlukan kemudian simpan.
- Langkah selanjutnya running eNodeB dengan menggunakan perintah :
../build/srsenb/src/srsenb enb.conf

Terminal PC Radio Access Network
Konfigurasi User Equipment (UE)
Setelah mengkonfigurasi SIM card, langkah selanjutnya masukkan SIM card yang sudah dikonfigurasi ke dalam UE. Pada contoh kali ini UE yang digunakan adalah Redmi Note 10 S dengan chipset MediaTek.
Langkah Konfigurasi UE
- Pergi ke Settings > SIM cards & Mobile networks > SIM card settings > Access point names > New APN
- Isikan :
Name : internet
APN : internet
Kemudian simpan.

Setting APN
- Kembali ke halaman SIM card settings > Mobile networks > matikan Automatically select network untuk memindai sinyal. Jika sinyal berhasil terdeteksi maka akan muncul tampilan seperti ini.

- Selamat !!! kita berhasil terhubung ke Jaringan 4G LTE milik sendiri. Perlu diperhatikan bahwa tidak semua UE bisa menggunakan jaringan 4G LTE yang sudah dibuat dikarenakan beberapa chipset hanya membuka untuk Band LTE tertentu. Untuk lebih lengkapnya bisa lihat dokumentasi UE yang berhasil terhubung disini ***https://docs.srsran.com/projects/project/en/latest/knowledge_base/source/cots_ues/source/index.html***
Catatan : UE yang saya gunakan yaitu Redmi Note 10 S dengan chipset MediaTek sudah teruji untuk terhubung ke jaringan 4G LTE pada Band 1, Band 2, Band 7 dan Band 8.
UE/Smartphone yang berhasil terkoneksi di eksperimen ini :
- Redmi Note 10 S -> Mediatek Helio G95
- Redmi Note 9 Pro -> Snapdragon 720G
- Realme GT Master -> Snapdragon 778G
Dokumentasi pengujian :

Tampilan Network Signal Info
Note : TAC pada gambar diatas bernilai 7 karena saya screenshoot saat konfigurasi untuk S1 Handover.

Speed Test
Download dan Upload tertinggi pada test ini :
Download : 31 Mbps
Upload : 20.5 Mbps
INFO TAMBAHAN !!!
Berikut beberapa pengalaman saya saat troubleshoot :
- Pastikan firewall nonaktif, terkadang UE tidak bisa internetan karena ini.
- Jika sinyal sudah terdeteksi tapi tidak bisa connect ke jaringan -> pastikan MCC MNC sama antara SIM Card dengan Core Network dan sudah terdaftar di WebUI Open5GS.
- Periksa kembali setiap konfigurasi, pastikan sudah benar.
- Selama proses pengujian, performa CPU sangat berpengaruh. Secara default, CPU pada Linux biasanya menggunakan mode hemat daya (powersave), yang bisa menyebabkan penurunan performa saat running. Teman-teman bisa cek menggunakan perintah :
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
Oleh karenanya, agar mendapatkan throughput maksimal. Pada Ubuntu, hal ini dapat dilakukan dengan perintah berikut:
echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
Jika menggunakan laptop, disarankan untuk selalu menghubungkan perangkat ke sumber listrik selama pengujian berlangsung. Hal ini penting untuk menghindari penurunan frekuensi CPU secara otomatis yang dapat berdampak pada performa sistem.
Demikian dokumentasi membangun jaringan 4G LTE menggunakan USRP B210. Next post, sharing terkait konfigurasi untuk S1 Handover. Semoga tulisan ini bermanfaat. Jika ada saran, masukkan, pertanyaan atau ingin berdiskusi, silakan tulis di kolom komentar!
Terima kasih sudah membaca :)
Reference
Lee, S. (n.d.). Documentation. Open5GS. https://open5gs.org/open5gs/docs/
srsRAN 4G 22.10 Documentation — srsRAN 4G 22.10 documentation. (n.d.). https://docs.srsran.com/projects/4g/en/next/index.html
Sopiyana, Y., Hilmi, F. F., Mas’ud, I., Nurdin, T. A., Bachri, S., Alberto, J., & Purbo, O. W. (2024). Membuat Operator Seluler 5G Sendiri. ANDI.
메타데이터
- post_id
- 746cc8369fc4
- slug
- membangun-jaringan-4g-lte-sendiri-eksperimen-hands-on-dengan-open5gs-srsran-dan-usrp-b210-746cc8369fc4
- url
- https://medium.com/@daffaraihansharto/membangun-jaringan-4g-lte-sendiri-eksperimen-hands-on-dengan-open5gs-srsran-dan-usrp-b210-746cc8369fc4
- canonical_url
- https://medium.com/@daffaraihansharto/membangun-jaringan-4g-lte-sendiri-eksperimen-hands-on-dengan-open5gs-srsran-dan-usrp-b210-746cc8369fc4
- author_url
- https://medium.com/@daffaraihansharto
- status
- ok
- fetched_at
- 2026-06-26 21:52:29