虚拟机串口连接失败问题
小哥的Linux系统是用虚拟机来装的,最近恰好需要用到串口和Linux进行通信,连接好硬件之后,发现虚拟机上找不到串口。
经查询才发现通过虚拟机启动的系统,正常情况下是无法使用串口进行通信的,需要经过以下配置。
1、虚拟机在关机状态下,打开设置(非关机状态下无法设置)
2、点击【添加】,选择【串行端口】,点击【完成】
3、勾选【启动时连接】,选择【使用物理串行端口】,端口号与Windows系统上识别的端口号对应,再点击【确认】
COM选择不被占用的,比如我之前选择COM3、4就不行,后面发现是被蓝牙占用了,所以关闭蓝牙之后,再连接就可以了
4、设置完成后会在设置首页显示正在使用端口。
5、点击虚拟机》 可移动设备 》串行端口2 连接成功
如果这里连接失败,显示无法连接,检查一下可能是因为所选的串口被占用,如下;
然而事情并没有这么简单
如果一切顺利,在Linux中输入ls /dev/tty*
应该是能够看到一个/dev/ttyUSB*的设备,可是并没用看到,说明Linux还没识别到串口,猜测可能是我的虚拟机没有装CH340驱动
解决方法如下:
1、利用lsmod | grep usbserial
排查是否支持USB转TTL设备;如果有usbserial如图所示,则说明支持,可能是其他原因导致的无法识别USB;
如果没有,则需要安装驱动,我当时便是这个原因,则继续按下面步骤安装驱动即可
2、CH340LINUX驱动安装,具体操作见这篇博文https://blog.csdn.net/Brushyss/article/details/117192558
3、安装好可以看到已经有ttyUSB0了,终于可以实现虚拟机和串口的通信了
看着短短的一篇文章,其实也是排查了很久,记录一下了
参考文章
https://blog.csdn.net/zxw1473474655/article/details/126102955