Kramer KDS-EN6 User Manual

API Guide
KDS-EN6, KDS-DEC6
P/N: 2900-300839 Rev 1 www.KramerAV.com
KDS-EN6, KDS-DEC6 - Overview
i
Contents
Overview 1
Terms 1 How to Access the Console 2
Astparam Configuration API 3
Overview 3 How to Access astparam 4 List of astparams 5 Getting KDS-6 Board's IP Address 24
Application Scenario: 25 FAQs: 26
Generic Configuration: 26 Unicast (KVM over IP) 32 Multicast (M to 1 group) 32 Mult icas t (M t o N group) 33 IIC 33 UART 34
Console APIs 36
Debug Console APIs 36 Link Manager APIs 37 Video Over IP Driver Statistic/Control APIs 37 Display Driver Statis tic/Control APIs 38 OSD APIs 38
Configurations APIs 40
IIC APIs 41 UART Port 1 APIs 41
Configuration Option List 42
Kramer Electronics Ltd.
KDS-EN6, KDS-DEC6 - Overview
Kramer KDS Default is Telnet port 24 Use "root" to log in.

Overview

This document describes the commands that can be used for KDS-6 console. KDS-6 uses Linux OS and the console is operated by BusyBox shell. Using console APIs, developers can control KDS-6 firmware and extend the product's features and capabilities.
-6 is based on Aspeed A6.4.3 firmware.

Terms

.
No password is required.
Commands starting with "$" – Console commands executed under the Linux shell console.
The default value of multicast IP (multicast_ip) is 225.0.10x.xxx. Please use this multicast_ip value.
The ‘ast_send_event -1 xxx’ command has a new shortcut named ‘e’. All of the following
‘ast_send_evnt -1 xxx’ commands can be replaced with the shortcut command like ‘e xxx’. They are exactly the same.
1
KDS-EN6, KDS-DEC6 - Overview
Default is Telnet port 24 Use "root" to log in.

How to Access the Console

Telnet
Every KDS-6 host/c lient FW has Telnet and a Telnet client built in. a developer can use one KDS-6's Telnet client to connect to any other KDS-6 board. Or write their own program using Telnet protocol to connect to any KDS-6 board through the Ethernet network.
.
Web UI
Use this approach when you need to modify astparam and prefer to enter commands via a web interface instead of a console. To modify astparam via a web interface:
1. Connect to the device’s Web UI
2. Enter astparam commands in “System->Utilities->Console API command:”
Note: You can enter multiple commands in a single line, separated by a semicolon (;).
No password is required.
Kramer Electronics Ltd.
2
Kramer Electronics Ltd.
KDS-EN6, KDS-DEC6 - Astparam Configuration API

Astparam Configuration API

Overview

KDS-6 firmware includes many configurable features. Most of the configuration are done using the “Configuration API” called astparam. astparam is the console command to access these system configurations.
astparam can be saved in flash ROM, so that system configuration is not lost when the system loses power. Typical applications of astparam are:
Enable/disable firmware features like serial over IP or video wall.
Configure factory default firmware features
Prepare an SPI flash image for production, including default astparam settings.
Enable/Disable firmware features on end customer side.
The format of astparam is a key=value string pair. For example, a astparam: “en_video_wall=y” means astparam key “en_video_wall”’s value is “y”. Both “key” and “value” are ANSI string and case sensitive. The firmware decides how to use it.
Note: The firmware does not validate the astparam. So, any type error could cause unexpected results. The advantage is that a user can add any astparam key/value pair, even if KDS-6’s reference firmware doesn’t need it. Both RO and RW astparams can be modified or even removed.
The firmware reserves two flash partitions for system configuration. One is read only (RO) the other is read-write (RW).
Note: BOTH ‘RO’ and ‘RW’ partitions are actually read/writable. Their usage is just defined differently.
The firmware treats the setting in the RO partition as the system’s factory default settings. It is recommended to save non-factory default changes in the RW partition (including the random ethaddr). When firmware boots up, it takes astparam in the following priority order: RW > RO > firmware default. Firmware uses the value in RW if the astparam exists. If the astparam is not available in RW partition, then the value in RO partition is used. Firmware hard coded value is used only when the astparam doesn’t exist in both RO and RW partition.
on a production line.
When the firmware starts up, both RO and RW configurations are read from flash and saved in RAM.
Note: All configuration modifications are saved in RAM until the "astparam save [ro]" command is called.
3
Kramer Electronics Ltd.
KDS-EN6, KDS-DEC6 - Astparam Configuration API
The process of "reset_to_default.sh" erases the RW partition but keeps the 'ethaddr' value (by rewriting it after partition erase.). Since everything in the RW is gone, the firmware takes values from the RO partition, which is the 'factory default'.

