Support for Logitech MX Master Mice

Hi, I’m once again having issues with the Logitech mice. It worked, then I restarted my computer, then it didn’t. It seems VERY intermittent. I feel like before v6.322 restarting BTT and then rescanning would work, now no such luck.

Here's my dump (I replaced ==== with ~~~~ for sake of formatting)

LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOGI LOG: BTT Logitech Debug Information
LOGI LOG: Timestamp: 2026-03-30 12:18:05
LOGI LOG: BTT: (Version: 6.322 | 2026033009)
LOGI LOG: macOS: Version 26.3.1 (a) (Build 25D771280a)
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOGI LOG:
LOGI LOG: Step 1: Stopping Logitech Manager...
LOGI LOG: BTTLogitechManager: Stopping...
LOGI LOG: BTTLogitechManager: No devices to set ONBOARD mode on during shutdown
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4ed10 for deviceIndex 1 (remaining protocols for this device: 5)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 1)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4ed10 for deviceIndex 1 (remaining protocols for this device: 5)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 1)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4ef40 for deviceIndex 2 (remaining protocols for this device: 4)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 2)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4ef40 for deviceIndex 2 (remaining protocols for this device: 4)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 2)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4d2d0 for deviceIndex 3 (remaining protocols for this device: 3)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 3)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4d2d0 for deviceIndex 3 (remaining protocols for this device: 3)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 3)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4c930 for deviceIndex 4 (remaining protocols for this device: 2)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 4)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4c930 for deviceIndex 4 (remaining protocols for this device: 2)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 4)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4c700 for deviceIndex 5 (remaining protocols for this device: 1)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 5)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4c700 for deviceIndex 5 (remaining protocols for this device: 1)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 5)
LOGI LOG: BTTHIDPPProtocol: :cross_mark: Unregistered protocol 0x8a7c4f090 for deviceIndex 6 (remaining protocols for this device: 0)
LOGI LOG: BTTHIDPPProtocol: Last protocol for this device - will unregister callback
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 6)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 6)
LOGI LOG: BTTLogitechManager: Stopped
LOGI LOG: Step 2: Restarting Logitech Manager...
LOGI LOG: BTTLogitechManager: Starting device discovery...
LOGI LOG: BTTLogitechManager: Started successfully
LOGI LOG: Step 3: Calling initializeLogitechMice...
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG:

LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

LOGI LOG: No Logitech HID++ devices found.
LOGI LOG: 
💡 Make sure your device is:
LOGI LOG:    • Connected via USB, Bluetooth, or Unifying Receiver
LOGI LOG:    • Powered on
LOGI LOG:    • Using HID++ 2.0 protocol (most recent Logitech mice/keyboards)
LOGI LOG: Step 4: Waiting 5 seconds for device initialization...
LOGI LOG: BTTLogitechManager: 🔔 handleDeviceMatched called (device=0x8a98f8780)
LOGI LOG: BTTLogitechManager: 🔔 Device info: VID=1133, PID=50503, Name=USB Receiver
LOGI LOG: BTTLogitechManager: Found HID interface - USB Receiver - Interface: 2, Usage Page: 0xFF00, Usage: 0x0001
LOGI LOG: BTTLogitechManager: ✅ Accepted - Vendor-specific HID++ interface (Interface 2)
LOGI LOG: BTTLogitechManager: Device connected - USB Receiver (046d:c547)
LOGI LOG: BTTLogitechManager: 🔌 Receiver detected - setting up for slot enumeration...
LOGI LOG: BTTLogitechManager: ⏭️ Receiver already set up this wake cycle, skipping duplicate setup
LOGI LOG: BTTLogitechManager: 🔔 handleDeviceMatched called (device=0x8a98f8180)
LOGI LOG: BTTLogitechManager: 🔔 Device info: VID=1133, PID=50503, Name=USB Receiver
LOGI LOG: BTTLogitechManager: Found HID interface - USB Receiver - Interface: 1, Usage Page: 0x0001, Usage: 0x0006
LOGI LOG: BTTLogitechManager: ✅ Accepted - Known wired device, interface 1 (HID++ over keyboard interface)
LOGI LOG: BTTLogitechManager: Device connected - USB Receiver (046d:c547)
LOGI LOG: BTTLogitechManager: 🔌 Receiver detected - setting up for slot enumeration...
LOGI LOG: BTTLogitechManager: ⏭️ Receiver already set up this wake cycle, skipping duplicate setup
LOGI LOG: BTTLogitechManager: 🔔 handleDeviceMatched called (device=0x8a98fa400)
LOGI LOG: BTTLogitechManager: 🔔 Device info: VID=1133, PID=50503, Name=USB Receiver
LOGI LOG: BTTLogitechManager: Found HID interface - USB Receiver - Interface: 0, Usage Page: 0x0001, Usage: 0x0002
LOGI LOG: BTTLogitechManager: Skipping interface (Usage Page: 0x0001, Usage: 0x0002, Interface: 0)
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG: 

LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

LOGI LOG: No Logitech HID++ devices found.
LOGI LOG:
:light_bulb: Make sure your device is:
LOGI LOG: • Connected via USB, Bluetooth, or Unifying Receiver
LOGI LOG: • Powered on
LOGI LOG: • Using HID++ 2.0 protocol (most recent Logitech mice/keyboards)
LOGI LOG: BTTLogitechManager: :cross_mark: Device 'G502 X PLUS' not found
LOGI LOG: BTTLogitechManager: :cross_mark: Device 'G502 X PLUS' not found
LOGI LOG: BTTLogitechManager: :warning: Device 'choose' not found for pointer settings
LOGI LOG: BTTLogitechManager: Quick setup for 'choose'...
LOGI LOG: BTTLogitechManager: :hourglass_not_done: Device 'choose' not found yet, queuing setup request for when device becomes ready
LOGI LOG: BTTLogitechManager: :counterclockwise_arrows_button: Replacing 1 existing pending request(s) for device 'choose' with updated settings
LOGI LOG: BTTLogitechManager: :inbox_tray: Queued device setup request for 'choose' (total pending: 1)
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG:

LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

LOGI LOG: No Logitech HID++ devices found.
LOGI LOG: 
💡 Make sure your device is:
LOGI LOG:    • Connected via USB, Bluetooth, or Unifying Receiver
LOGI LOG:    • Powered on
LOGI LOG:    • Using HID++ 2.0 protocol (most recent Logitech mice/keyboards)
LOGI LOG: BTTLogitechManager: ⚠️  Device 'choose' not found for pointer settings
LOGI LOG: BTTLogitechManager: Quick setup for 'choose'...
LOGI LOG: BTTLogitechManager: ⏳ Device 'choose' not found yet, queuing setup request for when device becomes ready
LOGI LOG: BTTLogitechManager: 🔄 Replacing 1 existing pending request(s) for device 'choose' with updated settings
LOGI LOG: BTTLogitechManager: 📥 Queued device setup request for 'choose' (total pending: 1)
LOGI LOG: BTTLogitechManager: Slot 1: no pairing info (empty or error)
LOGI LOG: BTTLogitechManager: Slot 2: no pairing info (empty or error)
LOGI LOG: BTTLogitechManager: Slot 3: no pairing info (empty or error)
LOGI LOG: BTTLogitechManager: Slot 4: no pairing info (empty or error)
LOGI LOG: BTTLogitechManager: Slot 5: no pairing info (empty or error)
LOGI LOG: BTTLogitechManager: Slot 6: no pairing info (empty or error)
LOGI LOG: BTTLogitechManager: pairedDevicesInfo returning 0 devices
LOGI LOG: BTTLogitechManager: firstReceiverProductID (from _receivers) returning 0xC547
LOGI LOG: 
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOGI LOG: Connected Devices Summary:
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOGI LOG:   No Logitech devices detected
LOGI LOG: 
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOGI LOG: G604 Scroll Slot Debug:
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOGI LOG:   No G604 devices found
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOGI LOG: End of Debug Information
LOGI LOG: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

As an example of the intermittence, I updated to v6.325 and then I see my G502 X PLUS like nothing ever happened. I don't know if that update actually addressed anything regarding Logitech mice or just the simple act of updating the software itself (as in not restarting, but literally updating it) resets something "behind the scenes" which then makes the mouse appear.

@erishun In 6.325 I made some small changes based on your log, I hope that resolves the issue you have been seeing

Here's some more interesting data.

I rebooted my computer and it went back to choose with no mice found after a scan. Boo. :frowning:

Updated to 6.326 Alpha and it did NOT fix it as I mentioned it often does. So I decided to try messing with the dongle itself again. It's USB-A so obviously I need to use a dock. But this particular dock has one of those "sharing switcher" buttons to share the devices with 2 computers. I pressed the button to swap it to my PC, then pressed it again to swap it to Mac, hit Scan and it DID find the mouse.

But before we get too excited, I'm not sure if this means the "sharing switch" dock is the culprit OR if toggling the share switch simulated a disconnect/reconnect of the dongle which led to it showing up. Because I have tried just yanking the dongle out and plugging it back in like an old school NES cart with limited success. In the past month, unplugging and replugging the dongle has sometimes fixed it and sometimes not fixed it.

The more logs the better! Maybe there is still something that prevents the receiver from being recognized. It can very well be a quirk with some specific usb setups that I need to handle better.

1 Like

Just an update for my M720 triathlon mouse:

BTT 6.298 (i forget why i had to downgrade to this version but there definitely was a reason :sweat_smile: lol. And I’m afraid to update to latest versions for now at least)

macOS 12.7.6

M720 using USB receiver

Things are much better for the most part. I no longer use SteerMouse alongside BTT. That helped alot. Buttons no longer switch randomly (like… “Scroll Left”/”Button10”). But what really helped was just re-making a bunch of my triggers. I also use to have an issue where “actions” were sometimes not showing up in the column but that seems to be resolved.

My biggest issue right now is still this: On occasion, the mouse speed will increase dramatically for no apparent reason. Sometimes it’s “random” (i.e. i haven’t figured out the reason yet) & sometime it will happen if I turn off the mouse for a while and then turn it back on. I’m guessing it happens bc BTT reconnects to it and applies some kind of settings. I use the default logitech mouse speed settings in BTT (2000 dpi, 500 report rate, 0.5 speed, 10 acc) so idk why it jumps up to what feels like 5000 dpi lol. Sometimes restarting BTT fixes it; sometimes not. Sometimes turning the mouse off/on fixes it; sometimes not. And then I have to go to System Prefs and reapply a mouse Tracking Speed setting just so I can use the mouse again.

So my question is this: is there a reason BTT Logitech configuration HAS to have DPI/speed/acceleration settings? Tbh I just prefer the default macOS mouse speed settings. They already feel perfect to me. Does BTT have to have these settings in order for Logitech support to work? Or can you add a “disable” option so we can just use the default apple settings?

Forgot to do a debug when this happens but I’ll try to remember now :sweat_smile:

Thanks for all your hard work :partying_face:

the speed jumps happen if the mouse goes into it's default mode for some reason (e.g. after disconnecting and reconnecting before BTT is able to set the DPI). It is not really necessary to have the DPI setting, but then you would always need to operate at that default DPI, which is usually not what you'd want.
However this should resolve itself very quickly once BTT initializes the mouse again - if that does not work, logs would be great!