From 78cb7db0c1c21d67b0975141ac15996b69b92e1a Mon Sep 17 00:00:00 2001 From: David Shay Date: Tue, 18 May 2021 20:27:21 -0400 Subject: [PATCH] Add documentation/images for TESMART KVM switch (#309) --- img/tesmart_controller_1.png | Bin 0 -> 26905 bytes img/tesmart_controller_2.png | Bin 0 -> 21437 bytes pages/tesmart.md | 97 +++++++++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 img/tesmart_controller_1.png create mode 100644 img/tesmart_controller_2.png create mode 100644 pages/tesmart.md diff --git a/img/tesmart_controller_1.png b/img/tesmart_controller_1.png new file mode 100644 index 0000000000000000000000000000000000000000..772f6a45d61a2d0a1a18cb4b104f57a2e0644daf GIT binary patch literal 26905 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
  • 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 literal 0 HcmV?d00001 diff --git a/img/tesmart_controller_2.png b/img/tesmart_controller_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6ddd69471479d8b741d0947f61a8566b16d9dc37 GIT binary patch literal 21437 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 + +On this screen, ensure you are on the "General" tab. Click the radio button for "Network control". Change the IP address to the default for the switch (may already be this -- 192.168.1.10). Press the "Connect" button. Should make the status light go green, as well as the selected port. If you do not get a connection here, you cannot proceed to change the IP address. To change the IP address, change to the "Settings" tab at the top. You will then see this screen: + +Configuration screen for TESMART Windows controller utility + +On this screen, change to your desired IP address, gateway, mask, and port. Then press apply. Watch the box on the right to see if it applied OK. Press Query again to double-check. The actual IP address will not be changed until you power off/power on the switch. Make sure you have these settings correct, because if you get them wrong you would have to connect over RS232/serial and not the network. + +There may be alternatives other than changing the IP address in this manner if you don't have access to a Windows machine or if this address doesn't work for you. See this [README](https://github.com/bbeaudoin/bash/blob/master/tesmart/README.md) for other options (Images and concepts from the bash file were borrowed for creation of this plugin). This also contains a summary of the protocol, which is also available on the TESMART downloads page. + +## Adding UI elements to control the KVM switch +The UI can be updated to add buttons to switch between KVM inputs and indicators for which input is currently selected. The instructions below will make these available in the Pi-KVM UI after clicking the "Switches" menu button in the KVM view. + +1. SSH into Pi-KVM +2. Enable read-write mode on the sd card via `rw` +3. Edit the `/etc/kvmd/override.yaml` file and include the following. Note the assumption that the KVM switch is present on `/dev/ttyUSB0`: +```yaml +kvmd: + gpio: + drivers: + tes: + type: tesmart + tesmart_host: 10.10.1.10 + tesmart_port: 5000 + max_ports: 8 + scheme: + server1_led: + driver: tes + pin: 1 + mode: input + server1_switch: + driver: tes + pin: 1 + mode: output + switch: false + server2_led: + driver: tes + pin: 2 + mode: input + server2_switch: + driver: tes + pin: 2 + mode: output + switch: false + server3_led: + driver: tes + pin: 3 + mode: input + server3_switch: + driver: tes + pin: 3 + mode: output + switch: false + server4_led: + driver: tes + pin: 4 + mode: input + server4_switch: + driver: tes + pin: 4 + mode: output + switch: false + view: + table: + - ["TESMART Switch"] + - [] + - ["#Server 1", server1_led, server1_switch|Switch] + - ["#Server 2", server2_led, server2_switch|Switch] + - ["#Server 3", server3_led, server3_switch|Switch] + - ["#Server 4", server4_led, server4_switch|Switch] + ``` +4. Return to read-only mode for the sd card via `ro` +5. Restart the kvmd service: `systemctl restart kvmd` + +## Switching between hosts in the UI + +To switch between hosts, enter the KVM UI and click the "Switches" menu. You should see your inputs, one of which will have a green circle indicating it is currently selected. Click the other inputs to change the selected host.