Project

General

Profile

Freedom Issue #1172

bladerf: FPGA firmwares can't be "compiled" with free software.

GNUtoo - over 7 years ago - . Updated about 6 years ago.

Status:
fixed
Priority:
bug
Assignee:
% Done:

100%


Description

Hi,

Installing bladerf (pacman -S bladrf) gives us the following FPGA firmware2:

/usr/share/bladerf/fpga/hostedx115.rbf
/usr/share/bladerf/fpga/hostedx40.rbf

According to their website1 they use an "Altera Cyclone IV FPGA",
and as far as I know, there is no free software tools to compile3 the source code4 into the firmware2.

I also wonder about the license and tools needed to build this firmware:

/usr/share/bladerf/firmware/bladeRF_fw_v2.0.0.img

# strings /usr/share/bladerf/firmware/bladeRF_fw_v2.0.0.img | grep -i threadx
Copyright (c) 1996-2008 Express Logic Inc. * ThreadX ARM9/RVDS Version G5.1.5.1 SN: 2923-115-1301 *

Also ThreadX5 seem to be a proprietary embedded operating system.

This firmware might be for the following chip:

The Cypress FX3 microcontroller is the ideal solution with a powerful ARM9 processor and enough bandwidth to saturate the full duplex 5Gbps USB 3.0 link.

Note that we have some ARM compilers in parabola, so we could build this firmware if it's free software:

community/arm-none-eabi-binutils
community/arm-none-eabi-gcc
community/arm-none-eabi-gdb
community/arm-none-eabi-newlib

Also note that I have no bladerf, and no access to such hardware.
I only know that very few FPGA are usable with free software, and at the time of writing,
only various FPGAs from the ICE40 series are.

References:
------------
[1] https://www.nuand.com/
[2] This is called "bitstream" in the FPGA jargon
[3] This is called "synthetize" in the FPGA jargon
[4] I've no idea how this is called, but the kind of language they use is
called "Hardware description language(HDL)"
[5] https://en.wikipedia.org/wiki/ThreadX

History

#1

Updated by oaken-source about 6 years ago

  • % Done changed from 0 to 100
  • Assignee set to oaken-source
  • Status changed from open to fixed

I verified that the firmware blobs and fpga images can not be build using only free tools, and indeed do contain nonfree binary objects.

I added bladerf to the blacklist and packaged a libre, deblobbed version.

Also available in: Atom PDF