Page 1 of 2

BladeRF and MATLAB 2017a error

Posted: Mon Dec 18, 2017 9:26 pm
by samydh
Greetings:

I have just installed the latest version of the bladeRF for Windows 10 using the download link https://nuand.com/windows_installers/bl ... latest.exe

I follow the instructions, as directed. However when I attempt to run bladeRF_rx_gui.m in Matlab R2017a, I get the following error. Can someone please suggest what I am doing wrong?

Thank you.

********* Error Message listed below ****************
>> bladeRF_rx_gui
Warning: The thunk(voiduint8Thunk) for function 'bladerf_set_usb_reset_on_open' was not found in the library
> In loadlibrary
In bladeRF/load_library (line 298)
In bladeRF.devices (line 164)
In bladeRF_rx_gui>devicelist_CreateFcn (line 754)
In gui_mainfcn (line 95)
In bladeRF_rx_gui (line 50)
In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject))
In matlab.graphics.internal.figfile.FigFile/read (line 31)
In matlab.graphics.internal.figfile.FigFile
In hgload (line 50)
In matlab.hg.internal.openfigLegacy (line 57)
In gui_mainfcn>local_openfig (line 286)
In gui_mainfcn (line 158)
In bladeRF_rx_gui (line 50)
Warning: The thunk(uint8voidPtrvoidPtrThunk) for function 'bladerf_devinfo_matches' was not found in the library
> In loadlibrary
In bladeRF/load_library (line 298)
In bladeRF.devices (line 164)
In bladeRF_rx_gui>devicelist_CreateFcn (line 754)
In gui_mainfcn (line 95)
In bladeRF_rx_gui (line 50)
In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject))
In matlab.graphics.internal.figfile.FigFile/read (line 31)
In matlab.graphics.internal.figfile.FigFile
In hgload (line 50)
In matlab.hg.internal.openfigLegacy (line 57)
In gui_mainfcn>local_openfig (line 286)
In gui_mainfcn (line 158)
In bladeRF_rx_gui (line 50)
Warning: The thunk(uint8cstringvoidPtrThunk) for function 'bladerf_devstr_matches' was not found in the library
> In loadlibrary
In bladeRF/load_library (line 298)
In bladeRF.devices (line 164)
In bladeRF_rx_gui>devicelist_CreateFcn (line 754)
In gui_mainfcn (line 95)
In bladeRF_rx_gui (line 50)
In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject))
In matlab.graphics.internal.figfile.FigFile/read (line 31)
In matlab.graphics.internal.figfile.FigFile
In hgload (line 50)
In matlab.hg.internal.openfigLegacy (line 57)
In gui_mainfcn>local_openfig (line 286)
In gui_mainfcn (line 158)
In bladeRF_rx_gui (line 50)
Warning: The thunk(int32voidPtrbladerf_moduleuint8Thunk) for function 'bladerf_enable_module' was not found in the library
> In loadlibrary
In bladeRF/load_library (line 298)
In bladeRF.devices (line 164)
In bladeRF_rx_gui>devicelist_CreateFcn (line 754)
In gui_mainfcn (line 95)
In bladeRF_rx_gui (line 50)
In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject))
In matlab.graphics.internal.figfile.FigFile/read (line 31)
In matlab.graphics.internal.figfile.FigFile
In hgload (line 50)
In matlab.hg.internal.openfigLegacy (line 57)
In gui_mainfcn>local_openfig (line 286)
In gui_mainfcn (line 158)
In bladeRF_rx_gui (line 50)
Error using bladeRF/load_library (line 308)
Failed to find functions in libbladeRF.

Error in bladeRF.devices (line 164)
bladeRF.load_library();

Error in bladeRF_rx_gui>devicelist_CreateFcn (line 754)
devs = bladeRF.devices;

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in bladeRF_rx_gui (line 50)
gui_mainfcn(gui_State, varargin{:});

Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject))

Re: BladeRF and MATLAB 2017a error

Posted: Tue Jan 09, 2018 6:23 pm
by mando238
Had the exact same issue and solved it by using the 2016 rc2 installer from here: http://www.nuand.com/installers.php
I did have to manually delete my bladerf directory from the drive though, the uninstaller/re-installer itself would leave the current matlab bindings that cause the issue, so had to remove them manually.

Hope this works for you.

--Edit---
When running bladeRF_rx_gui I encounter exactly the same errors/warnings - this appears to be the same as this thread: viewtopic.php?f=9&p=7628#p7628

I've now tried older libbladeRF and matlab bindings versions (that used to work) but am now still getting the same errors.
--End Edit--