How to Access astparam

The most fundamental and powerful way to access astparam is through the “astparam” Console API command. Most of alternative approaches are just a wrap of the “astparam” command.
$ astparam OPTIONS [KEY] [VALUE]

OPTIONS

r : read from RO partition cache file. [KEY] is required.
w: write to RO partition cache file (not save to flash ROM yet). [KEY] and [VALUE] are
required. If [VALUE] is empty the [KEY] will be removed.
g : read from RW partition cache file. [KEY] is required.
s : write to RW partition cache file (not save to flash ROM yet). [KEY] and [VALUE] are
required. If [VALUE] is empty the [KEY] will be removed.
flush : clear all settings in RW partition cache file including random generated MAC
address. "./astparam save" is needed to clear all settings in flash ROM.
dump: dump all parameters in RW partition cache file.
dump ro: dump all parameters in RO partition cache file.
dd: dump all parameters in RW partition directly from flash ROM.
dd ro: dump all parameters in RO partition directly from flash ROM.
save: save all parameters in RW partition cache file into flash ROM.
save ro: save all parameters in RO partition cache file into flash ROM.
Examples:
Read "ip_mode" setting from RO partition cache file:
$./astparam r ip_mode
Read "ip_mode" setting from RW partition cache file:
$./astparam g ip_mode
Write "ip_mode" setting as "autoip" to RW partition cache file:
$./astparam s ip_mode autoip
Clear all settings in RW partition cache file:
$./astparam flush
Clear ip_mode setting in RW partition cache file:
$./astparam s ip_mode
Write RW partition cache file back to SPI flash ROM’s RW partition:
4
KDS-EN6, KDS-DEC6 - Astparam Configuration API
Key
Description
Value
Host/
scenario
pc2tv:
H/C
astaccess
Host: ‘y’ boot up default accept connection
y:
H/C
multicast_on
Configure casting mode
y: Multicast mode
H/C
ui_feature
y:
C
ignore_e_button_link
y:
H/C
ignore_e_button_link
y:
H/C
pwr_led_type
default:
H/C
en_log
‘y’ show debug message on debug
y:
H/C
stop_on_boot_test_fa
y:
H/C telnetd_param
‘-p 24’: use IP port 24.
-p 24
H/C
lm_link_off_timeout
15: 15 seconds
C
$./astparam save
Write RO partition cache file back to SPI flash ROM’s RO partition:
$./astparam save ro

List of astparams

Generic Settings

Kramer Electronics Ltd.
_1
from client. Client: ‘y’ boot up default auto connect to
host.
(bold is default)
usb_only:
n:
n: Unicast mode
n:
n:
n:
Client
console.
il
share_usb:
n:
n:
5
Kramer Electronics Ltd.
KDS-EN6, KDS-DEC6 - Astparam Configuration API
Key
Description
Value
Host/
cs_gpio_inv
[>= A5.3.3] Invert 4-bits DIP switch value.
0000
H/C
soc_op_mode
[>= AST1520][>= A6.2.0] Config backward
0: as it is
H/C
web_ui_cfg
Used to customize Web UI. The default
C
board_revision
[>= AST1520] Used to indicate firmware
300:
H
Default value is '0000', means all 4bits (CH0,CH1,CH2,CH3) no invert. To invert CH1, for example, set the value to '0100'.
compatibility mode.
value is automatically generated based on enabled functions during first time boot up.
The value is a series of characters: e: essential functions (can’t be disabled) n: network v: video w: video wall a: audio (i2s) u: usb s: serial over ip r: IR
Character order does not matter.
Example 1: To enable all UI elements, set the value to ‘envwausr’.
Example 2: 'envas' means show ‘essential functions’, 'network', 'video', 'audio', and 'serial over ip' modules.
(bold is default)
1: AST1500 compatible
2: AST1510 compatible
Client
different kind of HW board design. 300: [Host] AST152x v1.x reference board. 301: [Host] AST1520 v2.x splitter loopback
design with HDCP 2.2 support
301:
6
Kramer Electronics Ltd.
KDS-EN6, KDS-DEC6 - Astparam Configuration API
Key
Description
Value
Host/
ui_default_res
[>= A6.1.0] Change the bootup and GUI
640x480@60
C
ui_show_text
‘y’ to display diagnostic information on the
y: Display
C
(bold is default)
Client
default resolution. Default resolution is 640x480@60Hz. Note: System reboot is required for ui_default_res to be applied.
bottom of the GUI. ‘n’ to hide it.
n: Hide
7
KDS-EN6, KDS-DEC6 - Astparam Configuration API
Key
Description
Value
Host/
ip_mode
static:
H/C
netmask
H/C
gatewayip
[> A 1.38]
H/C
hostname_prefix
ast: For AST1500
H/C
hostnamebydipswitch
Use default hostname_id based on 4-bits
y:
H/C
hostname_id
Overwrite “hostnamebydipswitch”
H/C
ch_select
H/C
reset_ch_on_boot
Resets link related astparam on boot, to
y: enable
H/C
jumbo_mtu
[>= AST1510]
1500:
H/C

