Modbus gateway not forwarding device ID after firwmware upgrade

Hello,

we have a use case of modbus gateway where a modbus device is connected to RUT956 via serial connection and it is accessed by a TCP/IP client. This worked fine with firmware RUT9M_R_00.07.08.2.

After upgrade to RUT9M_R_00.07.16.3 (identical configuration), the client application no longer works, because correct device ID is not received via TCP/IP.

I compared both cases using strace.

The relevant part with RUT9M_R_00.07.08.2 (working correctly) looks like this:

recvfrom(6, "\0\0\0\0\0\5\1+\16\1\0", 520, 0, NULL, NULL) = 11
recvfrom(6, 0x7f9d4268, 520, 0, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "\1+\16\1\0pw", 7)             = 7
read(4, "\1+\16\1\1\0\0\3\0\21Morningstar Corp.\1\vSS-MPPT-15L\2\tv01.01.09\31\210", 520) = 53
read(4, 0x77e005d9, 467)                = -1 EAGAIN (Resource temporarily unavailable)
sendto(6, "\0\0\0\0\0003\1+\16\1\1\0\0\3\0\21Morningstar Corp.\1\vSS-MPPT-15L\2\tv01.01.09", 57, 0, NULL, 0) = 57

Eg., the device ID (“Morningstar”, etc.) is received from serial port (read) and forwarded to TCP/IP client (sendto).

In case of RUT9M_R_00.07.16.3, it looks like this:

recvfrom(9, "\0\0\0\0\0\5\1", 7, 0, NULL, NULL) = 7
recvfrom(9, "+\16\1\0", 5, 0, NULL, NULL) = 4
write(8, "\1+\16\1\0pw", 7)             = 7
read(8, "\1+", 2)                       = 2
read(8, "\16", 1)                       = 1
read(8, "\1\1", 2)                      = 2
read(8, "\0\0\3\0\21Morningstar Corp.\1\vSS-MPPT-15L\2\tv01.01.09\31\210", 260) = 48
sendto(9, "\0\0\0\0\0\3\1+\16", 9, 0, NULL, 0) = 9

Device ID is received from serial port, but for some reason it is not forwarded to TCP/IP client.

I’d appreciate any tips for getting this working again, so we wouldn’t be stuck with old firmware.

Hello,

I’ve sent you a form to fill out so we can continue our conversation in private, to avoid accidentally leaking any sensitive information. In the Ticket ID field, simply enter the thread’s number, which is 14983.

Thank you,
M.