Something went wrong on our end
Forked from
oai / openairinterface5G
3072 commits behind the upstream repository.
-
Francesco Mani authoredFrancesco Mani authored
README 3.98 KiB
BladeRF documentation ===================== As of 2018-11-06, the bladeRF support is not fully automatic and requires some manual settings before use. This documentation is the ultimate source of information. If something described in this file does not work or does not correspond to the reality, then contact us so we can fix the problems and update this documentation. 1. Install bladeRF 2.0 libraries. As of now, it's better to install from source. So, do not run: ./build_oai -I -w BLADERF (That is: do not include '-w BLADERF'.) Instead, follow the instructions at: https://github.com/Nuand/bladeRF If you already had some bladeRF software installed using automatic methods, first remove it by hand ('apt-get purge bladeRF' or something similar, you can get the list of installed bladeRF packages by running 'dpkg -l|grep -i blade', remove them all). 2. Update the device. Download the latest FX3 firmware and FPGA images from Nuand's website. As of writing, this is: https://github.com/Nuand/bladeRF/wiki That points to the following pages. For FX3: http://www.nuand.com/fx3_images/ For FPGA: http://www.nuand.com/fpga_images/ Install FX3 firmware: sudo bladeRF-cli -f bladeRF_fw_latest.img Install FPGA image (this is for BladeRF x40): sudo bladeRF-cli -L hostedx40-latest.rbf Retrieve calibration information: sudo bladeRF-cli -i info That outputs the serial number of your device. Go to: https://www.nuand.com/calibration And enter your serial number. The website tells you to run something like: sudo bladeRF-cli -i flash_init_cal 40 0x9271 Actual values depend on your device and serial number. 3. Calibrate the bladeRF device. We will work with band 7 on 2.68GHz with a bandwidth of 5 MHz (25 RBs). Plug the bladeRF device, then run: sudo bladeRF-cli -i set frequency tx 2680000000 set frequency rx 2560000000 set gain rx 60 set gain tx 60 set bandwidth 5000000 set samplerate 7680000 cal lms cal lms cal lms cal dc rxtx cal dc rxtx cal dc rxtx 4. Tune the RX gain using the enb tracer. Run the softmodem and the 'enb' tracer. For instructions, see: https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/T/basic In the enb window, check the 'input signal'. You should see some blue signal as seen at: https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/T/enb (the 'Time signal power' plot). The level should be around 30. If it's not around 30 then edit your configuration file and modify the value 'max_rxgain' in the section 'RUs'. The configuration file to use is: configuration/bladeRF/enb-band7-5mhz.conf In the configuration file, you also need to set the correct values for: - tracking_area_code - plmn_list: mcc, mnc, mnc_length - mme_ip_address: this is the IP address used by the computer running the softmodem to connect to the EPC - NETWORK_INTERFACES: all the ENB*ADDRESS* variables have to point to the IP address of the EPC machine 5. You're good to go. You can now connect a UE and pass some traffic. If everything is well configured you can expect more than 16 Mb/s of throughput in the downlink using iperf and more than 8 Mb/s in the uplink. Looking at the logs, you should find lines containing 'PHR 40' and 'CQI 15'. If your values are lower then your setup may need some adjustments. 6. In case of problems. If the performance of the softmodem is very bad, you can stop it and run the calibration again, without setting the parameters (frequencies, gains, etc.). Just run: sudo bladeRF-cli -i cal lms cal dc rxtx That may help. Be sure to use proper radio equipment (duplexer, antennas, clean environment without interferences).