其实vmware虚拟机已经完全够用的了,但是我还是想要在wsl下面使用PCAN,不见得比VMware有多便利,但是嘛,折腾一下又不是什么坏事
之前一篇文章说过怎么样重新编译wsl2的内核使得WSL2的kali支持SocketCAN,建立在之前编译完成的基础上,我们继续添加USB的支持
上篇文章:https://blog.csdn.net/m0_55857257/article/details/134422565?spm=1001.2014.3001.5502
哦对了 上一篇文章中没有提到的就是,如果要想执行make menuconfig
命令,就必须进到下载的内核目录里面
(类似这个)
之后选择Device Drivers -> USB support
,把USB Mass Storage support中新出现的config全部选上,再保存退出,之后还是参考上一篇文章中后续的步骤即可。
这一步只是把添加了支持USB的模块,如果我们直接把USB设备接到主机电脑的USB串口上面,在wsl里面还是不能显示USB的串口设备,这就需要使用一个叫usbipd-win
的软件,它能够使得Hyper-V和WSL 2能够共享实体机的USB设备
GitHub仓库:https://github.com/dorssel/usbipd-win 去release里面下载即可。
参考使用文档:https://learn.microsoft.com/zh-cn/windows/wsl/connect-usb#attach-a-usb-device
到执行命令:usbipd attach --wsl --busid <busid>
的时候,会出现以下报错:
usbipd: info: Using WSL distribution ‘Arch’ to attach; the device will be available in all WSL 2 distributions.
usbipd: error: Mounting ‘C:\Program Files\usbipd-win\WSL’ within WSL failed.
这是挂载的问题,具体的看这个issues:https://github.com/dorssel/usbipd-win/issues/856
里面提到了直接使用更新的程序即可:https://github.com/dorssel/usbipd-win/actions/runs/7813976713
下载之后就可以了,把PCAN或者一些USB串口设备插进主机之后,执行usbipd attach --wsl --busid <busid>
之后在你的Linux下面执行lsusb
就能看到你的USB串口设备了~