我正在使用 usbip 和树莓派将无线键盘的范围扩展到一台计算机,该计算机离键盘本身可靠地工作有点太远了。
有时键盘的 USB 接收器会重新连接并在其他地方使用,但是当它重新连接到树莓派时,USBIP 连接不会自动重新建立。
如何实现自动重连?
我正在使用 usbip 和树莓派将无线键盘的范围扩展到一台计算机,该计算机离键盘本身可靠地工作有点太远了。
有时键盘的 USB 接收器会重新连接并在其他地方使用,但是当它重新连接到树莓派时,USBIP 连接不会自动重新建立。
如何实现自动重连?
当远程绑定和附加的设备被拔出时,该设备在客户端自动分离并在主机上解除绑定。之后,状态就像从未绑定或附加一样。
用于绑定(在主机上)和附加(在客户端上)的 usbip 命令可以使用相同的参数重复运行。虽然这会在已绑定或连接的设备上发出错误消息,但不会发生任何不好的事情!因此,只需安装将重复绑定和附加设备的后台脚本。下面提供了示例脚本和 systemd 单元。请务必根据需要更改主机名和端口 ID。
主持人
脚本
/opt/usbip/usbip-bind
:系统单元
/etc/systemd/system/usbip-bind.service
:一定要制作目录
/var/spool/usbip
。然后启用并启动设备:客户
脚本
/opt/usbip/usbip-attach
:系统单元
/etc/systemd/system/usbip-attach.service
:一定要制作目录
/var/spool/usbip
。然后启用并启动设备:现在,您可以在需要时移除设备,并且在重新插入 USB 连接重新建立后最多 20 秒。
我试过这个,它有点工作..还有一些你必须做的。
第一的:
您必须使 scipts 在主机和客户端上都可运行
在我的情况下,usbip 没有安装
/opt/usbip
,我只需要简单地写入usbip
主机和客户端服务文件。我还必须启动
usbipd
服务。所以在主机上我使用了这个文件:它首先启动 usbipd 服务器
在主机和客户端文件中我必须删除
/usr/bin/
在这些更改之后,它在我的 Raspberry Pi 主机和 ubuntu 19.10 客户端上运行良好
虽然我的回答很晚,但可能对其他人有用:https ://github.com/alpertsev/usbip-service-shell