Check out my first novel, midnight's simulacra!

BladeRF: Difference between revisions

From dankwiki
Line 67: Line 67:
bladeRF>  
bladeRF>  
</pre>
</pre>
As noted above, the FPGA bitstreams can be downloaded from Nuand's website. On Debian-derived machines, they're also available via e.g. the <tt>bladerf-fpga-hostedxa4</tt> package. FX3 USB controller bitstreams are likewise available from Nuand, or from the Debian package <tt>bladerf-firmware-fx3</tt>.
As noted above, the FPGA bitstreams can be downloaded from Nuand's website. On Debian-derived machines, they're also available via e.g. the <tt>bladerf-fpga-hostedxa4</tt> package. FX3 USB controller bitstreams are likewise available from Nuand, or from the Debian package <tt>bladerf-firmware-fx3</tt>. The FPGA must be loaded each time the device is powered up, but this can be [https://github.com/Nuand/bladeRF/wiki/FPGA-Autoloading performed automatically] by libbladeRF.

Revision as of 22:25, 6 July 2019

The FPGA-based bladeRF SDR is offered by Nuand of San Francisco. The line includes:

Model Price
bladeRF 2.0 micro xA9 $720
bladeRF 2.0 micro xA4 $480
bladeRF x115 $650
bladeRF x40 $420

The underlying FPGAs are not fully utilized by the radio software itself, and can thus be extended by the user. Additional products include the XB-200 LF/MF/HF/VHF transverter for lower-range work, the XB-300 amplifier/LNA, and the XB-100 GPIO expansion board. These only work with the x115/x40.

The libbladeRF repository contains the sources necessary for working with bladeRF. Clone this repository with the --recursive option to acquire submodules. FPGA blobs can be acquired at Nuand's site. No kernel driver is necessary; libbladeRF works directly with USB devices using libusb.

Preparing the FPGA

Upon attaching a new bladeRF, only one LED will come on, and the bladeRF-cli REPL will confirm that no firmware is present:

bladeRF> version

  bladeRF-cli version:        1.7.1-git-896d2431
  libbladeRF version:         2.2.0-git-896d2431

  Firmware version:           2.3.2
  FPGA version:               Unknown (FPGA not loaded)

bladeRF> 

Load the appropriate FPGA bitstream with load fpga or bladeRF-cli -l:

bladeRF> load fpga hostedxA4-latest.rbf

  Loading fpga from hostedxA4-latest.rbf...
  Done.

bladeRF> 

The load will require several seconds. Once done, all LEDs will come on, and the info command will function:

bladeRF> version

  bladeRF-cli version:        1.7.1-git-896d2431
  libbladeRF version:         2.2.0-git-896d2431

  Firmware version:           2.3.2
  FPGA version:               0.10.2 (configured by USB host)

bladeRF> info

  Board:                    Nuand bladeRF 2.0 (bladerf2)
  Serial #:                 ****** 128-bit hex ******
  VCTCXO DAC calibration:   0x1fff
  FPGA size:                49 KLE
  FPGA loaded:              yes
  Flash size:               32 Mbit
  USB bus:                  2
  USB address:              2
  USB speed:                SuperSpeed
  Backend:                  libusb
  Instance:                 0

bladeRF> 

As noted above, the FPGA bitstreams can be downloaded from Nuand's website. On Debian-derived machines, they're also available via e.g. the bladerf-fpga-hostedxa4 package. FX3 USB controller bitstreams are likewise available from Nuand, or from the Debian package bladerf-firmware-fx3. The FPGA must be loaded each time the device is powered up, but this can be performed automatically by libbladeRF.