feat(transport): implement macOS USB discovery using IOKit#39
feat(transport): implement macOS USB discovery using IOKit#39skot wants to merge 1 commit into256foundation:mainfrom
Conversation
- Add core-foundation, io-kit-sys, mach2 dependencies for macOS - Implement MacOsIoKitDiscovery with device enumeration via IORegistry - Support hotplug notifications using CFRunLoop and IOKit callbacks - Map USB devices to /dev/cu.* serial ports by location ID - Update README to reflect macOS is now supported
|
tested with a bitaxe-raw bitaxeGamma from MacOS and seems to be working. |
|
Tested on macOS with a BitAxe Gamma 602 connected via USB-C. The device was detected correctly and communication through Mujina worked as expected. |
|
Tested on: Mac mini (Apple M-series, macOS 26.2) with a Bitaxe Gamma (BM1370, AxeOS v2.13.0) connected via USB. Build: Clean. No new errors or warnings introduced by this PR. Hardware verification: The Bitaxe enumerates in IORegistry under IOUSBHostDevice (VID 0x303A / Espressif) with an associated IOSerialBSDClient at /dev/cu.usbmodem*. This is exactly the class and serial port path the PR targets. Issues found:
After flashing bitaxe-raw (esp-hal-update branch) onto the Bitaxe, re-ran the same discovery tests. The firmware presents a different USB descriptor than AxeOS: |
Summary
Validation