First, Untangle Sony's Four Protocols
Sony ships more control protocols than any other projector brand, and picking the wrong one accounts for most of the confusion:
| Protocol | Transport | Use it for |
|---|---|---|
| ADCP | Serial (RS-232) and IP | This is the one for RS-232 control |
| SDCP / PJ Talk | IP only | Network control, binary protocol |
| SDAP | IP only | Autodiscovery — announces projectors on the network |
| PJLink | IP only | Cross-brand basics |
For a serial cable, you want ADCP. It is text-based, human-readable, and you can drive it from a terminal.
There is one important exception: some older and consumer-line Sony projectors use a binary hex protocol instead of ADCP. If your model's manual shows tables of hex bytes rather than words like power, you are on the binary family and none of the syntax below applies. Check which family you have before you spend an afternoon on it.
Serial Settings — The One That Catches Everyone
| Parameter | Value |
|---|---|
| Baud rate | 38400 |
| Data bits | 8 |
| Parity | Even |
| Stop bits | 1 |
| Flow control | None |
Read that parity row again. Essentially every other AV device you will meet — Epson, Panasonic, Samsung, most matrices — runs 9600/8/None/1. Sony runs 38400/8/Even/1.
This is the single most common reason a Sony refuses to talk. Your cable is fine, your command is fine, and your terminal is set to the settings that worked on the last three projectors you commissioned. With the wrong parity you get either silence or garbage bytes, and nothing in the symptom points at parity.
If a Sony is unresponsive, set 38400 8 E 1 before you investigate anything else.
Command Format: Mind the Quotes
ADCP commands are lower-case words, and parameters are wrapped in double quotes:
power "on"
power "off"The quotes are part of the protocol, not documentation notation. power on without them is not a valid ADCP command.
The line is terminated with CR + LF:
power "on"<CR><LF>That is: power, space, "on", carriage return, line feed. Most terminal programs can append CR+LF automatically — check that setting rather than typing the escapes by hand.
Terminator caveat from the field: at least one documented case had power "on" with a bare \r returning err_cmd, and switching to \n fixed it. Behaviour varies across model generations. If you are getting err_cmd on a command you are confident about, try the other terminator before assuming the command is wrong.
Authentication
ADCP has an authentication step, and the setting defaults to ON. Over IP you may need to handle it explicitly.
Over a serial connection the function is always ON regardless of the setting — but because a serial cable is inherently point-to-point, this does not require you to do anything extra. It matters only when you move the same commands to IP and suddenly need credentials that the serial path never asked for. That transition is a common surprise.
Command Reference
The ADCP vocabulary reads like plain English. The most used:
| Command | Purpose |
|---|---|
power "on" | Power on |
power "off" | Power off |
power ? | Query power state |
input "hdmi1" | Select input |
input ? | Query current input |
blank "on" / blank "off" | Picture muting |
aspect "..." | Aspect ratio |
picture_mode "..." | Picture preset |
error_status ? | Error state |
Model coverage varies. Sony publishes two separate documents: a Protocol Manual (Common) describing the syntax, and a Protocol Manual (Supported Command List) stating which commands each model actually implements. A command being valid ADCP does not mean your projector implements it — that is what err_cmd is often telling you.
Input names are strings ("hdmi1", "input_a" and so on) and differ across model families. As with every brand, the reliable commissioning method is: switch the input by hand, then send input ? and record exactly what comes back.
What err_cmd Actually Means
err_cmd looks like a failure, and in a sense it is — but it is the most useful failure you can get.
Receiving err_cmd proves:
- the cable is correct
- the baud rate and parity are correct
- the projector is powered enough to parse input
- your framing reached the parser intact
In other words, everything below the command layer is working. The problem is narrowed to the command string itself: wrong word, missing quotes, wrong terminator, or a command this model does not support.
A projector that returns err_cmd is far closer to working than one that returns nothing. If you are debugging and you see it, stop checking hardware and start checking syntax.
Why Your Sony Command Gets No Response
In order of likelihood:
1. Parity is set to None. It must be Even. See above — this is the Sony-specific one.
2. Baud rate is 9600. It is 38400 on ADCP models.
3. The parameter is missing its quotes. power on is not power "on".
4. Wrong terminator for this model generation. Try \n if \r returns err_cmd, and vice versa.
5. You are on a binary-protocol model. Older and consumer lines do not speak ADCP at all. Check the manual for hex tables.
6. Straight-through instead of null-modem cable. RXD on pin 2, TXD on pin 3, GND on pin 5 — the same three-wire crossover as every other brand.
7. Standby power mode. As with all projectors, low-power standby can disable the control interface, producing the signature symptom of every command works while it is on, and power-on never works.
ADCP over IP
Because ADCP runs over both serial and IP, the strings you validate on a cable transfer directly to the network — the same convenience Epson offers. This is usually the right end state for an installation: commission over serial where you can see everything, then move to IP for the permanent run.
If the hall has projectors from several manufacturers, PJLink gives you one command set for power, input and mute across all of them, and you drop to ADCP only for the Sony-specific features.
With SoftControl
SoftControl handles Sony over serial or TCP, with parity configurable per device — so the 38400/8/Even/1 requirement is a field on the device, not something you have to remember. The command tester shows the exact bytes sent and the raw reply, so err_cmd arrives as visible text rather than being swallowed as a generic failure.
See the projector control guide for the cross-brand picture, or the serial communication guide for RS-232 fundamentals including parity.