I am working on a project that includes the automatic detection of USB and FireWire devices that connect and disconnect from the OS X system. For this device, the system needs to recognize the device when it is connected (no matter which port), and download the package, device-specific, to eliminate it.
The key to this work is obviously the unique identification of each device. I know that USB devices are identified by a combination of identifier identifiers and a product identifier, but this does not provide a unique identifier, but only the “look” of the device. If my two devices are the same and I connect both of them to a computer, I would like to distinguish them somehow. Is there a general and reliable way to do this, possibly using other fields in the USB descriptor?
A related question, how does it work for serial USB ports? Suppose I plug in two serial USB ports of the same make / model. OS X should provide them with unique inodes in the / dev tree. However, suppose he calls them / dev / usbserial 1 and / dev / usbserial2. If I disconnect the ports and connect only one of them, will this port be given the same name as before, or will it just get / dev / usbserial 1 (since it is the only) connected port?
The same question is for FireWire devices, although I think FireWire devices should have a 64-bit GUID. In this case, I'm looking for someone to make sure that using a GUID to identify the FireWire device will be reliable. In other words, if I connected two separate cameras of the same make and model, would I expect them to have different GUIDs?
, , , , - .