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).
-
Cedric Roux authored
Not much has been changed in the driver (that used libbladerf 1.0). Some bugs have been fixed. Documentation has been added. A configuration file has been added too, put in the directory ./configuration/bladeRF. To use a bladeRF device, see documentation in targets/ARCH/BLADERF/README. Only the BladeRF x40 has been tested. Performance is not too bad at 5MHz, a bit worse at 10MHz and on the test machine I used I face realtime problems at 20MHz when I push downlink throughput. So, there is still some work to do to have a good support of bladeRF.
74dc4811