Mac Bluetooth won't pass through

Discussions related to using VirtualBox on Mac OS X hosts.
_Ant
Posts: 1
Joined: 31. Dec 2021, 10:02

Re: Mac Bluetooth won't pass through

Post by _Ant »

I got this to work today on a macOS host with a macOS guest, but I had to use a Bluetooth USB dongle to do it. Even then defining a USB filter solely on the guest was insufficient because com.apple.bluetoothd on the host kept grabbing the device for itself before the guest could.

Via VBoxManage usbhost I could see that the Bluetooth USB dongle was "Busy"...

Code: Select all

$ VBoxManage usbhost
#...
UUID:               fba7e5a5-129f-4b59-8a88-9e5ea90d82ee
VendorId:           0x050d (050D)
ProductId:          0x0084 (0084)
Revision:           5.37 (0537)
Port:               4
USB version/speed:  0/Full
Manufacturer:       Belkin Components
Product:            Bluetooth
Address:            p=0x0084;v=0x050d;s=0x000003934eacccc4;l=0x14431400
Current State:      Busy
After going down the false path of nvram settings, trying to stop macOS grabbing the last-inserted Bluetooth transceiver, I eventually decided to try a global filter (Ref: VirtualBox User Manual 7.30 VBoxManage usbfilter add/modify/remove), e.g.:

Code: Select all

$ VBoxManage usbfilter add 0 --target global --name "Belkin Bluetooth" --action hold --active yes --vendorid 050D --productid 0084

$ VBoxManage list usbfilters
Global USB Device Filters:
Index:            0
Active:           yes
Action:           Hold
Name:             Belkin Bluetooth
VendorId:         050d
ProductId:        0084
Revision:         
Manufacturer:     
Product:          
Serial Number: 
After removing and inserting the Bluetooth USB dongle the state changed from Busy to Held:

Code: Select all

$ VBoxManage list usbhost
#...
UUID:               3dc1b2ea-9cf7-4a75-9400-2c38e98f4f6d
VendorId:           0x050d (050D)
ProductId:          0x0084 (0084)
Revision:           5.37 (0537)
Port:               4
USB version/speed:  0/Full
Manufacturer:       Belkin Components
Product:            Bluetooth
Address:            p=0x0084;v=0x050d;s=0x000129bb333a2718;l=0x14431400
Current State:      Held
Finally, starting the guest (also with a USB filter for this VendorId and ProductId) I was finally able to access the Bluetooth preferences panel, turn on Bluetooth and enumerate and connect to nearby devices from the guest.

HTH.
Post Reply