I have a Ubuntu 10.10 (x86) system which I use to test GNU Radio applications. I have successfully been using a USRP1 with a USB2.0 connection for some time now, yet at some point yesterday it appears to have stopped working.

  • With lsusb I don't even see the device listed anymore. I tried multiple ports with no luck.
  • A USB1.0 mouse seems to work fine.
  • Windows XP seems to recognize the device (no driver, but I see the device ID)
  • USRP works fine on my Fedora machine
  • tried different cables and another USRP

This is a rather old laptop, so part of me thinks the hardware may just be dying. However, Windows still at least recognizes the USRP, so I am hopeing maybe a driver install will fix the problem.

So, a USB mouse works fine, but somehow my USB2.0 based USRP stopped working. How can I debug this problem? Can I somehow reinstall the USB2.0 drivers?



Well, this was a UDEV issue. The USRP could only be used as root by default, the following will create UDEV rules for a normal user.

sudo addgroup usrp
sudo usermod -G usrp -a <YOUR_USERNAME>
echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
sudo chown root.root tmpfile
sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules

From gnuradio.org:

Ubuntu uses udev for handling hotplug devices, and does not by default provide non-root access to the USRP.

I tried reloading the rules, but I had to reboot in order for everything to work.

  • This was annoying because we had another user account for testing before, but then I created a new account (for other reasons) and forgot to add it to the UDEV rules. – Mr. Shickadance Apr 19 '11 at 15:57

If lsusb does not see it, I don't think it's a UDEV issue. I think Ubuntu just really doesn't see it at the very lowest-level of the USB Handshake. This normally means a hardware issue. Since you've checked the cables and port and since it does work it Windows, I would guess a power issue. Try using a powered USB hub in-between the radio and the host.

  • But how come sudo lsusb showed the device? Doesn't that point to permission issues with UDEV? If you ask me it doesn't make sense anyway. Even if a normal user doesn't have permissions to use a device, they should still be able to tell if it is connected to the system. – Mr. Shickadance Apr 20 '11 at 15:39
  • @Mr. If sudo lsusb sees the device, it's probably not hardware related. As a test you can try sudo chmod -R 777 /dev/bus/usb and see if it shows up in lsusb normally and if it starts working. The permissions will reset after next boot. If it is a permissions problem then we can look at fixing the udev rules. – penguin359 Apr 20 '11 at 18:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.