Virtual Box issues
USB not working at all in guest
Applies to Windows OS only
After I changed computer, I had problems with passing through USB devices from Windows host to guest, which I used before without problems on old computer. The behaviour was wierd - all devices were visible from guest dropdown menu, but when I tried to connect them, nothing happened, and on second try there was an error:
Failed to attach the USB device XXXXX to the virtual machine YYYYY. USB device XXXXX with UUID zzzzzzz is busy with a previous request. Please try again later. Result Code: E_INVALIDARG (0x80070057) blah blah some debug shit
After that, devices are in BUSY or Connected state, but not working in guest. According to ticket #11251, it is 6 years old (if not older) known problem, but looks like Oracle gives a shit about it.
Regarding my research, it happens mostly on machines which have more built-in USB hubs or USB 3.0 ports. I found out that VBoxUSBMon filter driver captures devices but it won't create “VirtualBox USB” device, which is more or less like “connector” between guest and host. So devices on host reports “Captured” or “Busy”, but guest can't see them.
After three days of juggling with many VirtualBox builds I do have a solution, at least on my work computer (Windows 7 Pro 32bit on Dell Latitude E7440):
- Install VirtualBox 4.2.8.
- Copy VBoxUSBMon driver from “C:\Program Files\Oracle\VirtualBox\drivers\USB\filter” to some other place
- Install VirtualBox version you like (e.g. actual 5.0.4)
- Go to 4.2.8 VBoxUSBMon driver you copied, right click on VBoxUSBMon.inf, then click install and then allow replace of newer file.
After that USB pass through functionality should work as expected. If not, try to turn off USB 3.0 support in BIOS.
Sound has distortions or it is slowed down in Linux guest
This is caused by improper snd_intel8x0 clock detection. Try this:
- create file /etc/modprobe.d/alsa-base.conf
- insert following content to it
options snd-intel8x0 ac97_clock=48000
Then reboot virtual machine. In some cases audio then works normally.
Installing Guest Additions
Applies to Debian based distributions
- Login as root (or use sudo where applicable)
- Update your APT database with apt update
- Install the latest security updates with apt upgrade
- Install required packages with apt install build-essential module-assistant
- Configure your system for building kernel modules by running m-a prepare
- Click on Install Guest Additions… from the Devices menu, then run mount /media/cdrom
- Run sh /media/cdrom/VBoxLinuxAdditions.run, and follow the instructions on screen.