无法在虚拟机中列举USB设备。

我有一台新的戴尔XPS 13 (9350)笔记本电脑,主机运行Windows 10,客户机在Oracle VirtualBox 5.0.20下运行Ubuntu 16.04 LTS。我安装了扩展包和Linux的客户附加组件。
我有一个PNY 128 GB USB 3.0闪存盘。当我插入它时,Windows可以检测到它,并且我可以访问文件。但是当我尝试通过虚拟机访问它(设备-> USB -> PNY USB 3.0 FD),Windows主机释放它,但在客户端中无法使用。当我使用dmesg命令时,输出如下:
usb 1-1: new high-speed USB device number 6 using ehci-pci
usb 1-1: device descriptor read/64 error 18
usb 1-1: device descriptor read/64 error 18
usb 1-1: new high-speed USB device number 7 using ehci-pci
usb 1-1: device descriptor read/64 error 18
usb 1-1: device descriptor read/64 error 18
usb 1-1: new high-speed USB device number 8 using ehci-pci
usb 1-1: invalid ep0 maxpacket: 9
usb 1-1: new high-speed USB device number 9 using ehci-pci
usb 1-1: invalid ep0 maxpacket: 9
usb usb1-port1: unable to enumerate USB device

对于这个特定的情况,我将虚拟机的USB设置为USB 2.0。如果我将其设置为USB 3.0,似乎得到的结果基本相同。
我还有一台运行Windows 7的旧Dell XPS台式机,配置与VirtualBox和Ubuntu相同。在那台机器上,同样的USB驱动器在主机和Ubuntu客户机上都能正常工作。此外,我还有一台非常老旧的Gateway笔记本电脑,运行着最新版本的lubuntu(没有VirtualBox),它也可以正常处理同样的USB驱动器。这让我觉得驱动器本身没有问题。
目前,我不确定我的问题是与Windows 10作为主机还是与笔记本电脑有关。我搜索了其他遇到这个问题的人,但我找到的帖子都是在VirtualBox 5.0.20版本支持USB 3.0之前发布的(我看到的错误信息看起来与人们在旧版本的VirtualBox上遇到的相同,但我在这方面并不是很专业)。
有关调试或纠正此问题的任何建议吗?

你尝试过安装Virtualbox扩展包吗?你可以在http://download.virtualbox.org/virtualbox/找到它(请确保选择正确的版本)。这里有一个关于如何安装的教程:http://www.htpcbeginner.com/install-virtualbox-extension-pack-on-linux-windows/。 - Nick Weinberg
@NickWeinberg 是的,我在我的问题中提到了我已经这样做了。“我安装了扩展包和Linux的客户附加组件。” 在安装之前,甚至没有在设置中连接USB 2.0或3.0设备的选项。(灰色不可用。)现在我可以选择其中任何一个,但我遇到了列出的问题。 - Brick
4个回答

如果你在寻找VMware Fusion或VMware Workstation的帮助时偶然发现了这篇文章(我曾经是一名VMware员工,所以我更喜欢它而不是VirtualBox),类似的解决方案也适用于这里。我使用的是带有雷电接口的MacBook Pro,并且我在使用Genesys Logic的USB 3.0读卡器时遇到了问题。
slogan@slogan-virtual-machine:~$ lsusb
Bus 004 Device 002: ID 05e3:0748 Genesys Logic, Inc. 
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0e0f:000b VMware, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0008 VMware, Inc. 
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

这导致了与问题中VirtualBox相同的错误信息。

为了解决这个问题,我关闭了我的虚拟机,然后在“虚拟机” -> “USB和蓝牙” -> “USB和蓝牙设置” -> “高级USB选项”中切换了USB兼容性从2.0到3.0。然后,在重新启动虚拟机并连接设备后,一切都正常工作了。


确实是我需要的。谢谢! - Micah Henning
谢谢你的分享。我差点就把VMware Workstation 16降级到VMware Workstation 12了,直到我找到了这篇帖子。在我的情况下,问题发生在我将Windows 7升级到Windows 10,并从VMware Workstation 12升级到VMware Workstation 16时。 - Iceberg
谢谢兄弟!这正是我所需要的! - thau0x01

你把USB闪存盘插入了什么样的端口?根据我的经验,VirtualBox无法处理插入USB 3.0端口的设备(我使用的是VirtualBox 5.0.26版本和扩展)。尝试在USB 3端口连接USB 3设备会出现错误,但将相同设备插入USB 2端口(或通过USB 2集线器插入USB 3端口)则可以正常工作。

非常感谢,这些建议起到了作用。我认真考虑放弃虚拟机环境了,工作环境太不稳定了,无法安心工作。 - ArunMKumar
经过数小时的搜索和破解,我终于解决了错误18问题(由原文作者报告),并按照这里的建议使用了一个USB 2集线器。这是在一个LUKS加密的USB 3驱动器上进行的。有趣的是,在使用集线器让它正常工作后,我尝试了一次没有集线器,它成功了一次,但第二次却不行了。也许VirtualBox中的USB 3支持只能勉强工作。 - Brent Bradburn
1真遗憾。我只有USB 3.0(Type C)接口。 - Slipp D. Thompson
通过USB 3.0接口连接USB 2.0设备也是可行的。 - vempo

我在戴尔Latitude 7480和WD 15扩展坞上遇到了完全相同的问题。我的主机操作系统是Windows 10,客户操作系统是Ubuntu 18.04。我的VirtualBox版本是5.2.18,设置为在虚拟机中模拟USB 3.0(xHCI)。
笔记本电脑本身的所有端口都不工作,显示错误代码18和枚举问题,与原帖中描述的情况相同。WD 15扩展坞上也有两个USB 3.0端口不工作,它们位于扩展坞的同一侧,与耳机插孔相邻。我还尝试在VirtualBox中使用USB 1.0和2.0模拟。
在WD 15扩展坞的背面,在电源输入和以太网端口之间,有两个USB 2.0端口。使用USB 1.0模拟时,它们可以正常工作。将VirtualBox中的USB设置恢复为3.0后,这些端口仍然可以正常工作。
答案似乎是如果您想在Ubuntu 18.04客户操作系统中使用USB,则应使用USB 2.0硬件端口。USB模拟设置并不重要。

当我将一个外部硬盘通过USB连接到运行在ESXI上的Ubuntu 20时,我遇到了同样的问题。在dmesg中:
[70765.496217] usb 1-1: new high-speed USB device number 6 using ehci-pci
[70765.524544] usb 1-1: Invalid ep0 maxpacket: 9
[70765.532265] usb usb1-port1: unable to enumerate USB device

在虚拟机的设置中,我点击“添加其他设备 > USB控制器”,然后选择了“USB 3.0”。这样问题就解决了,磁盘被识别并通过“fdisk -l”列出。