After a bunch of trial and error I have just succeeded in getting full EX-LINK serial control working on my 2019 Samsung Q70R 55". Here are some notes which would have saved me a lot of time in case they are helpful to anyone else. A key point here is that the correct settings are different depending on whether you are using a traditional 3.5mm-DB9 Serial EX-LINK adapter or a USB-EX-LINK adapter (or, in other words, if you're plugging into the 3.5mm EX-LINK jack or the USB port on the TV).
- EX-LINK was enabled out of the box on my 2019 Q70R 55" (RS-232 Jack was set to UART and EXT Link Support was ON). I think I did need to turn off AnyNet+ (HDMI-CEC) in the regular TV Settings menu.
- I did end up doing a firmware update as part of my troubleshooting, but I'm not sure it was necessary.
- I did not agree to the terms and conditions and left the "smart" features disabled, so this is not a requirement.
- as Duct Tape mentions, on this 2019 TV at least, there is no need to enter the service menu to get EX-LINK to work as long as you are using an actual 3.5mm to DB9 EX-LINK cable. On the other hand, if you are using a USB to EX-LINK adapter (plugged into the USB port on your TV) you will need to enable the USB SERIAL option in the service menu.
- If you are using an actual 3.5mm to DB9 cable, 9600 Baud,8,N,1 worked for me. My understanding (although I haven't tested it) is that with a USB to EX-LINK adapter you can bump it to 115200 Baud,8,N,1. In both cases no flow control is used.
- If you do turn USB SERIAL on, the TV will no longer respond to commands on the 3.5mm EX-LINK jack. It’s one or the other (3.5mm or USB).
- If you do need to enter the TV service menu, you will need a Samsung or compatible remote control with actual number buttons (the one that came with my TV was one of the new D-pad only versions). I bought this cheap one on Amazon and it did the trick:
[Link: amazon.ca]- To enter the TV service menu, with the TV power off, rapidly press MUTE, 1, 8, 2, POWER on the remote.
- as bpmartin20 mentions, Hotel/Hospitality mode must be off, otherwise the only serial command the TV recognizes will be POWER ON. It is initially off for a new TV, so you shouldn't have to change it.
- If you do want to enter the hotel/hospitality menu, with the TV power on, quickly press MUTE, 1, 1, 9, ENTER on the remote.
- I doubt this will apply to anyone else, but the problem I personally ran into was that the serial cable I was using from a previous installation was already wired as a null modem cable, which I didn't realize. The EX-LINK serial cable is NOT a null modem configuration, so I needed to reverse pins 2 and 3 in the 3.5mm to DB9 adapter I soldered together.
- Another thing which probably won't apply to anyone else: I am using C# to send the hex code sequence to the TV. I was (incorrectly) assuming that the SerialPort.Write(String) function would send the literal bytes in the string. But because that function uses AsciiEncoding to interpret the string (
[Link: docs.microsoft.com]) it was necessary to use the SerialPort.Write(Byte[], Int32, Int32) function instead.
Thanks again to Duct Tape, bpmartin20 and everyone else in this thread working together to help each other out.