After using the same latest installer, which uses libbladerf 1.9.0 I now encounter an almost identical issue with supposedly missing functions in matlab:
https://imgur.com/cFTW7nd

Though everything worked before the update... I'm using R2017 on Windows10 x64.

Re: BladeRF and MATLAB 2017a error

Posted: Mon Jan 15, 2018 10:43 am
by rtucker
Could you list what files are present in C:\Program Files\bladeRF\matlab (or equivalent)? Seeing this for both 2016.05-rc2-alpha2 (the one that works) and 2017.12-rc1 (the one that doesn't) would be super helpful. Thanks!

Re: BladeRF and MATLAB 2017a error

Posted: Mon Jan 15, 2018 5:12 pm
by mando238
rtucker wrote: Mon Jan 15, 2018 10:43 am Could you list what files are present in C:\Program Files\bladeRF\matlab (or equivalent)? Seeing this for both 2016.05-rc2-alpha2 (the one that works) and 2017.12-rc1 (the one that doesn't) would be super helpful. Thanks!
I still can't attach images, but a text list is below. I will also emphasize I had to completely, manually, delete the C:/Program Files/bladeRF directory before running the older (2016.05-rc2-alpha2 ) installer to get it to work.

Directory: C:\Program Files\bladeRF\matlab
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 1/10/2018 22:08 test
-a---- 4/28/2016 21:47 35484 bladeRF.m
-a---- 4/28/2016 21:47 28591 bladeRF_IQCorr.m
-a---- 4/28/2016 21:47 69276 bladeRF_rx_gui.fig
-a---- 4/28/2016 21:47 28080 bladeRF_rx_gui.m
-a---- 4/28/2016 21:47 21410 bladeRF_Simulink.m
-a---- 4/28/2016 21:47 4116 bladeRF_StreamConfig.m
-a---- 4/28/2016 21:47 2868 bladeRF_VCTCXO.m
-a---- 4/28/2016 21:47 18377 bladeRF_XCVR.m
-a---- 4/28/2016 21:47 807 CHANGELOG
-a---- 4/28/2016 21:47 46100 libbladeRF_proto.m
-a---- 4/28/2016 21:47 3648 README.md

Directory: C:\Program Files\bladeRF\matlab\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 4/28/2016 21:47 1978 bladeRF_lms_cal.m
-a---- 4/28/2016 21:47 1123 bladeRF_rx_scheduled.m
-a---- 4/28/2016 21:47 775 bladeRF_rx_stream.m
-a---- 4/28/2016 21:47 3168 bladeRF_tx_tone.m

Directory: C:\Program Files\bladeRF\x64 - Note that the thunk file is in this directory.
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 4/28/2016 21:47 153088 bladeRF-cli.exe
-a---- 4/28/2016 21:47 187904 bladeRF.dll
-a---- 4/28/2016 21:47 30038 bladeRF.lib
-a---- 4/28/2016 21:47 10240 libbladeRF_test_async.exe
-a---- 4/28/2016 21:47 10752 libbladeRF_test_bootloader_recovery.exe
-a---- 4/28/2016 21:47 6656 libbladeRF_test_c.exe
-a---- 4/28/2016 21:47 12800 libbladeRF_test_cpp.exe
-a---- 4/28/2016 21:47 34816 libbladeRF_test_ctrl.exe
-a---- 4/28/2016 21:48 23040 libbladeRF_test_freq_hop.exe
-a---- 4/28/2016 21:48 11776 libbladeRF_test_fw_check.exe
-a---- 4/28/2016 21:48 10752 libbladeRF_test_open.exe
-a---- 4/28/2016 21:48 9728 libbladeRF_test_quick_retune.exe
-a---- 4/28/2016 21:48 23040 libbladeRF_test_repeated_stream.exe
-a---- 4/28/2016 21:48 22016 libbladeRF_test_repeater.exe
-a---- 4/28/2016 21:48 12800 libbladeRF_test_rx_discont.exe
-a---- 4/28/2016 21:48 17920 libbladeRF_test_scheduled_retune.exe
-a---- 4/28/2016 21:48 22016 libbladeRF_test_sync.exe
-a---- 4/28/2016 21:48 57344 libbladeRF_test_timestamps.exe
-a---- 4/28/2016 21:48 7168 libbladeRF_test_unused_sync.exe
-a---- 4/28/2016 21:48 7168 libbladeRF_test_version.exe
-a---- 4/28/2016 21:49 47616 libbladeRF_thunk_pcwin64.dll
-a---- 4/28/2016 21:48 113664 libusb-1.0.dll
-a---- 4/28/2016 21:48 82944 pthreadVC2.dll
-a---- 4/28/2016 21:48 24064 test_dc_calibration.exe

Hope this helps....

Re: BladeRF and MATLAB 2017a error

Posted: Tue Jan 16, 2018 8:40 am
by rtucker
Just to doubly confirm: This is from the 2016.05-rc2-alpha2 installer?

If so, I think I know what I did wrong :shock: ... moving matlab/libbladeRF_thunk_pcwin64.dll into the x64/ directory should make 2017.12-rc1 work. I'll fix this up for the next build.

Re: BladeRF and MATLAB 2017a error

Posted: Tue Jan 16, 2018 6:29 pm
by mando238
rtucker wrote: Tue Jan 16, 2018 8:40 am Just to doubly confirm: This is from the 2016.05-rc2-alpha2 installer?

If so, I think I know what I did wrong :shock: ... moving matlab/libbladeRF_thunk_pcwin64.dll into the x64/ directory should make 2017.12-rc1 work. I'll fix this up for the next build.
Yup it was bladeRF-win-installer-2016.05-rc2-alpha2 (unless I managed to accidentally rename something - which has happened before...). If you want an additional factor of confirmation, the libbladerf added by the installer is version 1.6.1.

Re: BladeRF and MATLAB 2017a error

Posted: Mon Jan 29, 2018 9:59 am
by Axel
Hey guys,

i have some simmular issues.
I can't get the bladeRF in matlab or simulink running. Matlab throws the same warnings as mando238 (Warning: The thunk(voiduint8Thunk) ...) .
I have installed some old Matlab versions and faced the same issues. I also have moved the dll to the x64 directory.
The bladeRF is capuring data via the CLI and works without any problems.
When matlab opens the device it throws the warnings and an "Error using bladeRF/load_library (line 308)
Failed to find functions in libbladeRF."
The device keeps running (LED2 flashing, LED1+LED3 on) until i close matlab, but i cant get the error code when closing.
To access the bladeRF after the errors its necessary to close Matlab.

My System:
Windows 7, fully updated
Matlab R2016a,R2017a,R2017b
bladeRF 115 KLE
cli version 1.5.1
libbladeRF version 1.9.0
Firmware 2.0.0
FPGA version: 0.7.1

Installation Path:
C:\Program Files\bladeRF\
C:\Program Files\libusb-1.0.21


Error1 - first start of bladeRF_rx_gui.m:

Code: Select all

>> run('C:\Program Files\bladeRF\matlab\bladeRF_rx_gui.m')
Warning: The thunk(voiduint8Thunk) for function 'bladerf_set_usb_reset_on_open' was not found in the library 
> In loadlibrary
  In bladeRF/load_library (line 298)
  In bladeRF.devices (line 164)
  In bladeRF_rx_gui>devicelist_CreateFcn (line 754)
  In gui_mainfcn (line 95)
  In bladeRF_rx_gui (line 50)
  In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject))
  In matlab.graphics.internal.figfile.FigFile/read (line 31)
  In matlab.graphics.internal.figfile.FigFile
  In hgload (line 50)
  In matlab.hg.internal.openfigLegacy (line 57)
  In gui_mainfcn>local_openfig (line 286)
  In gui_mainfcn (line 158)
  In bladeRF_rx_gui (line 50)
  In run (line 91) 
