Skip to content

HID error on macOS 13.3 #281

Description

@oscarsommerer

Description

Ever since updating to macOS Ventura 13.3 a few days ago headsetcontrol has stopped working for me. I'm getting some very generic sound error messages, eg:

$ headsetcontrol -b
Found Corsair Headset Device!
Requested/supported HID device not found or system error.
 HID Error: Success

I'm not really sure how to debug this further, so any input is appreciated 😄

Headset Name

Corsair VOID PRO Wireless

On which OS does the problem happen?

MacOS

Device information

Detailed Device Information
Device Found
 VendorID: 0x1b1c
ProductID: 0x0a1a
 path: DevSrvsID:4294980423
 serial_number:
 Manufacturer: Corsair
 Product:      Corsair VOID PRO Wireless Gaming Headset
 Interface:    0
 Usage-Page: 0xc Usageid: 0x1

Device Found
 VendorID: 0x1b1c
ProductID: 0x0a1a
 path: DevSrvsID:4294980423
 serial_number:
 Manufacturer: Corsair
 Product:      Corsair VOID PRO Wireless Gaming Headset
 Interface:    0
 Usage-Page: 0xffc5 Usageid: 0x1

Device Found
 VendorID: 0x1b1c
ProductID: 0x0a1a
 path: DevSrvsID:4294980423
 serial_number:
 Manufacturer: Corsair
 Product:      Corsair VOID PRO Wireless Gaming Headset
 Interface:    0
 Usage-Page: 0xff00 Usageid: 0x1

Activity

  1. Sapd commented on Mar 31, 2023

    @Sapd
    Owner

    I verified it, and its a bit weird. Seems that with the new Mac update the interface id changed (to 0), while on a Linux VM it is still 3. So I simply changed it to 0 in the latest master which means that simply the first interface will be used.

  2. oscarsommerer commented on Mar 31, 2023

    @oscarsommerer
    Author

    Ha! Interesting development.

    I've installed the latest version and can confirm it started working again. Thanks for the quick fix! 😄

  3. elaw-fastly commented on Apr 26, 2023

    @elaw-fastly

    Same issue applies to SteelSeries Arctis 7 on macOS 13.3.1
    changing .interface = 0x05 to 0x00 fixed it.

    I found someone referencing the issue here: https://developer.apple.com/forums/thread/728001

  4. Sapd commented on Apr 27, 2023

    @Sapd
    Owner

    Same issue applies to SteelSeries Arctis 7 on macOS 13.3.1 changing .interface = 0x05 to 0x00 fixed it.

    I found someone referencing the issue here: https://developer.apple.com/forums/thread/728001

    That could be indeed an Apple bug. Maybe it also makes sense to create an issue at the libusb/hidapi repo, so that they also can check.

    In theory we can also simply set interfaceid to 0 for all devices which only use one.

  5. Sapd commented on Apr 30, 2023

    @Sapd
    Owner

    I thought about it again, and I think the best way to fix it, is to change this function:

    char* get_hid_path(uint16_t vid, uint16_t pid, int iid, uint16_t usagepageid, uint16_t usageid)

    and set iid to 0 for macos. Will reopen the issue until it is done

  6. reopened this on Apr 30, 2023
  7. Sapd commented on May 19, 2024

    @Sapd
    Owner

    WIll keep the code-as is, but for further reference should an issue arise:

    Fixed here in HIDAPI: libusb/hidapi#534
    Seems like an undocumented property was used, and Apple removed that during an update: libusb/hidapi#531

  8. added a commit that references this issue on May 31, 2024
    5d7c73a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions