library / tools / firmware mismatch ... can't load FPGA

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

Moderator: robert.ghilduta

Post Reply
blrfuser
Posts: 9
Joined: Tue Oct 13, 2015 11:21 am

library / tools / firmware mismatch ... can't load FPGA

Post by blrfuser » Thu Oct 15, 2015 3:37 pm

Hello,

I have successfully updated my bladeRF device to the newest firmware and FPGA versions - bladeRF-cli reports:

Code: Select all

  Firmware version:           1.8.1
  FPGA version:               0.1.2
If I boot into the gnuradio liveCD, I can see the FPGA enabled and I can run 'bladerf-kalibrate' ('kal') successfully and see nearby GSM stations. Everything seems to work just fine. In the gnuradio liveCD, I have version 1.1.2-git-7bcef41 of bladerf software and libraries. I have version 1.0.17-1ubuntu2 of libusb and libusb-dev.

BUT, if I boot kali linux, things change - they stop working. Now bladeRF-cli tells me:

Code: Select all

  Firmware version:           1.8.1
  FPGA version:               Unknown (FPGA not loaded)
and I see these versions of software:

Code: Select all

  bladeRF-cli version:        1.2.1-git-8ec3f65
  libbladeRF version:         1.4.3-git-8ec3f65
When I try to run bladerf-kalibrate, I get this error:

Code: Select all


# kal -s GSM850
Actual filter bandwidth = 29909 kHz
rxvga1 = 0 dB
rxvga2 = 0 dB
[ERROR] Could not read from si5338 (-5): File or device I/O failure
Error setting RX sampling rate
error: bladeRF_source::open


I wonder if it is obvious what my error is ?

Thanks.

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

Re: library / tools / firmware mismatch ... can't load FPGA

Post by jynik » Fri Oct 16, 2015 10:19 am

The big clue here is this line:
FPGA version: Unknown (FPGA not loaded)
If the FPGA is not loaded, then attempting to do things with the device won't work. (This also tells me that Kalibrate-bladeRF isn't checking if the FPGA is loaded after opening the device, which is rather user un-friendly and warrants a fix.)

My guess is that Kali doesn't appear to have the bladeRF FPGA stored in one of its "software autoload" locations. Therefore, unlike the other situations, when libbladeRF's bladerf_open() function is called, it is not automatically finding and loading an FPGA image for you. (Does Kali have the FPGA images at all on it?)

As an experiment with Kali -- wget an FPGA image from the Nuand site, and then load it with the CLI (via the -l option, or "load fpga <filename>" from the interactive mode). I believe you'll be up and running then.


Just one other quick question -- why are you running kalibrate-bladerf? Just as a sanity check? Note that the VCTCXO is factory calibrated, so you shouldn't really be needing to adjust it unless you observe significant frequency offset. Also, kalibrate-bladerf doesn't work well at all and needs some serious love; I'd recommend against using it. Among other things, it needs an appropriate filter added to the receive path, as I believe neighboring GSM channels will confuse it.

blrfuser
Posts: 9
Joined: Tue Oct 13, 2015 11:21 am

Re: library / tools / firmware mismatch ... can't load FPGA

Post by blrfuser » Fri Oct 16, 2015 2:27 pm

jynik wrote:The big clue here is this line:
FPGA version: Unknown (FPGA not loaded)
If the FPGA is not loaded, then attempting to do things with the device won't work. (This also tells me that Kalibrate-bladeRF isn't checking if the FPGA is loaded after opening the device, which is rather user un-friendly and warrants a fix.)

My guess is that Kali doesn't appear to have the bladeRF FPGA stored in one of its "software autoload" locations. Therefore, unlike the other situations, when libbladeRF's bladerf_open() function is called, it is not automatically finding and loading an FPGA image for you. (Does Kali have the FPGA images at all on it?)

As an experiment with Kali -- wget an FPGA image from the Nuand site, and then load it with the CLI (via the -l option, or "load fpga <filename>" from the interactive mode). I believe you'll be up and running then.


Just one other quick question -- why are you running kalibrate-bladerf? Just as a sanity check? Note that the VCTCXO is factory calibrated, so you shouldn't really be needing to adjust it unless you observe significant frequency offset. Also, kalibrate-bladerf doesn't work well at all and needs some serious love; I'd recommend against using it. Among other things, it needs an appropriate filter added to the receive path, as I believe neighboring GSM channels will confuse it.

Thanks for your response. I am not sure if you saw, however, that the board (and the FPGA) function and work properly when I boot into the gnuradio liveCD.

So it is *only* when booting into kali linux that it fails to function. So I believe this shows that the firmware/FPGA are fine and working, since they work great in ubuntu-gnuradio-livecd.

So I am just trying to see what about the kali environment (the libraries, I think) is confused ... or what is confusing the FPGA.

In response to your other question, I am not trying to calibrate the board - I am using the 'kal' tool because I actually want to identify my nearby GSM towers. That's the actual purpose I am using the board for.

Thanks.

blrfuser
Posts: 9
Joined: Tue Oct 13, 2015 11:21 am

Re: library / tools / firmware mismatch ... can't load FPGA

Post by blrfuser » Sat Oct 17, 2015 11:59 am

SOLVED.

Thank you for your help.

kali linux was NOT loading an FPGA image at all, so I just had to download the proper FPGA image for my device, load it with bladeRF-cli, and the device is working now.

Thank you.

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

Re: library / tools / firmware mismatch ... can't load FPGA

Post by jynik » Sun Oct 18, 2015 12:31 pm

Glad to hear you figured it out.

Did you end up figuring out if Kali simply does not provide the required FPGA (hostedx40.rbf or hostedx115.rbf) files on it at all, or just has them deployed in locations that libbladeRF doesn't search?

As you figured out, the reason why everything is fine on the GNU Radio Live image is that it ships the FPGA bitstreams in ${CMAKE_INSTALL_PREFIX}/share/Nuand/bladeRF.

Post Reply