VirtualBox

Ticket #2372 (new defect)

Opened 6 years ago

Last modified 14 months ago

Cannot attach bluetooth usb devices to guest OS from OSX host

Reported by: dadbee Owned by:
Priority: major Component: USB
Version: VirtualBox 3.0.8 Keywords: bluetooth
Cc: josh@… Guest type: Windows
Host type: Mac OS X

Description

I am unable to attach a Bluetooth device to a guest OS from my OSX host environment. I am able to attach other USB devices, however when I attempt to attach a Bluetooth device, I get the following error:

USB device 'Apple, Inc. Bluetooth USB Host Controller' with UUID {906cb966-8615-4b75-9775-47f7d6689c2f} is in use by someone else.

Result Code: NS_ERROR_FAILURE (0x80004005) Component: HostUSBDevice Interface: IHostUSBDevice {173b4b44-d268-4334-a00d-b6521c9a740a} Callee: IConsole {d5a1cbda-f5d7-4824-9afe-d640c94c7dcf}

I get this error when I try to attach to either a Windows or Linux guest OS from an OSX host.

Change History

comment:1 Changed 5 years ago by calum

I can confirm the same issue in 2.1.0. Rather annoying, prevents me from using Nokia PC Suite with my phone :/

comment:2 Changed 5 years ago by rukqoa

Does that mean that Mac OS X is using the bluetooth? If so, is there a way to..

  1. Disable bluetooth at a machine level in mac
  2. Find a way so that vbox can "steal" it from mac.

comment:3 Changed 5 years ago by calum

The Bluetooth daemon (/usr/sbin/blued) is running on the host, but no userspace apps are using the Bluetooth connection at the time AFAICT.

comment:4 Changed 5 years ago by rukqoa

Try using a USB dongle or try killing the blued process.

comment:5 Changed 5 years ago by calum

The blued process respawns as soon as you kill it, and I don't have a bluetooth dongle-- not much point when I have bluetooth built in :)

comment:6 follow-up: ↓ 7 Changed 5 years ago by bsjeep

Still broken in 2.1.2, I can vouch that this works fine using VMware on Leopard OSX, same macbook. So there's something they do to make it work.

comment:7 in reply to: ↑ 6 Changed 5 years ago by chedaille

Replying to bsjeep:

Still broken in 2.1.2, I can vouch that this works fine using VMware on Leopard OSX, same macbook. So there's something they do to make it work.

I have the same issue using VirtualBox 2.1.4 on a TinyXP rev9 VDI.

comment:8 Changed 5 years ago by kalasz

Issue still exists in 2.2.0 on Unibody MacBook.

comment:9 Changed 5 years ago by calum

Still not working in 3.0.8.

comment:10 Changed 5 years ago by frank

  • Version changed from VirtualBox 2.0.2 to VirtualBox 3.0.8

I fear that it is just not possible to reap the bluetooth device out of the host control.

comment:11 Changed 3 years ago by rei_vilo

Any news for release 3.2? I can't manage to access Bluetooth from an XP guest on a MacBook host.

comment:12 Changed 3 years ago by rei_vilo

After much searching, compiling and testing, here's a temporary solution. The hereafter post concerns my configuration: Windows XP guest on MacBook host.

As other USB devices, the Bluetooth port can't be used at the same time by the guest and the host. Therefore, main assumption is I don't require Bluetooth on the host. That's easy on a MacBook.

Here's a step-by-step procedure that works fine for me:

  1. On MacBook host, desactivate Bluetooth on Apple > Preferences > Bluetooth
  1. On MacBook host, launch Terminal from Application > Utilities

When trying to use Bluetooth on the guest, the error message says it is already in use.

  1. On Terminal, type
    kextstat | grep -i bluetooth
    

and see the result: most are kernel extensions (kext)

  1. To unload them and free the Bluetooth port, on Terminal type first
sudo su

for super-user privileges and them unload the kernel extensions

kextunload -b com.apple.driver.BroadcomUSBBluetoothHCIController
kextunload -b com.apple.driver.AppleUSBBluetoothHCIController
  1. Finally, on VirtualBox, select Bluetooth USB and check everything runs fine.
  1. There may be other kernel extensions to unload. Test and try till it works.

To load back kernel extensions, perform the reverse operation on Terminal, starting by last one

sudo su

kextload -b com.apple.driver.AppleUSBBluetoothHCIController
kextload -b com.apple.driver.BroadcomUSBBluetoothHCIController

kextstat | grep -i bluetooth

I hope this could help today's users.

Could such procedures be integrated into the next release of VirtualBox?

comment:13 Changed 3 years ago by EDevil

I also have this problem. VMWare is able to do this so it is possible...

comment:14 Changed 3 years ago by rei_vilo

Hi!

Please find the  /VirtualBox Bluetooth Step-by-Step Configuration with screen-shots and a new and more elaborate AppleScript-based  /VirtualBox Bluetooth Automatic Configuration.

I hope both could help you!

comment:15 Changed 3 years ago by calum

Functionality still broken in 4.1.0, but I can confirm the kextload workaround works well for me (also in 4.1.0).

comment:16 Changed 2 years ago by sorin

I would be glad to hear that this 3 year old bug is solved directly in virtualbox, the workaround is simply to hard to do.

comment:17 Changed 17 months ago by Billy

Hi!

After upgrading to Mountain Lion from Snow Leopard I lost almost a day to found the solution again. So I wrote it here for those who have ML and try to pass their Bluetooth to the guest VM in a Mac Book Pro.

1) Disable Bluetooth in terminal as root

launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist

# For Mountain Lion

kextunload -b com.apple.iokit.IOBluetoothSerialManager

kextunload -b com.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport

# For Snow Leopard

#kextunload -b com.apple.driver.BroadcomUSBBluetoothHCIController

#kextunload -b com.apple.driver.AppleUSBBluetoothHCIController

2) Start VM

3) Enable Devices/USB Devices/Apple Inc. Bluetooth USB Host Controller

4) Enjoy!

After closing the VM just do as root in terminal again

launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist

# For Mountain Lion

kextload -b com.apple.iokit.IOBluetoothSerialManager

kextload -b com.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport

# For Snow Leopard

#kextload -b com.apple.driver.BroadcomUSBBluetoothHCIController

#kextload -b com.apple.driver.AppleUSBBluetoothHCIController

comment:18 follow-up: ↓ 19 Changed 14 months ago by lbaeyens

Last edited 14 months ago by lbaeyens (previous) (diff)

comment:19 in reply to: ↑ 18 Changed 14 months ago by ArthurG

Replying to lbaeyens: Hi lbaeyens

Looks great. But my host runs Lion, 10.7. It has these kernel extensions installed.

$ kextstat| grep -i bluet
   75    2 0xffffff7f80da1000 0x77000    0x77000    com.apple.iokit.IOBluetoothFamily (4.0.8f17) <7 5 4 3 1>
   76    1 0xffffff7f80e38000 0xb000     0xb000     com.apple.driver.AppleUSBBluetoothHCIController (4.0.8f17) <75 30 7 5 4 3>
   77    0 0xffffff7f80e4b000 0xb000     0xb000     com.apple.driver.BroadcomUSBBluetoothHCIController (4.0.8f17) <76 75 30 5 4 3>
  108    0 0xffffff7f80e2a000 0xa000     0xa000     com.apple.iokit.IOBluetoothSerialManager (4.0.8f17) <107 7 5 4 3 1>

Do you know which of your instructions should I follow to pass my bluetooth to a guest VM (WinXP) on my MacBook Pro?

Thanks

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use