Hello,
I’m facing an issue with a custom USB CDC-ACM device after updating to macOS 27. The device sends 4096-byte packets, which were correctly received under macOS 26. Since I need to transfer large amounts of data, 4096 bytes was a good compromise between performance and reliability. However, now any packet larger than 1019 bytes is not received at all. Wireshark confirms that the packets are present on the USB bus, but neither Serial Tool nor my own software can see them.
The device uses the AppleUSBACMData driver (CDC-Data interface, Full Speed USB, with bMaxPacketSize0=64). Fragmenting the incoming data into chunks of 1019 bytes or less works as a temporary fix, but it significantly reduces performance and is not a sustainable solution.
I have three specific questions:
Is there a hardcoded 1019-byte buffer limit in AppleUSBACMData or IOSerialFamily in macOS 27?
Is this a known issue in macOS 27 with CDC-ACM devices?
Should I consider writing a custom driver for my device instead of relying on Apple’s default AppleUSBACMData?
Any help or insights would be greatly appreciated. Thanks!