Samsung EX-Link driver will control a compatible Samsung display via One-Way RS-232. The Samsung EX Link driver will track variables as they are changed but it has no way of knowing, when first powered up, what the current state of the Samsung display is. THIS INCLUDES THE VOLUME COMMANDS! Aug 22, 2001 Samsung RS232 Codes (Ex-Link) All codes sent are in HEX format. (Sending the below commands as ASCII characters will not work, codes muse be sent as HEX) Command. Code (HEX) Alternate HEX Representation. 08 22 00 00 00 02 D4. X08 x22 x00 x00 x00 x02 xD4. Basically I have created a LUA script to control the Samsung TV’s over IP. I can Send THe KEY CODES to the set with no problem! My problem is that i want to go a bit further and do the folowing. Send a command to the TV that opens the Web Browser, or the Photos APP, or even BBC IPLAYER. Mar 29, 2019 Contact Samsung 101 Terms & Conditions 101 Reset All 101 Troubleshooting Guide Requirements Before Contacting Samsung Customer Service Centre 102 Testing the Product 102 Checking the Resolution and Frequency 102 Check the followings. 103 Appendix Responsibility for the Pay Service (Cost to Customers) 109 Not a product defect 109.
It happens, that I get my new 32″ Samsung TV – model LE32D550. Like most of new Samsung TV’s (if not everyone) it could be connected into the LAN. Of course, one of the first thing I do when the network cable was connected was port-scan.
55000 is used for remote control over network. There is application for iPhone and Android smartphones (unfortunately only these created by Samsung) to control TV through WiFi. I did some research, and now I understand the protocol quite well.
When connection on port 55000 is established, remote control must be authenticated. It sends datagram.
And the meaning of this bytes.
I don’t know the meaning of the string above, my TV is accepting any string in here, but I suggest to use this particular one just for compatibility reason.
Payload starts with 2 bytes: 0x64 and 0x00, then comes 3 strings encoded with base64 algorithm. Every string is preceded by 2-bytes field containing encoded string length. These three strings are as follow:
- remote control device IP,
- unique ID – value to distinguish controllers,
- name – it will be displayed as controller name.
TV reply us giving following datagram:
It means:
MP2 TV Setup Help (1 Viewer)
String content is always iapp.samsung or iphone.livingroom.iapp.samsung. Meaning of these strings is unclear, I suggest to not compare it with any specific value during response parsing (maybe other devices using another values).
Payload is one of the following:
Samsung Rs232 Codes (ex-link)
- 0x64, 0x00, 0x01, 0x00 – access granted, you can now send key codes and it will be executed by TV,
- 0x64, 0x00, 0x00, 0x00 – access denied – user rejected your network remote controller,
- 0x0A, 0x00, 0x02, 0x00, 0x00, 0x00 – waiting for user to grant or deny access for your app,
- 0x65, 0x00 – timeout or cancelled by user.
Now you can send simple datagrams containing key codes.
It means:
And the payload is:
Samsung TV IR Codes (1 Viewer)
TV response will be similar to authentication response, but with different payload data. I will not describe this data detailed because I wasn’t investigated it much.
Key codes list is published in SamyGO wiki: http://wiki.samygo.tv/index.php5/D-Series_Key_Codes
Useful information can be found also in SamyGO Android Remote sources.
Benoit Dumasin created easy to use C++ class (using QT library) able to control Samsung TV: https://github.com/Bntdumas/SamsungIPRemote (he also provided an example QT widget).
Here is Wireshark protocol dissector create by Konstantin Salikhov (Koka58).