On OSX it is impossible to set baud rates higher than standard using tcsetattr. Attempting to do so will throw an EINVAL error.
However, it is possible to set arbitrary baud rates using ioctl call.
Example can be found here
This PR attaches ioctl and in case of undefined baud rate on OSX attempts to set speed using that call.
The only caveat here is that I have been unable to write tests for it due to pty's opened by socat not supporting setting speed at all. ioctl throws ENOTTY when attempted.
On real hardware it works well though (needed these changes for my arduino project). Not sure what we can do about it.
On OSX it is impossible to set baud rates higher than standard using
tcsetattr
. Attempting to do so will throw anEINVAL
error. However, it is possible to set arbitrary baud rates usingioctl
call. Example can be found hereThis PR attaches ioctl and in case of undefined baud rate on OSX attempts to set speed using that call. The only caveat here is that I have been unable to write tests for it due to pty's opened by socat not supporting setting speed at all. ioctl throws ENOTTY when attempted. On real hardware it works well though (needed these changes for my arduino project). Not sure what we can do about it.