Warning: The thunk(uint8voidPtrvoidPtrThunk) for function 'bladerf_devinfo_matches' was not found in the library 
> In loadlibrary
  In bladeRF/load_library (line 298)
  In bladeRF.devices (line 164)
  In bladeRF_rx_gui>devicelist_CreateFcn (line 754)
  In gui_mainfcn (line 95)
  In bladeRF_rx_gui (line 50)
  In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject))
  In matlab.graphics.internal.figfile.FigFile/read (line 31)
  In matlab.graphics.internal.figfile.FigFile
  In hgload (line 50)
  In matlab.hg.internal.openfigLegacy (line 57)
  In gui_mainfcn>local_openfig (line 286)
  In gui_mainfcn (line 158)
  In bladeRF_rx_gui (line 50)
  In run (line 91) 
Warning: The thunk(uint8cstringvoidPtrThunk) for function 'bladerf_devstr_matches' was not found in the library 
> In loadlibrary
  In bladeRF/load_library (line 298)
  In bladeRF.devices (line 164)
  In bladeRF_rx_gui>devicelist_CreateFcn (line 754)
  In gui_mainfcn (line 95)
  In bladeRF_rx_gui (line 50)
  In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject))
  In matlab.graphics.internal.figfile.FigFile/read (line 31)
  In matlab.graphics.internal.figfile.FigFile
  In hgload (line 50)
  In matlab.hg.internal.openfigLegacy (line 57)
  In gui_mainfcn>local_openfig (line 286)
  In gui_mainfcn (line 158)
  In bladeRF_rx_gui (line 50)
  In run (line 91) 
