VirtualBox

Opened 10 years ago

Closed 8 years ago

#13579 closed defect (obsolete)

USB packets sent from device to host are lost

Reported by: Daniel Dreibrodt Owned by:
Component: USB Version: VirtualBox 4.3.18
Keywords: packet, loss, malformed, lost Cc:
Guest type: Windows Host type: Windows

Description

This bug appears in VirtualBox versions 4.3.16 and 4.3.18 on several host machines, other VirtualBox versions have not yet been tested. Host and guest OS were always Windows 7 x64.

A software is run on the VM that communicates heavily to an attached USB device. Sporadically USB packets sent from the device to the machine are lost. I verified this by recording the USB communication inside the VM and over the physical USB connection. For this I used USBPcap running inside the VM and a Total Phase Beagle USB 5000 sniffer that monitors the physical connection. By comparing both recordings I found out which packets are lost.

I have attached relevant excerpts of Total Phase Data Center recording (In TDC format and as a CSV export for those who do not have the software) which shows the physical USB communication and the USBPcap recording showing the communication inside the VM.

There are two different cases of packet loss I have observed. One is reproducible and the other occurs sporadically.

In case of the reproducible one, the USB device driver requests status information from the device and the reply is not received. Here a simple workaround in the USB device driver was implemented, that simply requested the status information twice if running in a VirtualBox VM. The second packet is then received properly. In the attached recordings you can find the lost packet at index 21527 in the Total Phase recording and at index 481 in the USBPcap recording. In the USBPcap recording it is marked as a malformed packet. After the status information is requested for the second time and the device replies, that reply packet, although being the very same, is passed through correctly (Total Phase index 21724, USBPcap index 543).

The other case is more elusive and happens sporadically. Here a bigger packet is being lost. You can find it in the Total Phase recording from index 21162 to 21268. In the USBPcap recording it appears as the malformed packet at index 61.

This is not a device or driver issues as it does not occur on a real PC or ina VMWare VM. It appears to be VirtualBox specific.

Attachments (3)

USB_Communication_Excerpt.tdc (22.5 KB ) - added by Daniel Dreibrodt 10 years ago.
Total Phase Data Center recording of the physical USB communication
USB_Communication_Excerpt.csv (105.8 KB ) - added by Daniel Dreibrodt 10 years ago.
CSV version of the Total Phase Data Center recording, can be opened e.g. in Excel
USBPcap_Recording_Excerpt.pcap (49.9 KB ) - added by Daniel Dreibrodt 10 years ago.
USBPcap recording of the USB communication inside the VM. Can be opened e.g. with Wireshark.

Download all attachments as: .zip

Change History (4)

by Daniel Dreibrodt, 10 years ago

Total Phase Data Center recording of the physical USB communication

by Daniel Dreibrodt, 10 years ago

CSV version of the Total Phase Data Center recording, can be opened e.g. in Excel

by Daniel Dreibrodt, 10 years ago

USBPcap recording of the USB communication inside the VM. Can be opened e.g. with Wireshark.

comment:1 by aeichner, 8 years ago

Resolution: obsolete
Status: newclosed

Please reopen if still relevant with a recent VirtualBox release.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use