Link/V2不能挂载到VirtualBox的解决办法

VirtualBox从ST-Link/V2读到的序列号是乱码,在虚拟机设置中将ST-Link/V2添加到USB设备筛选器中,并编辑该筛选器将其序列号清空,就可以解决这个问题。

原文: mingdu.zheng at gmail dot com

问题现象

试图在VirtualBox中挂载STMicroelectronics STM32 STLink设备时,会弹出如下对话框:

对话框显示:

不能分配 USB设备 STMicroelectronics STM32 STLink [0100] 到虚拟电脑 USB device ‘STMicroelectronics STM STLink’ with UUID {e14e050b-6e9c-4ce2-b506-f2e8795e4424} is busy with a previous request. Please try again later.

明细内容:

返回 代码: E_INVALIDARG (0x80070057) 组件: HostUSBDevice 界面: IHostUSBDevice {173b4b44-d268-4334-a00d-b6521c9a740a} 被召者: IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}

这种错误出现在Host OS是Windows的情况。

解决办法

打开虚拟机设置,选择 USB设备 分类,点击右边带加号的按钮,在弹出菜单中选择 STMicroelectronics STM32 STLink [0100] (仅在已经插入ST-Link的情况下才会有,如果没有这一项,请先将ST-Link插入您的电脑),这将创建一个新的 USB设备筛选器 ;选中刚创建的筛选器,点击右边带圆圈的按钮,弹出 USB筛选器明细 ,可以看到 序列号(S) 输入框内的字符串为乱码,将该输入框内的所有字符清空,点击 确定 保存筛选器。重新启动虚拟机后,ST-Link已正常挂载到了Guest OS中。

Host OS为Linux的情况

当Host OS为Linux时,如果是通过虚拟机菜单 设备>>分配USB设备 挂载的是没有问题的,如果是在设置对话框中通过 USB设备筛选器 挂载的,那么下次打开虚拟机控制台时会报告 .vbox 文件错误,.vbox是xml文件,但是添加了ST-Link设备筛选器后,它的一些信息(包括序列号)会写入到.vbox文件,ST-Link的序列号是乱码,因此这个.vbox里面就包含了乱码。因此如果通过 USB设备筛选器 挂载,也应当将序列号清空,如果已经出现了报告.vbox文件错误的情况,那么用文本编辑打开.vbox文件,,将报错的那一行的乱码字符串删除变成空字符串即可。 的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。

最好的节约是珍惜时间,最大的浪费是虚度年华。

Link/V2不能挂载到VirtualBox的解决办法

相关文章:

你感兴趣的文章:

标签云: