VirtualBox

Opened 14 years ago

Closed 14 years ago

Last modified 13 years ago

#7158 closed defect (fixed)

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

Reported by: Rogier Owned by:
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 (6)

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

Download all attachments as: .zip

Change History (21)

by Rogier, 14 years ago

Attachment: VBox.log added

Logfile of the error simulation

comment:1 by Michael Thayer, 14 years ago

Could you please attach the output of

$ VBoxManage list usbhost

before and after triggering this?

by Rogier, 14 years ago

Attachment: usbhost_nokeyboard.txt added

Usb hostlist output with no microsoft usb keyboard attached.

by Rogier, 14 years ago

Attachment: usbhost_withkeyboard.txt added

Usb hostlist output with microsoft usb keyboard attached.

comment:2 by Rogier, 14 years ago

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 by Michael Thayer, 14 years ago

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?

by Rogier, 14 years ago

Attachment: lsusbwithoutkeyboard.txt added

without keyboard attached

by Rogier, 14 years ago

Attachment: lsusbattachedkeyboard.txt added

lsusb attached the keyboard

by Rogier, 14 years ago

lsusb attached the keyboard in error situation

comment:4 by Rogier, 14 years ago

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 by Michael Thayer, 14 years ago

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 by Bennett Fleisher, 14 years ago

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

comment:7 by Bennett Fleisher, 14 years ago

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 by Michael Thayer, 14 years ago

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 by Michael Thayer, 14 years ago

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 by Bennett Fleisher, 14 years ago

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 by Michael Thayer, 14 years ago

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 by Bennett Fleisher, 14 years ago

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 by Rogier, 14 years ago

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 by Frank Mehnert, 14 years ago

Resolution: fixed
Status: newclosed

Please reopen if the problem persists with VBox 3.2.8.

comment:16 by Michael Thayer, 13 years ago

Summary: microsoft natural usb keyboard crashes usb support in VBmicrosoft 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.

© 2023 Oracle
ContactPrivacy policyTerms of Use