I'm trying to read the active audio channels from my (Audio/Video) pre-amplifier, which comes with an external interface (the Tag Mclaren TMA-1) that has 2 RS-232 ports. I can talk to it flawlessly with my good of DEC VT420 or a FTDI USB<>RS232 adapter, but not with my Arduino Mega. To simplify testing, I have just wired 2 MAX232 modules (similar to RS232/TTL Wandler mit MAX3232 online kaufen | Pollin.de) to serial and serial3, spliced that between the FTDI USB thing and the TMA-1, and installed the https://www.arduino.cc/en/Tutorial/BuiltInExamples/SerialPassthrough example (with Serial1 replaced with Serial3).
I can successfully send commands (otherwise no response would be sent), but the responses are always corrupted. I get similar corruption with a Philips Pronto RFX9600, but not with the FTDI or the VT420. There are minor variations to the corrupt data, but it is largely always the same. What I'm sending is
TMA AVP 1 STATUS\n
and I expect a response like
AVP: AUDIO:DAB Tuner VIDEO:DVD-S PROC:DIRECT VOL:-27.5dB LFE:+0.0dB BAL LR:L0.0dB BAL FR:F0.0dB CHAN:L/-/R/-/-/-/-/- FREQ:--.- TAPE:N FULL:N NIGHT:N ZONE:1
instead I see a response that contains characters > 128 as shown in corrupt.png. It doesn't matter which port I use to send or receive. The signal the TMA-1 is sending looks OK to me, comparing the output of the Arduino or VT420 and the TMA-1 doesn't show any obvious problems - there's a bit of ripple, but it's tiny compared to the overall voltage swing, the rise and fall times are almost identical.
All interfaces are configured 9600 8N1 in both directions. I get no corruption at all if I just replace the TMA-1 with a short of pins 2 and 3.
Are there any "advanced" options for the Arduino serial ports that might change its behavior regarding possibly not quite spec-compliant signals? Or any hints what I should look for with the scope to determine what exactly is confusing the Arduino (but not the VT420 or the FTDI)?