This is the correct forum for troubleshooting questions. Please do not repost the same question in multiple forums. As I am answering here, I have removed your duplicate posts.
There are three main devices on the bladeRF:
- The LMS6002D Transceiver. This device provides the RF functionality and digital baseband interface.
- The Cyclone IV FPGA. This interfaces with the above device's baseband interface, the USB 3 controller (below), and performs some control of other devices on the board. This device is suitable for running DSP algorithms.
- The FX3 USB Peripheral Controller. This device is in charge of moving data between the Cyclone IV FPGA and the host via its DMA engine. This has a small programmable in it suitable for simple control tasks.
Shadow117 wrote:
I was going through setting up my new bladeRF x40 and when I check version it said FPGA not loaded.
I then went under bladeRF-cli -i and did jump_to_boot, and now it's not seeing the bladeRF.
"
FPGA not loaded" is the big clue here. This means that the 2nd device in the above list hasn't been programmed. A file called an "FPGA bitstream" (we use a .rbf extension) must be written to the FPGA. These
may be found here. You will want the hostedx40.rbf or hostedx115.rbf, depending on which bladeRF variant you have.
You can have this bitstream loaded automatically for you by placing it in a few different locations.
See this wiki page for more details on how to set this up.
Alternatively, you can load an FPGA manually via
$ bladeRF-cli -l <path_to_your_fpga> from the command line or
load fpga <path_to_your_fpga_file> from within the bladeRF-cli interactive mode.
Shadow117 wrote:
I then went under bladeRF-cli -i and did jump_to_boot, and now it's not seeing the bladeRF.
If we run the command
help jump_to_boot we can better see why this happened:
Code: Select all
bladeRF> help jump_to_boot
Usage: jump_to_boot
Clear out a FW signature word in flash and jump to FX3 bootloader.
The device will continue to boot into the FX3 bootloader across power
cycles until new firmware is written to the device.
Note that this command is not relevant to the FPGA and that it forces the FX3 chip into bootloader mode.
As you found, you need to use the
recover command. There
is an example log of this in action on the wiki. (Ignore the parts about removing a jumper from J64 -- this does not apply to you in your current situation.)
Shadow117 wrote:
when i do:
bladeRF> recover 1 6
or even
bladeRF>recover 1 6<FX3 firmware>
As you saw,
recover with no arguments prints the devices that are detected to be FX3 devices in bootloader mode.
The
<FX3 firmware part means you should put a full path to a firmware file instead of the text
<FX3 firmware>. This notation is common for programs to denote a required parameter.
For example, try downloading the v1.9.1 image, and putting the path to this file in for
<FX3 firmware.
Code: Select all
$ wget http://nuand.com/fx3/bladeRF_fw_v1.9.1.img
Note that recover will load and execute this firmware in the FX3's RAM. You will need to write it to flash to keep it persistent for future boots. This is shown in the log I linked above.
Once you've done this, revisit my comments above about loading the FPGA image automatically.
Cheers,
Jon