如何在 ubuntu 22.04 LTS 上设置 usbip 服务器?

如何在 ubuntu 22.04 LTS 上设置 usbip 服务器?

我正在尝试在 ubuntu 22.04.1 LTS x64 上设置 usbip 服务器。我首先通过以下命令安装了以下软件包:

sudo apt install linux-tools-generic

然后我通过以下命令加载模块:

sudo modprobe usbip_core
sudo modprobe usbip_host
sudo modprobe vhci_hcd

然后我通过命令 lsmod 和 grep 检查正在运行的模块,我确定所有三个模块都已成功加载。最后,当我尝试列出本地 USB 设备时,我收到以下错误:

boliang@boliang-AO756:~$ sudo usbip list -l
[sudo] password for boliang: 
WARNING: usbip not found for kernel 5.15.0-43

  You may need to install the following packages for this specific kernel:
    linux-tools-5.15.0-43-generic
    linux-cloud-tools-5.15.0-43-generic

  You may also want to install one of the following packages to keep up to date:
    linux-tools-generic
    linux-cloud-tools-generic

不知道上面的安装配置过程是否有错误,如果有正确的方法是什么,谢谢!

答案1

经过几天的探索,我终于发现了问题的原因。我的系统中有两套 usbip 可执行文件,一套位于 /usr/bin/ 下,另一套位于 /usr/lib/linux-tools-xxx-xxx/ 下。前者由 linux-tools-common 包安装,后者由 linux-tools-xxx-xxx-generic 包安装。至于为什么会出现这种情况,我目前还不是很清楚,但感觉可能是个 bug。

答案2

如果你只是想为 USB 端口分配 IP 地址,则不需要 USBIP。可以使用 ifconfig 进行配置

sudo ifconfig usb0 172.32.0.100 netmask 255.255.0.0 up

相关内容