Hi,
just installed bladeRF-cli on stock Ubuntu 14.04 LTS as per the instruction in the wiki, and get this:
$ bladeRF-cli -p
[ERROR] Could not open bladeRF device: LIBUSB_ERROR_INVALID_PARAM
probe: Failed to probe for devices: Provided parameter was out of the allowable range
So I ran it in vebose:
[VERBOSE] Found bladeRF (based upon VID/PID)
[DEBUG] Failed to retrieve serial number
[ERROR] Could not open bladeRF device: LIBUSB_ERROR_INVALID_PARAM
[DEBUG] Probe failed on backend 0: Provided parameter was out of the allowable range
probe: Failed to probe for devices: Provided parameter was out of the allowable range
Googling for this error doesnt really get me any further.... Libusb 1.0.0 is installed.
Any pointers? Or should I just compile from source?
thanks!
[Solved] Ubuntu drivers error: LIBUSB_ERROR_INVALID_PARAM
-
- Posts: 30
- Joined: Fri Mar 01, 2013 4:37 am
-
- Posts: 455
- Joined: Thu Jun 06, 2013 8:15 pm
Re: Ubuntu drivers error: LIBUSB_ERROR_INVALID_PARAM
Hi there,
Are you installing from HoopyCat's PPA? You mentioned potentially trying to build from source, so I just want to check what you're running, and what version it is. and should tell use what you have installed.
If you received your bladeRF quite some time ago, it may still have some old firmware on it that doesn't "understand" the request being made to read some device information from the SPI flash.
Could you try upgrading your firmware, using the "jumper method" to force the device into the bootloader mode. For what it's worth, you cannot "brick" the device in the process ; you can always recover from the bootloader. (Assuming you're not loading custom firmware that does crazy things with pin configurations.)
You can find some more information about using the bladeRF-cli program to load firmware onto the device from bootloader mode in this thread. Unlike that thread, however, you can just go directly to the v1.6.1 firmware. The business discussed in that post with using two firmware versions is to work around very particular circumstances involving an incompatible FPGA being loaded from flash....so you can most likely ignore this. The things you'll want to pay attention to are:
If firmware's not the issue here, please let us know, and we'll go from there.
Are you installing from HoopyCat's PPA? You mentioned potentially trying to build from source, so I just want to check what you're running, and what version it is.
Code: Select all
bladerRF-cli --version
Code: Select all
bladeRF-cli --lib-version
If you received your bladeRF quite some time ago, it may still have some old firmware on it that doesn't "understand" the request being made to read some device information from the SPI flash.
Could you try upgrading your firmware, using the "jumper method" to force the device into the bootloader mode. For what it's worth, you cannot "brick" the device in the process ; you can always recover from the bootloader. (Assuming you're not loading custom firmware that does crazy things with pin configurations.)
You can find some more information about using the bladeRF-cli program to load firmware onto the device from bootloader mode in this thread. Unlike that thread, however, you can just go directly to the v1.6.1 firmware. The business discussed in that post with using two firmware versions is to work around very particular circumstances involving an incompatible FPGA being loaded from flash....so you can most likely ignore this. The things you'll want to pay attention to are:
- Powering on with J64 jumpered as described in the wiki
- Removing the jumper after seeing the Cypress bootloader in dmesg
- Running bladeRF-cli, and seeing a message noting that a device in bootloader has been detected
- Using the recover <usb bus> <usb addr> <firmware> to load firmware to the device's ram
- Using the "open" command to attach to the device
- Using the 'load fx3 <firmware>" command to write the firmware to SPI flash
- Power cycling to see the new firmware being loaded
If firmware's not the issue here, please let us know, and we'll go from there.
-
- Posts: 30
- Joined: Fri Mar 01, 2013 4:37 am
Re: Ubuntu drivers error: LIBUSB_ERROR_INVALID_PARAM
Yeah that sounds very likely, i bought it a while ago but didnt really get the usb3 support working on ubuntu in parallels. Also I wanted to try openbts and stuff but that did not work back then. I've dusted it off and decided to give it another twirl, but indeed did not update firmware. So I'll be doing that now, thanks for the tip!
-
- Posts: 30
- Joined: Fri Mar 01, 2013 4:37 am
Re: Ubuntu drivers error: LIBUSB_ERROR_INVALID_PARAM
Ok I'm running:
ralph@destroyer2:~$ bladeRF-cli --version
0.10.7-git-358160d-ppatrusty
ralph@destroyer2:~$ bladeRF-cli --lib-version
0.14.0-git-358160d-ppatrusty
ralph@destroyer2:~$
lsusb gives:
Bus 001 Device 009: ID 1d50:6066 OpenMoko, Inc.
If I set the jumper I get:
Bus 001 Device 010: ID 04b4:00f3 Cypress Semiconductor Corp.
Then, I tried to flash:
ralph@destroyer2:~$ bladeRF-cli -v verbose
[VERBOSE] Using libusb version: 1.0.17.10830
[INFO] Found FX3 bootloader device on bus=1 addr=10. This may be a bladeRF.
[INFO] Use bladeRF-cli command "recover 1 10 <FX3 firmware>" to boot the bladeRF firmware.
[DEBUG] No devices available on the libusb backend.
No device(s) attached.
ralph@destroyer2:~$ bladeRF-cli recover 1 10 Downloads/bladeRF_fw_v1.6.1.img
ralph@destroyer2:~$
I then repositioned the jumper and powercycled the device and ran:
ralph@destroyer2:~$ bladeRF-cli -p
[ERROR] Could not open bladeRF device: LIBUSB_ERROR_INVALID_PARAM
probe: Failed to probe for devices: Provided parameter was out of the allowable range
So, no luck....
Any more pointers?
ralph@destroyer2:~$ bladeRF-cli --version
0.10.7-git-358160d-ppatrusty
ralph@destroyer2:~$ bladeRF-cli --lib-version
0.14.0-git-358160d-ppatrusty
ralph@destroyer2:~$
lsusb gives:
Bus 001 Device 009: ID 1d50:6066 OpenMoko, Inc.
If I set the jumper I get:
Bus 001 Device 010: ID 04b4:00f3 Cypress Semiconductor Corp.
Then, I tried to flash:
ralph@destroyer2:~$ bladeRF-cli -v verbose
[VERBOSE] Using libusb version: 1.0.17.10830
[INFO] Found FX3 bootloader device on bus=1 addr=10. This may be a bladeRF.
[INFO] Use bladeRF-cli command "recover 1 10 <FX3 firmware>" to boot the bladeRF firmware.
[DEBUG] No devices available on the libusb backend.
No device(s) attached.
ralph@destroyer2:~$ bladeRF-cli recover 1 10 Downloads/bladeRF_fw_v1.6.1.img
ralph@destroyer2:~$
I then repositioned the jumper and powercycled the device and ran:
ralph@destroyer2:~$ bladeRF-cli -p
[ERROR] Could not open bladeRF device: LIBUSB_ERROR_INVALID_PARAM
probe: Failed to probe for devices: Provided parameter was out of the allowable range
So, no luck....
Any more pointers?
-
- Posts: 455
- Joined: Thu Jun 06, 2013 8:15 pm
Re: Ubuntu drivers error: LIBUSB_ERROR_INVALID_PARAM
It looks like you didn't quite follow the procedure. Allow me to clarify it better here, and I'll update the wiki accordingly tonight if you find this description to be easier to follow.
The parts I believe you missed were that you need to remove the jumper after powering the board on and running 'load fx3 <firmware>' after the 'recover command'. (This also indicates to me that the 'recover' command is poorly named, and should either be renamed, or be changed to inherently flash the firmware to the device. I'll talk to some other devs and open a ticket regarding this.)
The parts I believe you missed were that you need to remove the jumper after powering the board on and running 'load fx3 <firmware>' after the 'recover command'. (This also indicates to me that the 'recover' command is poorly named, and should either be renamed, or be changed to inherently flash the firmware to the device. I'll talk to some other devs and open a ticket regarding this.)
- 1. Unplug all bladeRF devices from your machine. If you are powering the device(s) from a DC barrell jack, ensure this is disconnected.
2. Connect a jumper on J64, as shown here. This forces the loading of firmware from SPI flash to fail, which results in the device falling back to the USB bootloader.
3. Power the board on. You should see the bootloader enumerate as 04b4:00f3 Cypress Semiconductor Corp. in dmesg output.
4. Remove the jumper on J64. This is very important, as otherwise the SPI flash writes will not be able to succeed in the following steps.
5. From a shell, run bladeRF-cli -i. You should now be at a bladeRF> prompt, with a message indicating that the bootloader detected via a string like: [INFO] Found FX3 bootloader device on bus=1 addr=10. This may be a bladeRF. All of the following commands should be entered in the bladeRF-cli's prompt -- not from your shell.
6. Run recover <bus> <addr> <path to firmware>, where <bus> and <addr> are the values shown in your [INFO] message, and <path to firmware> is the path to the firmware you want to load. This command does not write the firmware to flash; it only loads it into RAM. We will write the firmware to the SPI flash in the next two steps.
7. Run open. This will attach to the first available bladeRF. Spefifically, this will attach to the device that you just booted bladeRF firmware on via the 'recover' command.
8. Run load fx3 <firmware>. This will will write the firmware to flash.
9. Unplug and replug the device. A power cycle is required to boot the new firmware.
-
- Posts: 30
- Joined: Fri Mar 01, 2013 4:37 am
Re: Ubuntu drivers error: LIBUSB_ERROR_INVALID_PARAM
Woop! That worked! thank you very much!
It now detects:
$ bladeRF-cli -p
Backend: libusb
Serial: 0bb3137c20ae145a367357ddd61cb4ae
USB Bus: 1
USB Address: 6
It now detects:
$ bladeRF-cli -p
Backend: libusb
Serial: 0bb3137c20ae145a367357ddd61cb4ae
USB Bus: 1
USB Address: 6
-
- Posts: 455
- Joined: Thu Jun 06, 2013 8:15 pm
Re: [Solved] Ubuntu drivers error: LIBUSB_ERROR_INVALID_PARA
Glad to hear it!
I'll update the firmware upgrade wiki page to include the above instructions tonight.
Update: The wiki has been updated with the instructions from this post: https://github.com/Nuand/bladeRF/wiki/U ... F-firmware
I'll update the firmware upgrade wiki page to include the above instructions tonight.
Update: The wiki has been updated with the instructions from this post: https://github.com/Nuand/bladeRF/wiki/U ... F-firmware