Privilege problems when executing bladeRF-cli in Linux

Having issues with the site, hardware, source code, or any other issues?
Post Reply
creator9724
Posts: 17
Joined: Tue Jul 05, 2016 7:00 am

Privilege problems when executing bladeRF-cli in Linux

Post by creator9724 »

Hello all, i have been using my bladerf x40 perfectly in windows and under linux. The problem im facing is that there is a sdr software i wanted to try and used a Ubuntu-26.04 new install under WSl2 in windows. When i try to launch the program(qradiolink) i get the following error:

[WARNING @ host/libraries/libbladeRF/src/backend/usb/libusb.c:529] Found a bladeRF via VID/PID, but could not open it due to insufficient permissions.
[ERROR] bladerf_open_with_devinfo() returned -7 - No device(s) available

If i try to execute bladeRF-cli, for example, to load the fpga the program doesn't see the bladerf connected. Of course if i do a sudo bladeRF-cli -i it works perfectly. The problem is that this software(qradiolink) does not allow to be run as root, so i'm unable to get the blade recognized by it.

I searched and came to a solution that involved reloading of the 88.rules files, but i already have them on my system, and i'm unable to get access to the bladerf without root. Anyone can point me in the right direction?

Thanks in advance!!!!
NuandSupport
Posts: 1
Joined: Fri Jul 17, 2026 10:46 pm

Re: Privilege problems when executing bladeRF-cli in Linux

Post by NuandSupport »

Since

Code: Select all

sudo bladeRF-cli -i
works, the USB forwarding itself is OK. This looks like a permissions issue rather than a libbladeRF or WSL problem.

A couple of things to check:
  • Does

    Code: Select all

    lsusb
    show the bladeRF as your normal user?
  • What permissions does the bladeRF device node have under

    Code: Select all

    /dev/bus/usb/
    ?
  • Is your user actually a member of the group specified in the udev rule, usually

    Code: Select all

    plugdev
    ?
Run:

Code: Select all

lsusb
id
ls -l /dev/bus/usb/*/*
Find the bladeRF entry from

Code: Select all

lsusb
, then check the matching device node. Ideally it should look something like:

Code: Select all

crw-rw---- 1 root plugdev ...
One WSL-specific issue is that the udev rule should already be active before the device is attached with

Code: Select all

usbipd
. If you installed or changed the rule while the bladeRF was already attached, try:

Code: Select all

sudo udevadm control --reload-rules
sudo udevadm trigger
Then, from Windows PowerShell:

Code: Select all

wsl --shutdown
Start Ubuntu again and reattach the bladeRF using

Code: Select all

usbipd attach --wsl --busid <BUSID>
.

Also check the actual bladeRF rules file, for example:

Code: Select all

cat /etc/udev/rules.d/88-nuand.rules
or:

Code: Select all

grep -R "bladeRF|2cf0|1d50" /etc/udev/rules.d /usr/lib/udev/rules.d /lib/udev/rules.d 2>/dev/null
Make sure the rule uses a valid group such as:

Code: Select all

GROUP="plugdev", MODE="0660"
and that your user belongs to that group:

Code: Select all

sudo usermod -aG plugdev $USER
After adding the group, fully restart WSL or log out and back in before testing again.

Once

Code: Select all

bladeRF-cli -p
works without

Code: Select all

sudo
, qRadioLink should also be able to access the device as a normal user.
Post Reply