IP Network Setting

Kramer Electronics Ltd.
(bold is default)
Client
dhcp: autoip:
ipaddr H/C
ast2: For AST1510 ast3: For AST1520
DIP switch.
n:
Host default is ‘y’ Client default is ‘n’
multicast_ip H/C
prevent the user from entering the wrong channel setting. The following astparam is cleared to the default value: ch_select multicast_ip hostname_id
multicast_ip_prefix Uses a different multicast IP prefix.
Default value is ‘225.0.10’ which means multicast IP is ‘225.0.10x.xxx’ where x’s value depends on 4-bits DIP switch.
n: disable
8000:
225.0.10 H/C
8
KDS-EN6, KDS-DEC6 - Astparam Configuration API
Key
Description
Value
Host/
btn1_short
H/C
btn1_long
H/C
btn1_short_on_boot
H/C
btn1_short_on_eth_of
H/C btn1_long_on_eth_off
H/C
btn2_short
H/C
btn2_long
H/C
btn2_short_on_boot
H/C
btn2_long_on_boot
H/C
btn2_short_on_eth_of
H/C btn2_long_on_eth_off
H/C
btn_init
H/C
btn1_delay
H/C
btn2_delay
H/C

Button: (> A3.2)

Kramer Electronics Ltd.
(bold is default)
Client
btn1_long_on_boot H/C
f
f
9
KDS-EN6, KDS-DEC6 - Astparam Configuration API
Key
Description
Value
Host/
no_video
y: disable VideoIP
H/C
ast_video_quality_mo
-1: Video mode
H
v_bcd_threshold
0: anti-dither off
H
v_1080i_to_720p
H/C
en_video_wall
y:
H/C
profile
[< A6.0.0] Select ‘giga’ or ‘analog’.
auto:
H
v_chunk_size
[OP_MODE < 3] Used to control video
64512
H
v_type
[>= AST1520] Overwrite “video type”
0: VGA
H/C

Video over IP

