Summary
The Aurora DXM 1616 G4 is a 16×16 HDMI/HDBaseT matrix switcher with RS-232C and TCP/IP (Telnet/socket server) control. This spec covers the ASCII command protocol (! command, ? query, ~ response, <CR> = 0x0D) documented in the vendor Operation Guide, including video/audio routing, scene management, EDID control, HDCP, per-card power, UART routing, network configuration, and HDBT card passthrough. Commands are identical over the RS-232 and TCP/IP transports.
Transport
protocols:
- tcp
- serial
addressing:
port: 1001 # socket server port (Telnet-style command channel); source: "Default IP: 192.168.88.229 Port 1001"
serial:
baud_rate: 115200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # source: "Default RS232: 115200 8N1 None"
auth:
type: none # inferred: no login procedure documented for the TCP socket server / RS232 command channel
Traits
traits:
- routable # inferred from video/audio routing commands (!C, !CR, !T, !TR, CSWI/CSWO)
- queryable # inferred from query commands (?CR, ?TR, ?NETWORK, ?UART, ?SVER, etc.)
- powerable # inferred from per-card power command (!CPOWER)
Actions
# Convention from source: ! = command, ? = query, ~ = response. <CR> = 0x0D.
# All command strings copied verbatim from the Operation Guide command table.
- id: switch_video_single
label: Switch Video Input to Output(s)
kind: action
command: "!C{input}to{outputs}<CR>"
params:
- name: input
type: integer
description: Input channel (1 ~ matrix max)
- name: outputs
type: string
description: Comma-separated output channels (1 ~ matrix max), or "ALL"
notes: Example !C1to2,3<CR> routes video input 1 to outputs 2 and 3.
- id: switch_video_multi
label: Switch Video Input-to-Output Correspondence
kind: action
command: "!CR{a}:{b},{c}:{d}<CR>"
params:
- name: a
type: integer
description: Input channel (1 ~ matrix max)
- name: b
type: integer
description: Output channel (1 ~ matrix max)
- name: c
type: integer
description: Input channel (1 ~ matrix max)
- name: d
type: integer
description: Output channel (1 ~ matrix max)
- id: select_video_input
label: Select Video Input (stage for CSWO)
kind: action
command: "!CSWI:{input}<CR>"
params:
- name: input
type: integer
description: Input channel (1 ~ matrix max)
notes: Must be combined with !CSWO.
- id: switch_video_output
label: Switch Selected Video Input to Output(s)
kind: action
command: "!CSWO:{outputs}<CR>"
params:
- name: outputs
type: string
description: Comma-separated output channels (1 ~ matrix max)
notes: Uses input selected by prior !CSWI.
- id: query_video_routing
label: Query Video Output Routing
kind: query
command: "?CR<CR>"
params: []
- id: switch_audio_single
label: Switch Audio Input to Output(s)
kind: action
command: "!T{input}{ie}to{outputs}<CR>"
params:
- name: input
type: integer
description: Input channel (1 ~ matrix max)
- name: ie
type: string
description: "Internal/External audio flag for input: V = internal audio, E = external audio"
- name: outputs
type: string
description: Comma-separated "outN{V|E}" tokens (1 ~ matrix max or ALL)
notes: Example !T1Vto2V,2E<CR>. V=internal audio, E=external audio.
- id: switch_audio_multi
label: Switch Audio Input-to-Output Correspondence
kind: action
command: "!TR{a}{ae}:{b},{c}:{d}<CR>"
params:
- name: a
type: integer
description: Input channel (1 ~ matrix max)
- name: ae
type: string
description: V/E audio flag for input a
- name: b
type: string
description: "outN{V|E} output token"
- name: c
type: integer
description: Input channel (1 ~ matrix max)
- name: d
type: string
description: "outN{V|E} output token"
notes: Example !TR1V:2V,1E:2E<CR>.
- id: select_audio_input
label: Select Audio Input (stage for TSWO)
kind: action
command: "!TSWI:{input}<CR>"
params:
- name: input
type: string
description: "Input channel + V/E flag, e.g. 2V (1 ~ matrix max)"
notes: Must be combined with !TSWO. V=internal audio, E=external audio.
- id: switch_audio_output
label: Switch Selected Audio Input to Output(s)
kind: action
command: "!TSWO:{outputs}<CR>"
params:
- name: outputs
type: string
description: "Comma-separated outN{V|E} tokens (1 ~ matrix max)"
notes: Uses input selected by prior !TSWI.
- id: query_audio_routing
label: Query Audio Output Routing
kind: query
command: "?TR<CR>"
params: []
- id: save_scene
label: Save Scene
kind: action
command: "!S{scene}<CR>"
params:
- name: scene
type: integer
description: Scene location (1 ~ 32 max)
- id: call_scene
label: Call Scene
kind: action
command: "!R{scene}<CR>"
params:
- name: scene
type: integer
description: Scene location (1 ~ 32 max)
- id: set_av_sync
label: Set Audio/Video Synchronization
kind: action
command: "!SYNC:{mode}<CR>"
params:
- name: mode
type: integer
description: "0 = no synchronous, 1 = synchronous"
- id: query_av_sync
label: Query Audio/Video Synchronization
kind: query
command: "?SYNC<CR>"
params: []
- id: set_av_sync_mode
label: Set Audio/Video Synchronization Mode
kind: action
command: "!SYNC_MODE:{mode}<CR>"
params:
- name: mode
type: integer
description: "0: VE->VE, 1: VE->EV, 2: V->VE (default), 3: E->VE, 4: V->V, 5: E->E, 6: V->E, 7: E->V"
- id: query_av_sync_mode
label: Query Audio/Video Synchronization Mode
kind: query
command: "?SYNC_MODE<CR>"
params: []
- id: set_scene_name
label: Set Scene Name
kind: action
command: "!SNAME{scene}:{name}<CR>"
params:
- name: scene
type: integer
description: Scene number (1 ~ 32 max)
- name: name
type: string
description: Scene name (max 15 English characters)
- id: query_scene_name
label: Query Scene Name
kind: query
command: "?SNAME{scene}<CR>"
params:
- name: scene
type: integer
description: Scene location (1 ~ 32 max)
- id: set_scene_web_display
label: Set Scene Web Display
kind: action
command: "!SUSE{scene}:{display}<CR>"
params:
- name: scene
type: integer
description: Scene number (1 ~ 32 max)
- name: display
type: integer
description: "0 = no display on WEB, 1 = display"
- id: query_scene_use
label: Query Scene Status
kind: query
command: "?SUSE{scene}<CR>"
params:
- name: scene
type: integer
description: Scene location (1 ~ 32 max)
- id: uart_switch
label: UART Switch (route RX to TX)
kind: action
command: "!CUART{rx}to{txs}<CR>"
params:
- name: rx
type: integer
description: RX port (1 ~ matrix max)
- name: txs
type: string
description: Comma-separated TX ports (1 ~ matrix max or ALL)
notes: Example !CUART1to1,2<CR>.
- id: query_uart_status
label: Query All UART Status
kind: query
command: "?CRUART<CR>"
params: []
- id: set_ip_address
label: Set IP Address
kind: action
command: "!IP:{a}.{b}.{c}.{d}<CR>"
params:
- name: a
type: integer
description: Octet (0 ~ 255)
- name: b
type: integer
description: Octet (0 ~ 255)
- name: c
type: integer
description: Octet (0 ~ 255)
- name: d
type: integer
description: Octet (0 ~ 255)
- id: set_subnet
label: Set Subnet Mask
kind: action
command: "!SUBNET:{a}.{b}.{c}.{d}<CR>"
params:
- name: a
type: integer
description: Octet (0 ~ 255)
- name: b
type: integer
description: Octet (0 ~ 255)
- name: c
type: integer
description: Octet (0 ~ 255)
- name: d
type: integer
description: Octet (0 ~ 255)
- id: set_gateway
label: Set Gateway
kind: action
command: "!GATEWAY:{a}.{b}.{c}.{d}<CR>"
params:
- name: a
type: integer
description: Octet (0 ~ 255)
- name: b
type: integer
description: Octet (0 ~ 255)
- name: c
type: integer
description: Octet (0 ~ 255)
- name: d
type: integer
description: Octet (0 ~ 255)
- id: set_socket_port
label: Set Socket Server Port
kind: action
command: "!PORT:{port}<CR>"
params:
- name: port
type: integer
description: Server port
- id: set_dhcp
label: Set Network DHCP
kind: action
command: "!DHCP:{state}<CR>"
params:
- name: state
type: integer
description: "0 = off, 1 = on"
- id: query_network
label: Query Network Information
kind: query
command: "?NETWORK<CR>"
params: []
notes: Returns IP, subnet, gateway, and port.
- id: set_serial_port
label: Set Serial Port Parameters
kind: action
command: "!UART:{baud},{data},{stop},{parity}<CR>"
params:
- name: baud
type: integer
description: "Baud rate: 115200, 38400, 19200, or 9600"
- name: data
type: integer
description: "Data bits: 8 or 9"
- name: stop
type: number
description: "Stop bits: 1, 1.5, or 2"
- name: parity
type: string
description: "Parity: None, Odd, or Even"
- id: query_serial_port
label: Query Serial Port Parameters
kind: query
command: "?UART<CR>"
params: []
- id: set_command_enable
label: Set Command Enable
kind: action
command: "!CMDEN:{state}<CR>"
params:
- name: state
type: integer
description: "0 = disabled, 1 = enabled"
notes: When disabled, socket/serial commands are not processed (this command itself still works).
- id: query_command_enable
label: Query Command Enable
kind: query
command: "?CMDEN<CR>"
params: []
- id: set_command_sound
label: Set Command-Send Sound
kind: action
command: "!CSOUND:{state}<CR>"
params:
- name: state
type: integer
description: "0 = no sound, 1 = sound on command send"
- id: query_command_sound
label: Query Command-Send Sound
kind: query
command: "?CSOUND<CR>"
params: []
- id: switch_edid_output
label: Switch Output EDID to Input Port
kind: action
command: "!EDID{output}to{input}<CR>"
params:
- name: output
type: integer
description: Output channel (1 ~ matrix max)
- name: input
type: string
description: Input channel (1 ~ matrix max or ALL)
- id: switch_edid_system
label: Switch System EDID to Input Port
kind: action
command: "!SYSE{system}to{input}<CR>"
params:
- name: system
type: integer
description: System EDID slot (1 ~ 16)
- name: input
type: string
description: Input channel (1 ~ matrix max or ALL)
- id: save_edid_to_system
label: Save Output EDID to System
kind: action
command: "!SEDID{output}to{system}<CR>"
params:
- name: output
type: integer
description: Output channel (1 ~ matrix max)
- name: system
type: integer
description: System EDID slot (1 ~ 16)
- id: set_hdmi_dvi_mode
label: Set Output HDMI/DVI Format
kind: action
command: "!HDMODE:{output},{mode}<CR>"
params:
- name: output
type: integer
description: Output channel (1 ~ matrix max)
- name: mode
type: integer
description: "0 = DVI, 1 = HDMI"
- id: set_port_hdcp
label: Set Port HDCP (IN/OUT card)
kind: action
command: "!HDCP:{port},{state}<CR>"
params:
- name: port
type: integer
description: Port (1 ~ matrix max)
- name: state
type: integer
description: "0 = OFF, 1 = ON"
- id: set_card_power
label: Set Card Power
kind: action
command: "!CPOWER:{port},{state}<CR>"
params:
- name: port
type: integer
description: Port (1 ~ matrix max)
- name: state
type: integer
description: "0 = OFF, 1 = ON"
- id: query_card_power
label: Query Card Power Status
kind: query
command: "?CPOWER:{port}<CR>"
params:
- name: port
type: integer
description: Port (1 ~ matrix max)
- id: set_management_user
label: Set Management Username and Password
kind: action
command: "!MUNP:{user},{password}<CR>"
params:
- name: user
type: string
description: Username (max 15 English chars or Arabic numerals)
- name: password
type: string
description: Password (max 15 English chars or Arabic numerals)
notes: Sets the WEB interface login credentials.
- id: query_management_user
label: Query Management Username and Password
kind: query
command: "?MUNP<CR>"
params: []
- id: send_control_board_command
label: Send Command to Control Board
kind: action
command: "!COM{cmd}<CR>"
params:
- name: cmd
type: string
description: Control card command string (e.g. "-TEST")
notes: "Returns NULL (online) or ERROR (offline)."
- id: query_control_board_online
label: Query Central Control Board Online
kind: query
command: "?COM<CR>"
params: []
notes: Responds ~COM:1<CR> when online.
- id: send_tcp_socket_data
label: Send Data to TCP Socket Server
kind: action
command: "!SEND-SS:{ip}:{port},{data}<CR>"
params:
- name: ip
type: string
description: Destination IP address
- name: port
type: integer
description: Destination server port
- name: data
type: string
description: Data to send
notes: Example !SEND-SS:192.168.88.100:1001,TEST<CR>. Response ~SEND-SS:4<CR>.
- id: query_json_status
label: Query Status (JSON format)
kind: query
command: "?JSON:{section},{mark}<CR>"
params:
- name: section
type: string
description: "One of: video, scene, system, weburl, cont"
- name: mark
type: integer
description: Status update version mark; 0 = request all data
notes: Returns status in JSON format.
- id: set_system_language
label: Set System Language
kind: action
command: "!LANG:{lang}<CR>"
params:
- name: lang
type: integer
description: "0 = English, 1 = Chinese"
- id: query_system_language
label: Query System Language
kind: query
command: "?LANG<CR>"
params: []
- id: soft_restart
label: Restart System
kind: action
command: "!SOF-RESTART<CR>"
params: []
- id: factory_reset
label: Restore Factory Settings
kind: action
command: "!SYS-RESET<CR>"
params: []
- id: query_daughter_card_types
label: Query All Daughter Card Types
kind: query
command: "?RCID<CR>"
params: []
notes: Example response ~RCID:1:I1,2:N/A..<CR>.
- id: query_software_version
label: Query Main Software Version
kind: query
command: "?SVER<CR>"
params: []
- id: query_hardware_version
label: Query Hardware Version
kind: query
command: "?HVER<CR>"
params: []
- id: query_backboard_version
label: Query Back Board Firmware Version
kind: query
command: "?BVER<CR>"
params: []
- id: query_matrix_type
label: Query Matrix Type
kind: query
command: "?M0<CR>"
params: []
notes: Example response ~DXM-884<CR>.
- id: send_hdbt_command
label: Send Command to HDBT Card
kind: action
command: "!SEND-CU:{baud}:{x}{port}:{data}<CR>"
params:
- name: baud
type: integer
description: "Baud rate: 115200, 38400, 19200, or 9600"
- name: x
type: string
description: "Card type: I (input) or O (output)"
- name: port
type: integer
description: Card port
- name: data
type: string
description: Data to send
notes: "To send hex instead of ASCII, prefix data with %H, e.g. %H 01 02 03 04 05 0D 0A. Example !SEND-CU:115200:O1:TEST<CR>."
- id: send_recv_hdbt_command
label: Send and Receive from HDBT Card
kind: action
command: "!SEND-CU-RECV:{baud}:{x}{port}:{data}<CR>"
params:
- name: baud
type: integer
description: "Baud rate: 115200, 38400, 19200, or 9600"
- name: x
type: string
description: "Card type: I (input) or O (output)"
- name: port
type: integer
description: Card port
- name: data
type: string
description: Data to send
notes: "Response ~RECV-CU:{port}:{data}<CR> on success, <RECV-CU:{port}:Timeout<CR> on no return. Hex supported via %H prefix. Example !SEND-CU-RECV:115200:O1:TEST<CR>."
Feedbacks
- id: command_response
type: string
description: >
Every command/query echoes back a "~" response line mirroring the issued
command (e.g. !C1to2,3<CR> -> ~C1to2,3<CR>). Carriage return <CR> = 0x0D
terminates each response.
- id: control_board_online
type: enum
values: ["online (~COM:1)", "offline (NULL/ERROR)"]
- id: hdbt_recv
type: string
description: "~RECV-CU:{port}:{data}<CR> on success; <RECV-CU:{port}:Timeout<CR> on no response."
- id: json_status
type: json
description: JSON status payload returned by ?JSON query (video/scene/system/weburl/cont sections).
Variables
# All settable parameters are modeled as Actions above (scene, sync mode, EDID,
# HDCP, card power, network, serial port, language, credentials). No additional
# continuous variables (volume/gain/brightness) are documented in the source.
Events
# Source documents no unsolicited notifications; the device only responds ("~")
# to commands/queries. UNRESOLVED: confirm whether routing changes via WEB UI
# generate push events over the socket connection.
Macros
# The CSWI/CSWO and TSWI/TSWO pairs are two-step sequences (stage input, then
# switch outputs) described explicitly in source rows 3-4 and 8-9. Treat as
# paired command sequences, not single macros.
Safety
confirmation_required_for:
- "!SYS-RESET" # factory reset - destructive, restores all defaults
- "!SOF-RESTART" # system restart - drops all connections
- "!IP / !SUBNET / !GATEWAY / !PORT" # network changes - may sever control connection
- "!UART" # serial reconfig - may break active RS-232 session
interlocks: []
# UNRESOLVED: source contains no explicit interlock procedures or power-on
# sequencing requirements beyond the troubleshooting note that command-send
# speed can affect operation (use Hercules over HyperTerminal to send in one shot).
Notes
- Control channel: commands are identical over RS-232 (115200 8N1 None, 3.5mm TRS — tip=TX, ring=RX, sleeve=GND) and the TCP socket server (default port 1001).
- Command grammar:
!= command,?= query,~= response. Every line terminated by<CR>(0x0D / decimal 13). - Audio routing uses V/E suffixes: V = internal (embedded) audio, E = external (de-embedded) audio.
- Scene slots: 1–32. System EDID slots: 1–16.
- HDBT card passthrough supports hex payloads via
%Hprefix (e.g.!SEND-CU-RECV:115200:1:%H 01 02 03 04 05 0D 0A<CR>). - Web management UI is a separate interface (factory default IP 192.168.88.229, port 80, default login user
user/ password123456) and is NOT part of the documented!/?/~command channel; auth for the command channel itself is none. - Troubleshooting note from source: if RS-232 commands fail, check RX/TX swap, baud rate, and use a terminal (Hercules) that sends the full command in one shot rather than character-by-character.
Provenance
source_domains:
- files.hdtvsupply.com
- files.avprosupply.com
- manualslib.com
source_urls:
- https://files.hdtvsupply.com/brand/aurora/aurora-multimedia-dxm-88-16164-g4-um.pdf
- https://files.avprosupply.com/files/attachments/509376/aurora-multimedia-dxm-1616-g4-manual.pdf
- https://www.manualslib.com/manual/1628153/Aurora-Dxm-G4-Series.html
retrieved_at: 2026-07-02T21:10:01.529Z
last_checked_at: 2026-07-07T11:02:08.479Z
Verification Summary
verdict: verified
checked_at: 2026-07-07T11:02:08.479Z
matched_actions: 58
action_count: 58
confidence: medium
summary: "All 58 spec actions map to literal source commands with matching syntax; transport parameters verified; bidirectional coverage complete. (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "matrix max input/output count (model implies 16×16 but command variables use \"matrix max\" without a stated ceiling); firmware version compatibility not stated"
- "confirm whether routing changes via WEB UI"
- "source contains no explicit interlock procedures or power-on"
- "\"matrix max\" input/output ceiling never stated numerically (model name implies 16×16)"
- "firmware version compatibility not stated in source"
- "whether WEB UI routing changes push unsolicited events over the socket"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0