I changed vendor_id, product_id and devices fields. I see my new vendors for HDMI, USB and Display on my MAC laptop host System menu. All looks ok. But if I run command on host MAC’s terminal:
system_profiler SPUSBDataType
I see my new vendors and: USB Type-C Digital Adapter with Vendor ID 0x343c
This vendor ID is associated with PiKVM. It doesn’t present in public databases, but could be found via search. I need to completely hide the usage of PiKVM on MAC. Could you help?
Maybe it would help us - when I connect USB cable to host, Key Assistance utility appears on MAC with message ‘‘Can not determine the keyboard manufacturer……’'. And I press quit after.
I changed everywhere in yaml - vendor_id: 0x05d5 and product_id: 0x0624, manufacturer: Super Gate Technology. After reboot PiKVM, MAC’s Keyboard Setup Assistant said: Your Super Gate Technology device cannot be identified and will not be usable until it is identified……
And I see Super Gate Technology vendor in MAC’s terminal and: USB Type-C Digital Adapter with Vendor ID 0x343c still presents.
It is not clear to me how MAC determines the vendor. And from where does it get 0x343c.
Vendor can be looked up, there are both online and offline databases.
I’m no Mac expert (on the contrary), but it increasingly looks like this is some sort of a cached value. Rebooting the Mac should start with a clean sheet. Try that, and then plug in your PiKVM.
ok, I set Apple vendor and restart MAC and PiKVM. Keyboard Setup Assistant wasnt appeared and laptop recognized new vendor. But USB Type-C Digital Adapter with Vendor ID 0x343c still presents in terminal.
From documentation: macOS uses I/O Kit to enumerate every IOUSBDevice on the bus and calls into the USB stack to fetch the device’s built-in descriptors. Those include:
Vendor ID (VID) – a 16-bit hex code assigned by the USB-IF to the manufacturer
Product ID (PID) – a 16-bit hex code assigned by the manufacturer to that particular product
Manufacturer string (optional) – human-readable text the device
I/O Kit’s USB driver reads the VID/PID from the device’s USB configuration descriptor.
If VID/PID isn’t in Apple’s list , system_profiler simply prints the hex code without a friendly name.
I found solution:) It’s my fault. I use Type-C ↔ Micro-USB adapter for MAC because MAC doesnt has USB port. That adapter contains its own controller chip and advertises itself first to macOS with VID 0x343c. So, if use Type-C ↔ Type-C passive cable from PiKVM to host without any adapter, everything looks good. Thanks for helping and conversation!