MSOM Unable To Communicate At 115200 Baud

I am using this MODBUS library on an MSOM running deviceOS 6.2.1:

I am able to use the library to successfully send and receive data on Serial1 at various slower baud rates (i.e. baud rates lower than 115200). However, at 115200 and above, my peripheral device stops communicating with the MSOM properly. At first, I thought this must be a limitation of the peripheral device. However, after using an oscilloscope to look at the signals, I see that the request sent from the Particle MSOM is only successfully sent at baud rates below 115200. At 115200 and above, I see data coming across, but it is neither the correct data nor the same length as the correct data (though it is close to the same length).

The documentation for the MSOM says that it can support the following baud rates: 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200, 128000, 153600, 230400, 380400, 460800, 500000, 921600, 1000000, 1382400, 1444400, 1500000, 1843200, 2000000, 2100000, 2764800, 3000000, 3250000, 3692300, 3750000, 4000000, 6000000

So why can't I send data at 115200? Is it a bug in the device OS? A limitation of the ModbusMaster Library? How can I fix/work around this? Thanks in advance for the help!

It’s probably noise on the lines that’s creating problems.
Can you post the traces? How long are the wires? Do you have termination resistors in series?


As you can see, the 9600 baud (first photo) results in a proper MODBUS Poll request to my peripheral device. The 115200 baud attempt (second photo) does not. Even my scope can't decode it. I'm using a 10 meter cable. Other than the baud rate change, the code is the same between the two so I would expect the MODBUS requests to match when the scope decodes it. Yes, I changed the baud rate on the scope as well.

Can you please try 6.3.3 and a shorter cable if possible?
I just want to rule out both options before I speculate further.