我有一个 Ubuntu 10.10 (x86) 系统,我用它来测试 GNU Radio 应用程序。我已经成功使用带有 USB2.0 连接的 USRP1 一段时间了,但在昨天的某个时候它似乎停止工作了。
- 我
lsusb
甚至看不到列出的设备。我尝试了多个端口,但都没有成功。 - USB1.0 鼠标似乎工作正常。
- Windows XP 似乎可以识别该设备(没有驱动程序,但我看到了设备 ID)
- USRP 在我的 Fedora 机器上运行良好
- 尝试了不同的电缆和另一个 USRP
这是一台相当旧的笔记本电脑,所以我认为硬件可能快要死了。但是,Windows 至少仍然可以识别 USRP,因此我希望安装驱动程序可以解决该问题。
因此,USB 鼠标工作正常,但不知何故,我的基于 USB2.0 的 USRP 停止工作。我该如何调试这个问题?我可以重新安装 USB2.0 驱动程序吗?
谢谢!
答案1
嗯,这是一个 UDEV 问题。默认情况下,USRP 只能以 root 身份使用,下面将为普通用户创建 UDEV 规则。
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
来自 gnuradio.org:
Ubuntu 使用 udev 来处理热插拔设备,并且默认情况下不提供对 USRP 的非 root 访问。
我尝试重新加载规则,但我必须重新启动才能使一切正常工作。
答案2
如果 lsusb 没有看到它,我不认为这是一个 UDEV 问题。我认为 Ubuntu 确实没有在 USB 握手的最低级别上看到它。这通常意味着硬件问题。既然您已经检查了电缆和端口,并且它确实可以在 Windows 上工作,我猜想是电源问题。尝试在无线电和主机之间使用供电的 USB 集线器。