mirror of
git://sigrok.org/libserialport
synced 2023-08-10 21:13:24 +03:00
macosx: Fix port listing on ElCapitan.
On OSX 10.11 (ElCapitan) the query for IOProviderClass fails to list ACM devices as USB. Add a fallback query using IOClass to correctly recognize these devices. The fix has no effect on previous OSX versions (tested on Mavericks)
This commit is contained in:
parent
8062087ab3
commit
aacba60dca
11
macosx.c
11
macosx.c
@ -63,6 +63,17 @@ SP_PRIV enum sp_return get_port_details(struct sp_port *port)
|
||||
DEBUG_FMT("Found port %s", path);
|
||||
|
||||
IORegistryEntryGetParentEntry(ioport, kIOServicePlane, &ioparent);
|
||||
if ((cf_property=IORegistryEntrySearchCFProperty(ioparent,kIOServicePlane,
|
||||
CFSTR("IOClass"), kCFAllocatorDefault,
|
||||
kIORegistryIterateRecursively | kIORegistryIterateParents))) {
|
||||
if (CFStringGetCString(cf_property, class, sizeof(class),
|
||||
kCFStringEncodingASCII) &&
|
||||
strstr(class, "USB")) {
|
||||
DEBUG("Found USB class device");
|
||||
port->transport = SP_TRANSPORT_USB;
|
||||
}
|
||||
CFRelease(cf_property);
|
||||
}
|
||||
if ((cf_property=IORegistryEntrySearchCFProperty(ioparent,kIOServicePlane,
|
||||
CFSTR("IOProviderClass"), kCFAllocatorDefault,
|
||||
kIORegistryIterateRecursively | kIORegistryIterateParents))) {
|
||||
|
Loading…
Reference in New Issue
Block a user