M1-Macbook needs to restart to recognize USB-HID device.

We developed a C++ application to control our HID USB device, and it seems that the first time we connect our HID USB device to a brand new M1 Macbook, our application cannot detect this device, and we need to restart Macbook to recognize the device. After then, everything is working fine, we can unplug and plug the USB device without restarting Macbook for our application to detect this device.

Here is our theory on why a restart is needed to "bootstrap" the device detection: M1 Macbook doesn't come with HID driver included, so the first time a HID device is connected, M1 Macbook need to install HID driver in the background to make it work. -- Can someone confirm this? Or maybe there are other reasons for the need to restart?

We are using IOHIDManager from IOKit for the HID operations.

Thanks!

M1-Macbook needs to restart to recognize USB-HID device.
 
 
Q