I am recently attempting to program STM32 microcontrollers under macOS, and I used my CMSIS-DAP compatible interface to flash the microcontroller.
Normally an CMSIS-DAP interface would appear as a USB composite device: it contains an HID device which is used to access the debug port on STM32, and another one as USB CDC ACM serial port (from which you can access a physical serial port on the interface).
Under macOS, CDC serial ports are supposed to be recognized as
Of course I didn't like what macOS did so I tried deleting the device from Network tab and chose "No" when it asks me whether I want it to reappear next time I plug it in, hoping it would let me access the raw serial port device when network services is not trying to occupy it, and it did not. Serial port devices still doesn't show up. Later it turns out Apple left no way to undo that so I can't restore my computer to how it behaved in the beginning.
From the
/dev/tty.usbmodemXXX
, but it wouldn't appear on my Mac at all. Later I would find out it was actually recognized as a dial up modem (in Network tab of system preferences):

ioreg
output (after I deleted it from Network and did a bit more research on how to show macOS device hierachy) I can see CDC ACM driver is picking up the CDC serial port part of the composite device but apparently IOSerialBSDClient
is not present, meaning serial port is of course not available.
| | | | | +-o USB2.1 Hub@00100000
| | | | | +-o AppleUSB20Hub@00100000
| | | | | | +-o AppleUSB20HubPort@00110000
| | | | | | +-o AppleUSB20HubPort@00120000
| | | | | | | +-o CMSIS-DAP@00120000
| | | | | | | +-o AppleUSBCDCCompositeDevice
| | | | | | | +-o IOUSBHostInterface@0
| | | | | | | | +-o AppleUserUSBHostHIDDevice
| | | | | | | | +-o IOHIDInterface
| | | | | | | +-o IOUSBHostInterface@1
| | | | | | | | +-o AppleUSBACMControl
| | | | | | | +-o IOUSBHostInterface@2
| | | | | | | +-o Android File Tra
| | | | | | | +-o Android File Tra
The problem here is:
1. Will I be able to **make** macOS stop using a dialup modem driver in my system, and just let CDC ACM serial ports be TTY serial ports? Or force it use serial port driver for this device?
2. How do I let the modem driver pick it up again (i.e. just undo the delete)? I already tried everything in [an earlier post](https://apple.stackexchange.com/questions/454378/how-you-bring-back-a-network-interface-after-choosing-no-to-would-you-like-usb) and it would not work.
(The CMSIS-DAP interface's flashing ability is totally fine. Just missing the virtual serial port device from macOS. It would work under my Windows computer and even in Asahi Linux)
Asked by RigoLigoRLC
(1 rep)
Sep 10, 2023, 05:39 PM
Last activity: Jun 5, 2025, 09:01 PM
Last activity: Jun 5, 2025, 09:01 PM