VirtualBox

Ticket #7158 (closed defect: fixed)

Opened 4 years ago

Last modified 3 years ago

microsoft natural usb keyboard crashes usb support in VB - fixed as of 2010/11/18

Reported by: rogier999 Owned by:
Priority: major Component: USB
Version: VirtualBox 3.2.6 Keywords:
Cc: Guest type: Windows
Host type: Linux

Description

I discovered the following problem.

First i describe my hardware setup. I am using a Microsoft Natural USB keyboard on my linux host. I do not activate this USB keyboard in VB because the keyboard function works.

The Error situation. When i want to use a USB-stick in my windows XP guest OS, i activate the the USB stick with a right-click on the usb icon and select the USB stick. This all works without the USB keyboard attached. When i attach the USB keyboard and want to use the USB stick, i get only a list with: Microsoft, Unknown device, Unknown device, Unknown device. When I right-click the USB icon a second time, nothing happens, no list, nothing. VB still works it does not hang.

I attach the logfile which is the result of the plugging in the keyboard and usb stick.

What i did is the following.

  • Shutdown the running Windows Xp VM
  • Quit in Linux host the VB
  • Attach the USB keyboard
  • Start VB
  • Start Windows Xp VM
  • Entered in windows xp VM my login name and password
  • Waiting.... see Time stamp 00:01:16.360
  • Attached the USB Stick
  • Right-click the usb icon and select the USB Stick
  • Error window Appeard:

VirtualBox - Error
Failed to attach the USB device Unknown device to the virtual machine.
Could not find a USB device with uuid
{a98dac8f-1f01-4355-8d3c-fb5a3d5395fc}.
Derails:
Callee RC: NS_ERROR_FAILURE (0x80004005)


  • Hit OK button
  • Checked if the USB stick has a drive letter, NO no drive letter.
  • Unplugged the USB stick
  • Shutdown the VM

Attachments

VBox.log Download (86.1 KB) - added by rogier999 4 years ago.
Logfile of the error simulation
usbhost_nokeyboard.txt Download (1.2 KB) - added by rogier999 4 years ago.
Usb hostlist output with no microsoft usb keyboard attached.
usbhost_withkeyboard.txt Download (510 bytes) - added by rogier999 4 years ago.
Usb hostlist output with microsoft usb keyboard attached.
lsusbwithoutkeyboard.txt Download (41.9 KB) - added by rogier999 4 years ago.
without keyboard attached
lsusbattachedkeyboard.txt Download (45.0 KB) - added by rogier999 4 years ago.
lsusb attached the keyboard
lsusbattachederrorkeyboard.txt Download (45.0 KB) - added by rogier999 4 years ago.
lsusb attached the keyboard in error situation

Change History

Changed 4 years ago by rogier999

Logfile of the error simulation

comment:1 Changed 4 years ago by michael

Could you please attach the output of

$ VBoxManage list usbhost

before and after triggering this?

Changed 4 years ago by rogier999

Usb hostlist output with no microsoft usb keyboard attached.

Changed 4 years ago by rogier999

Usb hostlist output with microsoft usb keyboard attached.

comment:2 Changed 4 years ago by rogier999

The VB is not running. I run the command once with no Microsoft keyboard attached and did the same with the keyboard attached. See the attached files.

comment:3 Changed 4 years ago by michael

Thank you. Could you please also do "lsusb -v" on your host in the error situation and attach the output for the keyboard? And just to be sure that I understand, have you ever seen a situation in which the keyboard was attached and USB pass through worked in VirtualBox?

Changed 4 years ago by rogier999

without keyboard attached

Changed 4 years ago by rogier999

lsusb attached the keyboard

Changed 4 years ago by rogier999

lsusb attached the keyboard in error situation

comment:4 Changed 4 years ago by rogier999

What i did.

  • VB and VM running no keyboard attached
  • lsusb -v > lsusbwithoutkeyboard.txt
  • attached the keyboard
  • lsusb -v > lsusbattachedkeyboard.txt
  • right click the USB icon in VM
  • lsusb -v > lsusbattachederrorkeyboard.txt


Yes, I used VB version 2.??? with this keyboard and used the USB pass through without any problems.

comment:5 Changed 4 years ago by michael

You might want to try these test builds from the stable branch of VirtualBox (see disclaimer here). They contain a change that might fix your issue, although it is just a shot in the dark and I am not particularly hopeful.

 http://www.virtualbox.org/download/testcase/VirtualBox-2010-07-21-16-31-32-lin32-3.2-3.2.7-r63866.run (32 bit version)

 http://www.virtualbox.org/download/testcase/VirtualBox-2010-07-21-16-37-12-lin64-3.2-3.2.7-r63867.run (64 bit version)

comment:6 Changed 4 years ago by bleve

