-
OpenWRT Auto Bind USB Device to USBIP
OpenWRT 加载设备自动执行脚本使用的是 hotplug,官方文档在 https://openwrt.org/docs/guide-user/base-system/hotplug 一般 Linux 可能要使用 udev。 此方案的设计目标是,使支持 OpenWRT 的随身路由,通过 USB/IP,改造成车载CAN采集终端,并可以支持远程实时采集、刷写。 简单的脚本如下。(此处只使用了 ETAS 的产品的 USB VID,其他诸如 Vector,IntrepidCS,Peak 等的,修改 if 的条件即可。) /etc/hotplug/usb/99-usbcan 附上记录的日志,内容格式 插拔 ES582.1 的日志 其他已知的 USB VIDs: 也可以从Linux 内核源码里找 https://github.com/torvalds/linux/tree/master/drivers/net/can/usb
-
USBIP + Windows
测试环境:Linux(PVE) + Windows 10 软件 https://github.com/vadimgrn/usbip-win2 使用设备 ETAS ES582.1 服务端安装 启动后,服务端会打开 TCP 3240 端口。 客户端,Windows,安装二进制,按要求重启。 管理员模式 CMD 允许自定义驱动,执行完再重启 usbip.exe 被加到了 %PATH% 里,我是用的 0.9.5.5 版,命令行需要使用 usbip.exe ,如果使用 usbip 会无响应。 使用 ETAS HSP,设备能正常识别。 Linux 端,tcpdump 抓包,数据能抓到,但是 WireShark 自带的 dissector 暂时有问题,解析不完整。 理论上到了 tcp/ip 的这条路,做个 mitm 应该就好搞了。