I have a device which supports a USB Virtual COM port. When the device is connected and the serial port is configured to use 115200-8-N-1, I have no problem using minicom, screen, etc. to communicate with my device. However, when I configure the device to use 1.5Mbaud instead, Darwin refuses to operate the interface at 1.5Mbaud. I tested the device on Debian using minicom at 1500000-8-N-1 to confirm that the device is operating correctly.
First, it appears that stty
does not allow the user to set the baud rate to 1.5Mbaud.
stty -f /dev/tty.usbmodemXXXX 115200
Succeeds, while
stty -f /dev/tty.usbmodemXXXX 1500000
Fails with stty: tcsetattr: Invalid argument
and nothing more. I have seen this question, but I don't seem to be having this issue, and trying all of the answers provided only causes stty
to hang without successfully changing the baud rate.
It gets better. When I run minicom, which supposedly initializes the interface to use 1500000-8-N-1 (the configuration in my .minirc.dfl), I have confirmed from the device side that the interface is not running at 1.5Mbaud, but at some baud rate that's much lower instead (haven't confirmed what the exact speed is).
I'm really stuck on this one. The strange behavior seems to suggest a driver problem, and I've heard that Apple's com.apple.driver.usb.cdc.acm
driver is still not fully-featured. Might this be the issue? Thanks for your help!