Я пытаюсь определить конкретное устройство USB на машине OSX. Устройство представляет собой устройство arduino с небольшим измененным драйвером и собственным PID и VID.Сопоставление между /dev/tty.usbmodemXXXX и идентификатором местоположения
Я могу перечислить устройства с помощью команды Баш "system_profiler SPUSBDataType":
Powerbrain :
Product ID: 0x4243
Vendor ID: 0x2bfd
Version: 1.00
Speed: Up to 12 Mb/sec
Manufacturer: Kinematics
Location ID: 0x14200000/27
Current Available (mA): 1000
Current Required (mA): 500
Extra Operating Current (mA): 0
Я также могу перечислить устройства с помощью команды Баш "ioreg -p IOUSB -l -b":
Powerbrain @14200000 <class AppleUSBDevice, id 0x100000d1b, registered, matched, active, busy 0 (8 ms), retain 15>
{
"sessionID" = 34690005456990
"iManufacturer" = 1
"bNumConfigurations" = 1
"idProduct" = 16963
"bcdDevice" = 256
"Bus Power Available" = 500
"USB Address" = 27
"bMaxPacketSize0" = 64
"iProduct" = 2
"iSerialNumber" = 0
"bDeviceClass" = 2
"Built-In" = No
"locationID" = 337641472
"bDeviceSubClass" = 0
"bcdUSB" = 512
"USB Product Name" = "Powerbrain "
"PortNum" = 2
"non-removable" = "no"
"IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
"bDeviceProtocol" = 0
"IOUserClientClass" = "IOUSBDeviceUserClientV2"
"IOPowerManagement" = {"DevicePowerState"=0,"CurrentPowerState"=3,"CapabilityFlags"=65536,"MaxPowerState"=4,"DriverPowerState"=3}
"Device Speed" = 1
"USB Vendor Name" = "Kinematics "
"idVendor" = 11261
"IOGeneralInterest" = "IOCommand is not serializable"
"IOClassNameOverride" = "IOUSBDevice"
}
Я также могу увидеть название порта «/dev/tty.usbmodem1421» и общаюсь с ним.
Проблема: «Как установить идентификационный номер« 0x14200000/27 »на страницу« usbmodem1421 »?
Если бы у вас был другой способ архивирования с использованием Mono C#/Xcode, пожалуйста, дайте мне знать.