139 lines
4.0 KiB
Plaintext
139 lines
4.0 KiB
Plaintext
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).
|