All Projects → free5G → free5GRAN

free5G / free5GRAN

Licence: Apache-2.0 license
free5GRAN is an open-source 5G RAN stack. The current version includes a receiver which decodes MIB & SIB1 data. It also acts as a cell scanner. free5GRAN works in SA mode.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to free5GRAN

Gqrx Scanner
A frequency scanner for Gqrx Software Defined Radio receiver
Stars: ✭ 116 (+78.46%)
Mutual labels:  sdr
Pagermon
Multimon-ng pager message parser and viewer
Stars: ✭ 154 (+136.92%)
Mutual labels:  sdr
Gr Ieee802 15 4
IEEE 802.15.4 ZigBee Transceiver
Stars: ✭ 189 (+190.77%)
Mutual labels:  sdr
Rdio Scanner
Rdio Scanner is an interface similar to a police radio scanner for software defined radio recorders
Stars: ✭ 122 (+87.69%)
Mutual labels:  sdr
Gqrx
Software defined radio receiver powered by GNU Radio and Qt.
Stars: ✭ 1,934 (+2875.38%)
Mutual labels:  sdr
Srslte
Open source SDR 4G/5G software suite from Software Radio Systems (SRS)
Stars: ✭ 2,418 (+3620%)
Mutual labels:  sdr
Ooktools
📡 On-off keying tools for your SD-arrrR
Stars: ✭ 102 (+56.92%)
Mutual labels:  sdr
Pothoscore
The Pothos data-flow framework
Stars: ✭ 232 (+256.92%)
Mutual labels:  sdr
Plutosdr Fw
PlutoSDR Firmware
Stars: ✭ 151 (+132.31%)
Mutual labels:  sdr
Openwifi Hw
FPGA/hardware design of openwifi
Stars: ✭ 181 (+178.46%)
Mutual labels:  sdr
Openwifi
open-source IEEE 802.11 WiFi baseband FPGA (chip) design
Stars: ✭ 2,257 (+3372.31%)
Mutual labels:  sdr
Wavesdr
macOS native desktop Software Defined Radio app
Stars: ✭ 144 (+121.54%)
Mutual labels:  sdr
Qradiolink
Multimode SDR transceiver for GNU radio
Stars: ✭ 176 (+170.77%)
Mutual labels:  sdr
Awesome Cellular Hacking
Awesome-Cellular-Hacking
Stars: ✭ 1,827 (+2710.77%)
Mutual labels:  sdr
Red Pitaya Notes
Notes on the Red Pitaya Open Source Instrument
Stars: ✭ 205 (+215.38%)
Mutual labels:  sdr
Gnuradio Android
GNU Radio Android Toolchain
Stars: ✭ 109 (+67.69%)
Mutual labels:  sdr
Look4sat
Amateur radio and weather satellite tracker and passes predictor for Android inspired by Gpredict
Stars: ✭ 160 (+146.15%)
Mutual labels:  sdr
Gnuradio
GNU Radio – the Free and Open Software Radio Ecosystem
Stars: ✭ 3,297 (+4972.31%)
Mutual labels:  sdr
Pandwarf
PandwaRF: RF analysis tool with a sub-1 GHz wireless transceiver controlled by a smartphone or
Stars: ✭ 206 (+216.92%)
Mutual labels:  sdr
Acarsdec
ACARS SDR decoder
Stars: ✭ 177 (+172.31%)
Mutual labels:  sdr

free5GRAN

free5GRAN is an open-source 5G RAN stack. The current version includes a receiver which decodes MIB & SIB1 data. It also acts as a cell scanner. free5GRAN works in SA mode.

free5GRAN includes a library which can be reused for further developments. Documentation is available https://free5g.github.io/free5GRAN-documentation/.

free5GRAN is under active developments. A full 5G SA PHY layer should be released in Q1 2022.

LGTM scores

Total alerts

Language grade: C/C++

Codacy score

Codacy Badge

Installation & Running

Requirements

Before compiling, make sure that the following libraries are installed:

  • cmake
  • libfftw3
  • libconfig++
  • boost
  • cpufrequtils

On ubuntu, those libraries can be installed via:

sudo apt-get install cmake libfftw3-dev libconfig++-dev libboost-program-options-dev libboost-log-dev cpufrequtils

Radio frontend

We currently support USRP B210, N210 and X310 natively. libuhd-dev is required. It can be installed on Ubuntu via:

sudo apt-get install libuhd-dev

USRP N210 is partially supported (it can be unstable) and free5GRAN requires Liquid SDR library for sampling rate resampling : https://liquidsdr.org/doc/installation/. To build free5GRAN with USRP N210 support, just run the cmake command with option -DINCLUDE_N210=ON.

Compiling

free5GRAN executable can be compiled from sources with the following commands:

git clone https://github.com/free5G/free5GRAN.git
cd free5GRAN
mkdir build
cd build
cmake ..
make
sudo make install

Configuration and running

Two functions are supported by free5GRAN.

Cell search

Searching a cell with pre-defined parameters. Example config file is provided (free5GRAN/config/search_cell.cfg).

Band scanning

Scanning one or more 5G NR bands. Example config file is provided (free5GRAN/config/scan_band.cfg).

USRP configuration

Pre-defined USRP device

If you want to use a pre-defined RF device, USRP device has to be configured:

  • Run uhd_find_devices
  • Find the device you want to use
  • Copy the serial field of the device and paste it in the config file.
USRP network configuration

To run free5GRAN with USRP X310, set mtu size to 8000: ifconfig ETHERNET_INTERFACE mtu 8000.

To run free5GRAN with USRP N210, set mtu size to 1500: ifconfig ETHERNET_INTERFACE mtu 1500.

Running

free5GRAN should be available globally after installation. Configuration files are located in /root/.config/free5GRAN/config. There is two possible options for running free5GRAN:

  • Run sudo free5GRAN to run free5GRAN with default config file /root/.config/free5GRAN/config/free5GRAN.cfg.
  • Run sudo free5GRAN RELATIVE_CONFIG_FILE_PATH to run free5GRAN with a specific configuration file.

Debugging

free5GRAN writes logs in /var/log/free5GRAN/free5GRAN.log. It can be used for debugging. Foremost, free5RGAN writes some data files in /root/.files/free5GRAN/execution_raw_files/ directory (if it exists). For plotting those files, run python analyse.py in /root/.files/free5GRAN/. This python script generates files that are stored in /root/.files/visualization_files/ directory.

Testing note

free5GRAN has been successfully tested on Ubuntu 18.04 with USRP B210. It is currently under active development, which means that it might not be fully stable.

Issues

All the issues have to be reported in the issues page of this repository. Some known issues about the current version are already detailed in issues section.

5G NSA support

As 5G NSA uses 4G cell for attachment, SIB are transmitted on a 4G cell and this receiver won't be able to decode SIB1 data from 5G NSA mode. However, this receiver should be able to detect 5G NSA cell and decode MIB data.

Supported bands

A number of bands are already supported by free5GRAN. New bands can be added in free5GRAN/lib/variables/common_structures

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].