VMware 虚拟机 Linux 系统中使用串口的设置

1.前言

折腾了许久,网上很多方法都试过,最终还是无法在 VM 虚拟机中使用串口,无奈只得放弃,但心里还是有一种倔劲.


2.设置方式

多次苦苦寻找, 主要存在以下两种配置方式:

  • 1.虚拟机识别串口

★打开 VM10.0 虚拟机软件,但不启动 Linux 系统
★VM -> Settings -> (左下角)Add -> Serial Port
★选择 use physical serial port on the host
★选择在 Window 下的串口编号, 比如 COM3
★选择 Connected at power on 完成后启动虚拟机系统。
★查看虚拟机右下角是否串口已经连接上,没连接上就手动连接

然后在 linux 程序中使用 ttyS0, 进行通讯. 若不行,则尝试一下 ttyS[0-3]

  • 2.虚拟机识别 USB 转串口

★首先 windows 能够识别 USB 转串口(可能需要装驱动)。
★设置虚拟机:VM -> Removable devices -> Future Devices USB Serial Converter -> Connect (Disconnect from Host) 即可
★若步骤二中没有出现 USB 选项, 则关闭虚拟机中的 linux 系统, 添加过程与配置虚拟机识别串口的添加过程一样.
注意:需要确保 VMware USB Arbitration Service 服务是启动的

VMware USB Arbitration Service 服务启动步骤如下:
★点击Windows下的开始->运行,在对话框中输入“services.msc”,点击确定,打开Windows服务管理器。
★在服务列表中选中“VMware USB Arbitration Service”,双击打开属性对话框,在选中“启动”项就可以启动VMware USB Arbitration Service服务了
★关闭VMware软件,再重新打开,启动虚拟机

查看虚拟机 Linux 系统的 /dev 目录,如果有 ttyUSBx 则说明成功了!若是首个 USB 转串口,则显示为 ttyUSB0, 接着在 Linux 程序中打开设备 ttyUSB0,进行串口通讯。


3. 解决过程

  1. 博主首先安装的是 VM9.0 版本,尝试了以上第一种识别串口的配置方式,linux 程序打开 ttyS0 - ttyS3 的其中一个, 运行程序,始终没有任何通信数据。

  2. 然后使用了直接装的 Ubuntu linux 系统的笔记本来进行测试,插上 USB 转串口的工具,在 /dev/ 目录下, 发现增加了 ttyUSB0 设备,linux 程序中打开该设备进行读写,发现能够通信。

  3. 再次返回到 VM 虚拟机上,尝试第二种识别 USB 转串口的设置方式,却一直无法成功连接,原因在于连接时总是报出如下错误:
    the device is currently in use!
    但实际上根本没有哪个软件在占用.
    在网上搜索了一下,发现很多网友也遇见过,可是都没有一个办法来解决, 后面无意之间发现如下博文:
    http://forum.ubuntu.org.cn/viewtopic.php?p=3138685
    道出了连接 ttyUSB0 时出现连接错误时的解决之道,
    把VM虚拟机升级到 10.0 即以上就可以了,VM9.0 有 Bug。
    后面我把VM虚拟机从 9.0 升级到 10.0, 果断解决了该问题,尼玛真坑啦!
    最后使用 ttyUSB0 进行串口通讯,经测试通讯成功。

  4. 看见 ttyUSB0 能够进行通讯了,后又折回到 ttyS0,经验证, 也成功使得 VM 虚拟机运行的 linux 系统中的程序与 Windows 系统下的串口进行了通信.

  5. 至此,完美解决了 VMware 虚拟机 Linux 系统的串口使用的问题。


4. 结语

总观整个摸索过程,可以用 “峰回路转,总有出路” 来形容了。不过总归还是解决了,其中滋味,摸索过才能体会到,也在摸索中学到了很多东西。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值