I have the same problem with FC11 and a Microsoft wireless mouse. Testing the 64bit version.

comment:7 Changed 4 years ago by bleve

Nope, that did not correct the issue for me. If I bring up my XP or Win7 without the mouse attached it is fine. I can see my other USB devices. As soon as I plug in the mouse and try to access the USB list I get the same messages as reported by rogier999. Once it gets into this state you have to power down the system, you can not save the machine state.

comment:8 Changed 4 years ago by michael

Could anyone who can reproduce this check whether the process VBoxSVC is running before and after it occurs? And if it disappears when the problem occurs, could you please try to get a core dump of the process, using an official released version of VirtualBox (not the test build I provided)?

comment:9 Changed 4 years ago by michael

If you get a core dump you can contact me by e-mail - <my user name> _dot_ thayer at oracle _dot_ com and I can tell you how to get it to us.

comment:10 Changed 4 years ago by bleve

Before plugging in the USB mouse:

bleve 12194 1 0 08:14 ? 00:00:00 /usr/lib/virtualbox/VBoxSVC --pipe 8 --auto-shutdown

After plugging it in the process is still running but when selecting USB devices it dies. Looking for a core. There may not be one since I am not running this as root.

Trying to create a core so running it as root:

[root@skeeter-e6400 tmp]# ulimit -c unlimited

root 12340 1 0 08:19 ? 00:00:00 /usr/lib/virtualbox/VBoxSVC --pipe 10 --auto-shutdown

This created core.12340. I am emailing this core to you. I am an Oracle employee as well so look for it coming from an Oracle email address. Also it is interesting that 3.2.7 showed the devices whith the mouse unplugged but all of the devices were greyed out. I had to reinstall 3.2.6 to be able to select my other usb without the mouse plugged in. So this core was generated with:

VirtualBox-3.2-3.2.6_63112_fedora11-1.x86_64

Thanks,

-Bennett

comment:11 Changed 4 years ago by michael

I wasn't able to get much from Bennett's core file, as lots of interesting information was optimised away due to the more efficient 64bit code and function calls, but Rogier's core file confirmed my suspicions (and what I could get out of Bennett's one also pointed the same way), namely that VirtualBox is choking on device strings which are not in Utf8. I'm surprised that my fix didn't solve that, I need to recheck it.

Since I am not sure where the non-Utf8 strings are coming from (the Linux kernel documentation says that it should always return that information as Utf8), I would be grateful if you do another test. Plug in the problematic USB device and find the sysfs directory on your host corresponding to the device. It should have a path like /sys/bus/usb/devices/x-y/ . You can check the "product" and "manufacturer" string files in the various device directories to find the right one. Then use the file utility on the "product" and "manufacturer" files in the directory (you don't need to be root for this!) roughly like:

$ file /sys/bus/usb/devices/3-1/manufacturer
/sys/bus/usb/devices/3-1/manufacturer: ASCII text

comment:12 Changed 4 years ago by bleve

bash-5-1$ cd ../6-2

bash-6-2$ more manufacturer 
Microsoft

bash-6-2$ more product
Microsoft Wireless Optical Mouse� 1.00

bash-6-2$ file product
product: ISO-8859 text

bash-6-2$ file manufacturer 
manufacturer: ASCII text


bash-6-2$ cat product | od -cx
0000000   M   i   c   r   o   s   o   f   t       W   i   r   e   l   e
           694d    7263    736f    666f    2074    6957    6572    656c
0000020   s   s       O   p   t   i   c   a   l       M   o   u   s   e
           7373    4f20    7470    6369    6c61    4d20    756f    6573
0000040 256       1   .   0   0  \n
           20ae    2e31    3030    000a
0000047

There is a strange character after Mouse.

comment:14 Changed 4 years ago by rogier999

Oke, This is the output of:

$ file manufacturer 
manufacturer: ASCII text

and from

$ file product 
product: ISO-8859 text

This is the hex contents of the manufacturer file:

0x00000000: 7263694d 666f736f 00000a74 00000000 | Microsoft.......
0x00000010: 00000000 00000000 00000000 00000000 | ................

and the product file:

0x00000000: 7574614e ae6c6172 67724520 6d6f6e6f | Natural..Ergonom
0x00000010: 4b206369 6f627965 20647261 30303034 | ic.Keyboard.4000
0x00000020: 0000000a 00000000 00000000 00000000 | ................

Notice the 0000000a

comment:15 Changed 4 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Please reopen if the problem persists with VBox 3.2.8.

comment:16 Changed 3 years ago by michael

  • Summary changed from microsoft natural usb keyboard crashes usb support in VB to microsoft natural usb keyboard crashes usb support in VB - fixed as of 2010/11/18

It turned out that this was only fixed in one code path - please see ticket #7733 for the follow-up.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use