Well, I want to share an alternative solution that works without standing Mac mini on its back or messing with cables or USB ports. This is also an update to my previous effort described to Aug 23, 2019 in this thread.
All you need is a $20 Bluetooth USB dongle. It has to be use chip that has built-in driver in macOS. I use
StarTech USBBT1EDR4 dongle based on
CSR8510 A10 chip that is supported out of the box. In general any USB dongle using
CSR8510 should work for you. If you find other dongle working too, please share. NOTE: The device must be proper USB dongle, not UART via USB (see below why).
Once you got the dongle, it is easy to plug it in. But the tricky part is to TURN OFF existing broken built-in Bluetooth permanently so it remains off after reboot. After few attempts using private APIs, numerous reboots and studying assembly of Apple's Bluetooth drivers I finally found undocumented NVRAM setting.
Here it is:
sudo nvram SkipIOBluetoothHostControllerUARTTransport=%01
It prevents UART transport based driver from probing the devices, which effectively disables built-in Mac mini Bluetooth that uses UART interface, but leaving USB transport enabled - which makes our USB dongle only one dongle in the system, thus default active one.
If this works for you too, please let me know. Now finally I can enjoy stutter free, butter smooth mouse action for extra $20. I hope you can too.
SIDE NOTES:
The nvram setting above is crucial, anything else will fail to work, e.g.
- Switching active Bluetooth host device via Bluetooth Explorer utility makes it active only until next reboot
- sudo nvram bluetoothHostControllerSwitchBehavior=always well known documented nvram setting - recommended in few places to make USB dongle default (active) Bluetooth host device, works only when you are plugging the dongle in while system is already running. When system is booted with USB dongle already plugged in then (at least here on 10.14.6) built-in dongle remains active. Additionally built-in dongle also often becomes active (again) after computer wake.