我正在尝试从 raspi 通过 IP 导出 USB 端口并在 ubuntu 上使用它。
在 Raspberry Pi 上,我可以使用以下命令启动守护进程
> sudo usbipd
usbipd: info: starting usbipd (usbip-utils 2.0)
usbipd: info: listening on 0.0.0.0:3240
usbipd: info: listening on :::3240
如您所见,版本显示为 2.0。我还能够将设备绑定到 usbip 并使用以下命令从 raspi 列出设备:
> sudo usbip list -r localhost
Exportable USB devices
======================
- localhost
1-1.4: Logitech, Inc. : Mouseman Dual Optical (046d:c012)
: /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4
: (Defined at Interface level) (00/00/00)
在 ubuntu 上我通过 apt-get install usbip 安装了 usbip。版本报告为 0.1.7-3。
当我尝试列出我的服务器上的设备时,我得到了以下信息:
> sudo usbip -l 192.168.0.126
- 192.168.0.126
usbip err: usbip_network.c: 119 (usbip_recv_op_common) recv op_common, -1
usbip err: vhci_attach.c: 202 (query_exported_devices) recv op_common
usbip err: vhci_attach.c: 417 (show_exported_devices) query
输出相当隐晦,但我认为问题在于 usbip 2 无法与 usb ip 0.1.7-3 通信。
那么我能做什么呢?我可以以某种方式设置它以使其兼容吗?我可以在 ubuntu 上安装 usbip 2 版本吗?
答案1
更新客户端工具解决此错误:
sudo apt-get install linux-tools-generic
这会将较新的 usbip 工具安装到 /usr/lib/linux-tools/uname -r`
$ /usr/lib/linux-tools/`uname -r`/usbip version
或者
$ /usr/lib/linux-tools/4.4.0-31-generic/usbip version
usbip (usbip-utils 2.0)
新语法,例如:
usbip 列表 -r 192.168.1.1
sudo usbip 附加 -r 192.168.1.1 -b 1-1.3
答案2
我暂时无法发表评论。你看过这个吗?邮政? 它似乎处理因版本不匹配而产生的相同问题。
答案3
您应该下载内核源代码并构建 tools/usb/usbip/ 中包含的 usbip 工具。详细的操作方法在这里:https://blog.danman.eu/usbip-utils-2-0-on-ubuntu/