Warning: The thunk(int32voidPtrbladerf_moduleuint8Thunk) for function 'bladerf_enable_module' was not found in the library 
> In loadlibrary
  In bladeRF/load_library (line 298)
  In bladeRF.devices (line 164)
  In bladeRF_rx_gui>devicelist_CreateFcn (line 754)
  In gui_mainfcn (line 95)
  In bladeRF_rx_gui (line 50)
  In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject))
  In matlab.graphics.internal.figfile.FigFile/read (line 31)
  In matlab.graphics.internal.figfile.FigFile
  In hgload (line 50)
  In matlab.hg.internal.openfigLegacy (line 57)
  In gui_mainfcn>local_openfig (line 286)
  In gui_mainfcn (line 158)
  In bladeRF_rx_gui (line 50)
  In run (line 91) 
Error using bladeRF/load_library (line 308)
Failed to find functions in libbladeRF.

Error in bladeRF.devices (line 164)
            bladeRF.load_library();

Error in bladeRF_rx_gui>devicelist_CreateFcn (line 754)
    devs = bladeRF.devices;

Error in gui_mainfcn (line 95)
        feval(varargin{:});

Error in bladeRF_rx_gui (line 50)
        gui_mainfcn(gui_State, varargin{:});

Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('devicelist_CreateFcn',hObject,eventdata,guidata(hObject)) 
>> 

Error2 - when i try to run the file again:

Code: Select all

>> run('C:\Program Files\bladeRF\matlab\bladeRF_rx_gui.m')
Error using calllib
Method was not found.

