Friday, September 27, 2013

At last: my bladeRF is up and running on my laptop in Windows 7

Finally, I succeeded in getting my bladeRF into life! It was alive a long time ago, i.e. it showed a green LED when powered up by USB. It did not mind USB2 of USB3, the LED was on.

But seen from the laptop there was not much life.

At nuand.com there was new software. First there was a https://github.com/nuand/bladerf/wiki with some info to get the beast alive in Windows. And now there is new software at github. Look for the 'host' directory (https://github.com/Nuand/bladeRF/tree/master/host).

I used cmake to make a project-file for Visual Studio. In Visual Studio I found a button 'build all'. And that was about it. Soo simple!!

In the meantime my bladeRF thought it was a 'West-Bridge'. I solved that problem using the recover-function of bladeRF-cli:

I downloaded the latest 1.2 FX3 image and renamed it to latest.img

C:\bladeRF-master\host\build\output\Debug>bladeRF-cli -i
[INFO] Using libusb version 1.0.16.10774
[WARNING] Found FX3 bootloader device libusb:device=2:7, could be bladeRF.
[WARNING] Use "recover libusb:device=2:7 <FX3 firmware>" to boot bladeRF.
[ERROR] No devices available on the libusb backend.
Failed to open device (NULL): No devices available
Could not open device
bladeRF> recover libusb:device=2:7 latest.img
[INFO] Device: 2:7
[INFO] Attempting load with file latest.img
[INFO] open firmware image latest.img for RAM upload
[INFO] normal FW binary executable image with checksum
[INFO] FX3 bootloader version: 0x000000A9
[INFO] writing image...
[INFO] transfer execution to Program Entry at 0x40013818
Loaded! An open is now required
bladeRF> open
[INFO] Using libusb version 1.0.16.10774
[INFO] Found a bladeRF
[INFO] Claimed all inferfaces successfully
[INFO] Change to alternate interface 2
[INFO] Change to alternate interface 2
bladeRF> exit

At this point you have to remove power and reapply power again. So, unplug and plug in again.

C:\bladeRF-master\host\build\output\Debug>bladeRF-cli -p

    Backend:        libusb
    Serial:         b436de8c8212b9aeaaeba852246866e7
    USB Bus:        2
    USB Address:    7

I did not know which FPGA-file to take. I simply downloaded the latest one. 

C:\bladeRF-master\host\build\output\Debug>bladeRF-cli -l hostedx115.rbf
[INFO] Using libusb version 1.0.16.10774
[INFO] Found a bladeRF
[INFO] Claimed all inferfaces successfully
[INFO] Change to alternate interface 2
[INFO] Change to alternate interface 2
Loading fpga...
[INFO] Change to alternate interface 0
[INFO] Change to alternate interface 1
[INFO] Setting integer sample rate: 1000000
[INFO] Found r value of: 4
[INFO] MSx a + b/c: 316 + 4/5
[INFO] MSx a + b/c: 316 + 4/5
[INFO] MSx P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[INFO] Calculated samplerate: 1000000 + 0/1
[INFO] Set actual integer sample rate: 1000000
[INFO] Setting integer sample rate: 1000000
[INFO] Found r value of: 4
[INFO] MSx a + b/c: 316 + 4/5
[INFO] MSx a + b/c: 316 + 4/5
[INFO] MSx P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[INFO] Calculated samplerate: 1000000 + 0/1
[INFO] Set actual integer sample rate: 1000000
Done.

C:\bladeRF-master\host\build\output\Debug>


Some issues

There is a problem with USB3. My bladeRF does not function in the USB3 slot. However in the USB2 slot it is OK. I have a Renesas Electronics USB 3.0 host controller and hub. I'll send nuand an email about this issue. It was mentioned by them as a problem.

I had a Python-program that could 'see' the bladeRF. Now it barks that it cannot find the backend. I have to solve that problem.

I still have a problem with GNUradio in Windows. The waterfall-display is frozen. It is a problem with openGL I think.

I want to use my bladeRF to decode GPS-signals (please don't tell me there are cheaper solutions with SIRF III chips etc. I know!). So I need to connect a GPS-antenna. I have one, an active antenne. Active means that I have to become active to build something to feed the antenna with DC over the same line that carries the sub-micro-volts of GNSS-info. It is called phantom-supply.

I need a protective case to protect the bladeRF to the real world of metal things on my desk. Elektor sells a project case, that might be a solution.

Future steps

I want a program written in Python to access the bladeRF. So, I will have to write an FX3-program too and I will have to build some VHDL-code. In the past I did some experiments with a java-program to access an SDR-board. I'll dig up that attempts and build upon that.


This picture was taken in March this year in
Castrojeriz, Spain while we were on vacation.

I love cats. My wife loves cats. And our dog loves
cats too, but in a different manner...



No comments:

Post a Comment