libusb: add warning about macOS use of USB Bluetooth Controller to README

This commit is contained in:
Matthias Ringwald 2019-10-10 11:14:31 +02:00
parent ecb8f2500c
commit 761431063b

View File

@ -16,7 +16,9 @@ When everything is ready, you compile all examples with:
make make
## Environment ## Environment Setup
### Linux
On Linux, the USB Bluetooth dongle is usually not accessible to a regular user. You can either: On Linux, the USB Bluetooth dongle is usually not accessible to a regular user. You can either:
- run the examples as root - run the examples as root
@ -36,6 +38,7 @@ To add an udev rule, please create `/etc/udev/rules.d/btstack.rules` and add thi
# Match Laird BT860 / Cypress Semiconductor CYW20704A2 # Match Laird BT860 / Cypress Semiconductor CYW20704A2
SUBSYSTEM=="usb", ATTRS{idVendor}=="04b4", ATTRS{device}=="f901", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="04b4", ATTRS{device}=="f901", MODE="0666"
### macOS
On macOS, the OS will try to use a plugged-in Bluetooth Controller if one is available. On macOS, the OS will try to use a plugged-in Bluetooth Controller if one is available.
It's best to to tell the OS to always use the internal Bluetooth Contoller. It's best to to tell the OS to always use the internal Bluetooth Contoller.
@ -46,6 +49,15 @@ For this, execute:
and then reboot to activate the change. and then reboot to activate the change.
Note: if you get this error,
libusb: warning [darwin_open] USBDeviceOpen: another process has device opened for exclusive access
libusb: error [darwin_reset_device] ResetDevice: device not opened for exclusive access
and you didn't start another instance and you didn't assign the USB Controller to a virtual machine,
macOS uses the plugged-in Bluetooth Controller. Please configure NVRAM as explained and try again after a reboot.
## Running the examples ## Running the examples
BTstack's HCI USB transport will try to find a suitable Bluetooth module and use it. BTstack's HCI USB transport will try to find a suitable Bluetooth module and use it.