Commit Graph

11 Commits (6783d72a4a865043d58c1eda334f21f1a8ed1197)

Author SHA1 Message Date
Gowtham Nanjukutty (XC-CP/ECC2.3) 0c9f1c5f3e darwin: fix CDCACM device detection on macOS 12+
On macOS 12 and later, Apple replaced IOUSBDevice with IOUSBHostDevice
in the USB host stack. When walking the IORegistry parent chain to find
the USB device providing a serial port, the existing code only checked
IOObjectConformsTo(parent, kIOUSBDeviceClassName). On macOS 12+, this
check fails because the USB device node conforms to IOUSBHostDevice
instead.

Fix by also checking IOObjectConformsTo(parent, "IOUSBHostDevice"),
so CDCACM device discovery works on both old and new macOS.

Verified on macOS 26 (Tahoe, arm64) with a ValueCAN 4-2 (V2D805).
2026-05-22 09:12:58 -04:00
Paul Hollinsky 407ccccedd Drivers: Ensure serial numbers are uppercase
This prevents mismatches if the device sends a lowercase
serial number, which may happen due to an oversight in
production.
2022-05-28 14:41:41 -04:00
Paul Hollinsky 781fc2c034 Drivers: Decouple from devices
This allows us to better implement alternative drivers
for devices, such as for device sharing servers or
talking to CoreMini processors within the same device.
2022-03-27 14:30:31 -04:00
Paul Hollinsky 78e3eb18df Drivers: Rename STM32 to CDC ACM
This is much more descriptive of what the driver actually is
2021-05-04 22:37:16 -04:00
Paul Hollinsky 92790330f1 macOS: STM32: Fix device finding for newer versions of the OS 2021-03-22 16:07:51 -04:00
Paul Hollinsky ef34959c91 STM32 device finder for Darwin 2020-02-14 23:18:34 -05:00
Paul Hollinsky 8e6b0d0b0e Refactor for a central include directory 2018-10-22 11:52:34 -04:00
Paul Hollinsky 399c72e61d Resolve merge conflicts master into devicesettings 2018-09-26 18:24:59 -04:00
Paul Hollinsky b0f5ad0f7f Refactor icsneoc to icsneo_functionName to avoid conflicts with legacy 2018-09-26 16:38:28 -04:00
Paul Hollinsky b634e6a443 Point macOS version towards the right dylib
This is super temporary

Eventually we'll decide where the library will go
2018-09-24 18:16:08 -04:00
Paul Hollinsky ef8d764aa6 Move platforms around, most of POSIX will be common implementation 2018-09-20 14:40:24 -04:00