Kramer Electronics Ltd.
de
[>= A6.x.x] Revised the naming to: auto, 10M, 50M, 100M, 150M, 200M. SoC V1 and V2 only support ‘auto’.
(bold is default)
n: enable VideoIP
0: Graphic mode
1: anti-dither 1 2: anti-dither 2
n:
10M: 50M: 100M: 150M: 200M:
Client
network stream’s burst size. A smaller value smooths the Ethernet switch’s loading, but may causes video streaming performance issues.
Default value is ‘64512’. Use ‘7376’ when you want to smooth the video stream packets. Don’t touch this setting unless you know what you are doing.
v_ignore_cts7_33 HDMI compliant test (CTS 7-33) requires
the HDMI source to always output a DVI signal when the downstream sink is not an HDMI sink (EDID is not HDMI device). Set this option to ‘y’ to ignore this requirement.
setting. Default value is received from the GPIO pin (HDMI or VGA).
n: follow CTS y: ignore CTS
1: disable 2: HDMI 3: DVI
H/C
10
Kramer Electronics Ltd.
KDS-EN6, KDS-DEC6 - Astparam Configuration API
Key
Description
Value
Host/
v_loopback_type
[>= AST1520] Set video loopback port
0: VGA
H v_output_timing_conv
[>= AST1520] Force specific video output
0: Pass-Through
C
v_eng_drv_option
[>= AST1520] 32bits bitmap VE driver
0: Default value
H/C
type. Overwrite HW GPIO setting. Default value is gotten from GPIO pin.
Default value when GPIO pin is set to enable:
AST1525: the same as v_type setting. AST1520: ‘board_revision’ == 301, default 2 (HDMI). If the board is ‘301’ type and has VGA loopback, please set v_loopback_type to ‘0’. v_dual_port to ‘1’. Otherwise [<= A6.2.6] Default as v_type setting. [> A6.2.6] Default as 0 (VGA).
(bold is default)
1: disable 2: HDMI 3: DVI
Client
ert
timing.
Examples: 00000000: Pass-Through 80000010: Full HD 1080p60 8000001F: Full HD 1080p50 8000005F: Ultra HD 2160p30 8000005E: Ultra HD 2160p25 80000004: HD 720p60 81000061: WXGA 1366x768@60 81000040: WXGA+ 1440x900@60 81000051: WUXGA 1920x1200@60 8100003C: SXGA+ 1400x1050@60
options to tweak driver behavior. Default value is 0.
0x00000001: [>=A6.0.0][Host] Convert 2160p30Hz to 1080p
0x00000002: [>=A6.0.0][Host] Convert 2160p60Hz (YUV420) to 1080p60Hz
0x00010000: [>=A6.1.0][Client] Do not black out after switching to new video source
11
Kramer Electronics Ltd.
KDS-EN6, KDS-DEC6 - Astparam Configuration API
Key
Description
Value
Host/
v_dual_port
[>= AST1520] Dual output mode. Client
1: enable
H/C
v_rx_drv
[>= A6.0.0] Used to specify HDMI
cat6023: for
H
v_src_unavailable_tim
Wait for a v_src_unavailable_timeout ms
10000: 10 seconds
C
v_turn_off_screen_on
Turn off video output sync after
y: Turn off
C
v_analog_edge_
[>= A6.1.12] For VGA analog video input
37: default value
H
loopback_edid_patch
Copy EDID patch option for local
00000000
H
eout
set to ‘1’ to output video signal to both VGA and HDMI port. Host set to ‘1’ to output HDMI input to VGA loopback port. Default value:
Host: 0 Client: 1
receiver driver used. Default value for different SoC version:
AST1500: cat6023 AST1510: cat6023 AST1520: it6802 AST1525: it6802
before entering power save. Set to ‘-1’ means never timeout.
(bold is default)
0: disable
IT6604, IT6605 chip
it6802: for IT6802 chip
-1: never timeout
Client
_pwr_save
connected host stops streaming video to client.
v_rx_drv_option Special bitmap options for HDMI receiver
driver. (IT6604, IT6802…) 0x00000002: Always report HDMI audio as 2Ch 48KHz 0x00000004: Always report HDMI audio is ON
detect
only. Used to adjust edge detection threshold value. Default value should be fine in most of cases. Increase the value when edge detection is not accurate. Valid range is 0~255. Good value range: 15~64. Set the value too high or too low may cause bad result.
n: Do not turn off. Will switch back to GUI screen
0: default
H
loopback video port.
12
Kramer Electronics Ltd.
KDS-EN6, KDS-DEC6 - Astparam Configuration API
Key
Description
Value
Host/
remote_edid_patch
Copy EDID patch option for remote client.
H
v_input_select
[>=AST1520][>=A6.3.0]
auto
H v_dual_input
[>=AST1520][>=A6.3.0]
y: has
H
Default values: AST1500: 00230017 AST1510: 00000005 AST1520/AST1525: [FW < A6.3.0] 00000000 [FW >= A6.3.0] 00000001
Configure different types of input select mode: auto: auto detect. always controlled by GPIO. detect_sync: auto switch after video lost fixed: fixed selection
Specify if the HW board has dual input port or not. This astparam is optional. The FW will automatically detect the HW configuration based on the availability of EDID ROM of both ports.
(bold is default)
detect_sync fixed
n: doesn’t have
Client
13
Loading...
+ 34 hidden pages