Error in bladeRF_XCVR/start (line 412)
            [status, ~] = calllib('libbladeRF', 'bladerf_enable_module', ...

Error in bladeRF_rx_gui>actionbutton_Callback (line 389)
            handles.bladerf.rx.start;

Error in gui_mainfcn (line 95)
        feval(varargin{:});

Error in bladeRF_rx_gui (line 50)
        gui_mainfcn(gui_State, varargin{:});

Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('actionbutton_Callback',hObject,eventdata,guidata(hObject)) 
Error while evaluating UIControl Callback.


Error3 - Closing Matlab, even after "clear all; close all; clc;":

Code: Select all

Warning: The following error was caught while executing 'bladeRF' class destructor:
Error using calllib
Method was not found.

Error in bladeRF_XCVR/stop (line 449)
            [status, ~] = calllib('libbladeRF', 'bladerf_enable_module', ...

Error in bladeRF/delete (line 777)
                obj.rx.stop;

Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('figure1_CloseRequestFcn',hObject,eventdata,guidata(hObject)) 
> In matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)bladeRF_rx_gui('figure1_CloseRequestFcn',hObject,eventdata,guidata(hObject)) 
>> 

Maybe you have some idea what i did wrong,
its now the fourth day without any clue how to fix it :D

Best Regards

Axel

Re: BladeRF and MATLAB 2017a error

Posted: Mon Jan 29, 2018 4:13 pm
by mando238
Axel wrote: Mon Jan 29, 2018 9:59 am Hey guys,

i have some simmular issues.
I can't get the bladeRF in matlab or simulink running. Matlab throws the same warnings as mando238 (Warning: The thunk(voiduint8Thunk) ...) .
I have installed some old Matlab versions and faced the same issues. I also have moved the dll to the x64 directory.
The bladeRF is capuring data via the CLI and works without any problems.
When matlab opens the device it throws the warnings and an "Error using bladeRF/load_library (line 308)
Failed to find functions in libbladeRF."
The device keeps running (LED2 flashing, LED1+LED3 on) until i close matlab, but i cant get the error code when closing.
To access the bladeRF after the errors its necessary to close Matlab.

My System:
Windows 7, fully updated
Matlab R2016a,R2017a,R2017b
bladeRF 115 KLE
cli version 1.5.1
libbladeRF version 1.9.0
Firmware 2.0.0
FPGA version: 0.7.1

Installation Path:
C:\Program Files\bladeRF\
C:\Program Files\libusb-1.0.21
etc etc etc etc etc
This is a little different then what I encountered, but probably can be resolved the same way. 2 Questions first:
1. I see you have libbladeRF 1.9.0 - so I'm guessing you used the bladeRF-win-installer-2017.12-rc1?
2. Can you print out the contents of the directories?
- C:\Program Files\bladeRF\x64
- C:\Program Files\bladeRF\matlab\test
- C:\Program Files\bladeRF\matlab

Re: BladeRF and MATLAB 2017a error

Posted: Tue Jan 30, 2018 7:23 am
by Axel
Hey mando238, thank you for you reply!

I have tried it with the "bladeRF-win-installer-latest","bladeRF-win-installer-2017.12-rc1" and "bladeRF-win-installer-2016.01-rc1".
Right now i have the 2017.12 with the installer installed.

I added three screenshots from my Folders.

I have added the follogwing pathes to matlab:
C:\Program Files\bladeRF\x64
C:\Program Files\bladeRF\matlab
and i also tried it for some time with the additional path C:\Program Files\bladeRF


Thank you for your time.

Axel

Re: BladeRF and MATLAB 2017a error

Posted: Thu Feb 01, 2018 11:43 am
by rtucker
Okay, looks like it wasn't at all what I thought it was. Try this installer, which can be installed over 2017.12-rc1:

https://www.dropbox.com/s/g72gdqpd65adw ... 1.exe?dl=0

SHA256: 607cc8344c12da8d1d2a55a6f1cc0f48bfe68acf82e13cb0b681ffa708a92368
GPG signature: https://www.dropbox.com/s/potzi696y4o6j ... e.sig?dl=0

Let me know how this works for y'all. Thanks for your patience and feedback!

Re: BladeRF and MATLAB 2017a error

Posted: Thu Feb 01, 2018 3:05 pm
by mando238
After trying the new installer I'm now down to just
MATLAB System block 'bladerf_passive2_justgather/MATLAB System' error occurred when invoking 'setupImpl' method of 'bladeRF_Simulink'. The error was thrown from '
'C:\Program Files\bladeRF\matlab\bladeRF.m' at line 111
'C:\Program Files\bladeRF\matlab\bladeRF_XCVR.m' at line 108
'C:\Program Files\bladeRF\matlab\bladeRF_XCVR.m' at line 364
'C:\Program Files\bladeRF\matlab\bladeRF.m' at line 518
'C:\Program Files\bladeRF\matlab\bladeRF_Simulink.m' at line 343'.
Caused by:
libbladeRF error (-1) in bladerf_set_frequency(): An unexpected error occurred

No more of the thunk file warnings - so that part seems to be fixed.

Re: BladeRF and MATLAB 2017a error

Posted: Fri Feb 02, 2018 9:27 am
by rtucker
Hmm, what happens if you just do something simple, like:

Code: Select all

device = bladeRF();
and then

Code: Select all

device.rx.frequency = 2.4e9
and

Code: Select all

device.tx.frequency = 2.4e9
?

This sounds like libbladeRF is throwing an unexpected error on a frequency change, which is weird...

Re: BladeRF and MATLAB 2017a error

Posted: Sun Feb 04, 2018 6:05 pm
by Axel
Thank you for you answers!
Im working on my Bachelor Degree and want to implement my FPGA Board as a Simulink model to have a reference with the bladeRF.
I will give you the requested information tomorrow and try the suggested solution.
Thank you again! :)

Sorry for the late response,
have been soldering the prototype board to have it tormorrow morning with the professor.

Re: BladeRF and MATLAB 2017a error

Posted: Mon Feb 05, 2018 8:40 am
by rtucker
Oh awesome, that looks really fun! ^^

Let me know how it goes!

Re: BladeRF and MATLAB 2017a error

Posted: Mon Feb 05, 2018 12:00 pm
by Axel
rtucker wrote: Thu Feb 01, 2018 11:43 am Okay, looks like it wasn't at all what I thought it was. Try this installer, which can be installed over 2017.12-rc1:

https://www.dropbox.com/s/g72gdqpd65adw ... 1.exe?dl=0

SHA256: 607cc8344c12da8d1d2a55a6f1cc0f48bfe68acf82e13cb0b681ffa708a92368
GPG signature: https://www.dropbox.com/s/potzi696y4o6j ... e.sig?dl=0

Let me know how this works for y'all. Thanks for your patience and feedback!

Hey rtucker,
the new installer is working perfectly! Tested on R2017b.

Wirth R2017a and R2016a I had to add the paths, but it works also perfect.
I dont know if i would had to add the path, if ther were only one matlab installed.

I notieced, that the device selection has changed (added "libusb:serial" in front of the device selection)
Maybe this information helps in future.

Tank you verry much for you support! And i'd love to keep you up to date with my MAX10 FPGA project.