FPGA not loaded and now not seeing bladeRF x40

Having issues with the site, hardware, source code, or any other issues?

Moderator: robert.ghilduta

Post Reply
Shadow117
Posts: 15
Joined: Fri May 06, 2016 7:11 am

FPGA not loaded and now not seeing bladeRF x40

Post by Shadow117 » Fri May 06, 2016 6:28 pm

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.
I am using a RPI 3 with Jessie Lite.
I am getting the following:
[INFO} Found FX3 bootloader device on bus=1 addr=6. This may be a bladeRF
[INFO] Use bladeRF-cli command "recover 1 6 <FX3 firmware>" to boot the bladeRF firmware
when i do:
bladeRF> recover 1 6 or even bladeRF>recover 1 6<FX3 firmware>
I get:
Error:Invalid number of arguments provided and when I do:
bladeRF>recover
i get:
Bootloader @ bus=1, addr=6
Could someone please tell me exactly what I need to enter to get it working and to get the FPGA loaded please. I am new to this and trying to learn.

jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: FPGA not loaded and now not seeing bladeRF x40

Post by jynik » Fri May 06, 2016 9:26 pm

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

Shadow117
Posts: 15
Joined: Fri May 06, 2016 7:11 am

Re: FPGA not loaded and now not seeing bladeRF x40

Post by Shadow117 » Fri May 06, 2016 10:27 pm

Thank you so much for the advice! I'm sorry to say I'm still lost.
• The directory specified by the BLADERF_SEARCH_DIR environment variable (As of 2014-12-10)
• The current working directory (As of 2014-12-10)
• The directory containing the program being executed. (As of 2014-12-10)
• your_home_directory/.config/Nuand/bladeRF/ (libbladeRF v0.16.0 +)
• your_home_directory/.Nuand/bladeRF/ (libbladeRF v0.16.0 +)
• ${CMAKE_INSTALL_PREFIX}/share/Nuand/bladeRF/ (libbladeRF v1.4.2 +)
• ${CMAKE_INSTALL_PREFIX}/etc/Nuand/bladeRF/ (libbladeRF v1.4.2 +)
• /usr/share/Nuand/bladeRF/ (libbladeRF v0.16.0 +)
• /etc/Nuand/bladeRF/ (libbladeRF v0.16.0 +)


The user's home directory is determined via $HOME, and then /etc/passwd (via getpwuid()) if$HOME is not valid.
Note that the last two entries in the list may be duplicates of the two that precede them. This is intentional, and is intended to provide reverse compatibility and avoid breaking packaging scripts that were forced to install files in to /usr/share/Nuand/bladeRF, even if a different${CMAKE_INSTALL_PREFIX} was used.
So when i do $HOME I get

Code: Select all

-bash: Home: command not found
So what should I enter since home isn't valid (I'm guessing it not)?
I also have the latest FPGA and firmware on a usb flash drive. How to I find the path to the USB flash drive. I've tried CD to change directory and LS to see if I can find it but am not having any luck.
Again the more you detail or resources you can give the better.

And thank you very much for your time and patience.

jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: FPGA not loaded and now not seeing bladeRF x40

Post by jynik » Sat May 07, 2016 2:49 pm

What operating system are you on? Based on what you pasted, I'm guessing it's either a Linux distro or OSX? How to access your USB or DVD/CD drives depends on that...

For an (X/K)Ubuntu 16.04 example, let's say my home directory ($HOME) is /home/jon. Here is list of commands to make the autoload directory and download the FPGA and firmware images to this directory.

Code: Select all

$ mkdir -p ~/.config/Nuand/bladeRF
$ cd ~/.config/Nuand/bladeRF
$ wget 'https://nuand.com/fpga/v0.5.0/hostedx40.rbf'
$ wget 'https://nuand.com/fpga/v0.5.0/hostedx115.rbf'
$ wget 'https://nuand.com/fx3/bladeRF_fw_v1.9.0.img'
So now your recovery from the booloader would look like...

Code: Select all

bladeRF> recover <bus> <addr> /home/jon/.config/Nuand/bladeRF/bladeRF_fw_v1.9.0.img
bladeRF> open
bladeRF> fx3 load /home/jon/.config/Nuand/bladeRF/bladeRF_fw_v1.9.0.img
bladerF> quit

# Power cycle the device
Once you've done the above, you should see that whenever you open the device the first time after plugging it in, the FPGA will be loaded.

Shadow117
Posts: 15
Joined: Fri May 06, 2016 7:11 am

Re: FPGA not loaded and now not seeing bladeRF x40

Post by Shadow117 » Sun May 08, 2016 1:08 pm

I'm using a RPI 3 with Jessie Lite. Is there also any websites with commands for linux? Thank you SO SO SO SO much for your help

jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: FPGA not loaded and now not seeing bladeRF x40

Post by jynik » Mon May 09, 2016 6:13 am

Shadow117 wrote:I'm using a RPI 3 with Jessie Lite.
The above reply should work then, given that this is Debian-based. You may need to fetch a package for wget -- I'm not sure if that will be installed by default.

Shadow117 wrote:Is there also any websites with commands for linux?
There's quite a few a search engine query away. I haven't check this out, but maybe it's good? http://linuxcommand.org/tlcl.php

Shadow117
Posts: 15
Joined: Fri May 06, 2016 7:11 am

Re: FPGA not loaded and now not seeing bladeRF x40

Post by Shadow117 » Mon May 09, 2016 7:39 pm

So, I've managed to get the RPI to recognize the bladeRF but I'm still getting

Code: Select all

>bladeRF> version

bladeRF-cli version:         0.11.1-git
libbladeRF version:          0.16.2-git

Firmware version:           1.9.0
FPGA version:                  Unkown  (FPGA not loaded)
I then try to do:
bladeRF> Load FPGA
but get:
Error: Invalid number of arugments provided

I read that I have to load the FPGA every time, is this correct?
I am trying to build my own GSM station. https://evilsocket.net/2016/03/31/how-t ... nd-profit/
It says I just need bladeRF x40, RPI 3 (with Jessie Lite), and a battery pack for power.
If I have the bladeRF connected to the RPI3 and plug the RPI to power, wont they both power on? Then I shouldn't have to do anything else correct?

jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: FPGA not loaded and now not seeing bladeRF x40

Post by jynik » Tue May 10, 2016 7:40 am

The syntax from within the CLI is as follows. You're missing the argument that specifies the FPGA bitstream.

load fpga <insert path to hostedx40.rbf or hostedx115.rbf here>

Whether you need the x40 or x115 RBF file depends on which bladeRF you own. You can double check via the output of the bladeRF-cli info command. The 40 kLE FPGA corresponds to the x40 image, and 115 kLE to the x115 image.

Shadow117
Posts: 15
Joined: Fri May 06, 2016 7:11 am

Re: FPGA not loaded and now not seeing bladeRF x40

Post by Shadow117 » Tue May 10, 2016 8:35 am

Actually figured that out last night. Appreciate all the help/

Post Reply