Skip to content

[Bug] Wireless USB mouse freezes on app launch #370

Description

@ideaweb

What happens

Launching WhatCable freezes my wireless USB mouse. The receiver stays enumerated in ioreg (it is not disconnected) — the pointer just stops responding.

Cause

On launch, USBWatcher runs BillboardDescriptorReader against every USB device, including plain HID receivers. The reader opens a USB device user client (and on the no-BOS path even calls USBDeviceOpen) just to read a Billboard descriptor that input devices don't have. On a mouse/keyboard receiver this knocks the kernel HID driver off the device.

Evidence

The frozen device is a plain HID device (bDeviceClass 0), not a Billboard device (0x11), and stays enumerated the whole time:

+-o Wireless Mouse@20114000  <class IOUSBHostDevice, registered, matched, active>
      "bDeviceClass" = 0          # HID, NOT Billboard (0x11)
      "USB Product Name" = "Wireless Mouse"

ioreg device tree is identical before and after launch → no disconnect; the HID driver just loses its grab.

Note: a wired USB keyboard on the same machine is probed the same way but is unaffected; only the 2.4 GHz wireless mouse receiver freezes — likely because its RF report pipe doesn't re-arm after the kernel HID driver is bumped off.

Mac model

MacStudio M4 Max

macOS version

26.5.1 (25F80)

WhatCable version

1.1.2

Cable

USB 1.1 2.4 GHz receiver for Cherry wireless mouse

What's plugged into the other end?

Cherry wireless mouse

whatcable --json --raw output

{
  "isDesktopMac" : true,
  "version" : "1.1.2",
  "otherUSBDevices" : {
    "behindPort" : "Port-USB-C@1",
    "devices" : [
      {
        "name" : "Vulcan TKL",
        "vendorName" : "Turtle Beach",
        "vendorID" : 4341,
        "productID" : 20515,
        "speed" : "Full Speed (12 Mbps)",
        "note" : "wired keyboard, USB 2.0 (bcdUSB 0x0200) — probed the same way, NOT affected"
      },
      {
        "name" : "Wireless Mouse",
        "vendorName" : "CHERRY",
        "vendorID" : 1130,
        "productID" : 41095,
        "speed" : "Full Speed (12 Mbps)",
        "note" : "2.4 GHz wireless receiver, USB 1.1 (bcdUSB 0x0110), bDeviceClass 0 (HID) — freezes on launch"
      }
    ]
  }
}

System Information cross-check (optional)

No response

How often does this happen?

Every time

Anything else

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions