diff --git a/docs/switch.md b/docs/switch.md new file mode 100644 index 00000000..e4119277 --- /dev/null +++ b/docs/switch.md @@ -0,0 +1,176 @@ +# PiKVM Switch Multiport Extender + + + +* [PiKVM Switch Multiport Extender](switch_datasheet.pdf) + +The PiKVM Switch Multiport Extender enables one PiKVM device to view and control multiple target +computers connected to each port. Target computers are viewed using HDMI video capture and then +controlled via USB and ATX connections. Up to five Switch Multiport Extenders can be daisy-chained +for a total of 20 ports. This is the maximum number of target computers that can be controlled by +each supported PiKVM device. + +Thanks to the modularity of PiKVM and the new Switch, you can build up your infrastructure gradually, +adding new Switches as needed, without replacing the KVM entirely. + +One target system at a time can be selected for HDMI video capture and USB control. ATX statuses +and controls are available for all connected targets simultaneously. Video inputs include dedicated +EDID (HDMI information and display parameters) and full control of the video connection state of +each port. + +The PiKVM Switch is fully plug-and-play. + +It is compatible with [PiKVM V4 Plus](v4.md), [PiKVM V3](v3.md), [DIY V2](v2.md) and [DIY V1](v1.md) devices. + +Please note that it's not compatible with PiKVM V4 Mini and DIY devices based on Raspberry Pi Zero boards +because of the lack of available USB host ports. + + +----- +## Installation requirements + +* Head device: [PiKVM V4 Plus](v4.md) (recommended) or any other PiKVM except V4 Mini and Zero-based DIY. + +* The PiKVM Switch box includes: + * Switch device + * Power supply unit + * DC Barrel Jack Cable + * HDMI 2.0 Cable + * USB-A Male To USB-C Female Adapter + * *2x* USB Cable, USB-C Male + * *4x* ATX kit with brackets and wires + +* Some cables are not included in the kit, but are required to connect each target host port: + * HDMI 2.0 cable (no shorter than 30 centimeters). + * USB-A to USB-C cable + * Straight Ethernet cable for ATX connection. + + +----- +## Setup + +1. Turn off the head PiKVM device. + +2. Unpack the box. Turn Switch in your hands and study the purpose of the ports. + Lovingly pat the top cover to show it that you want to be friends. + + * The **numbered ports** on the front can be used to connect to the target hosts. + * **UPLINK** ports should be connected to PiKVM or to the superior chained Switch. + * **DOWNLINK** ports should be connected to a lower-level Switch. + +3. Connect Switch to PiKVM according to the following diagram. + Example connections with [PiKVM V4 Plus](v4.md) are shown, + but similar connections can be made for any supported model. + + + + * **(1)** OTG connection for USB emulation (using Type-C cable). + * **(2)** Video (using HDMI cable). + * **(3)** USB control connection (using Type-C cable and included C-to-A adapter). + * **(4)** Optional power chaining. If you're using [PiKVM V4 Plus](v4.md), + both PiKVM and Switch can be powered from a single 12V power supply. + Use the supplied two-way power cable to connect the PiKVM and Switch. + * **(5)** Connect the supplied 12V power supply here. + + !!! warning "Double power supply is not allowed" + + * When power chaining (4), never use your own 5V power port on the PiKVM V4. + + * The two 12V connectors on the Switch are designed for chaining only. Never connect two power supplies to your Switch. + + If you want to connect multiple Switches in a chain, use the following diagram. + Two connected units can be considered as a single device, and the left group of **UPLINK** ports areused + in a similar way: either connect it to a PiKVM as in the previous step, or connect to another Switch to. + + + + !!! info "Chaining limit" + + A maximum of 5 Switch units can be connected in a chain. + +5. Connect the target hosts to the numbered ports on the front panel of Switch. + + * HDMI for a video (don't use a cable shorter than 50 centimeters). + * USB-C for USB emulation. + * Optional [ATX](atx_board.md) for power management of the host. + +6. PiKVM Switch is a Plug-n-Play device, so you don't need to write any complex configs. + All you need is a fresh PiKVM OS and drivers that can be obtained by updating. + + !!! note "Check the OS image" + + To store the settings, Switch uses the [Persistent Storage](pst.md) feature, + which is presented in images older than **2022.06.20**. To check if your + PiKVM OS supports this, use the following command: + + ```console + [root@pikvm ~]# mount | grep '\' + /dev/mmcblk0p2 on /var/lib/kvmd/pst type ext4 (ro,nosuid,nodev,noexec,relatime,errors=remount-ro) + ``` + + If the output is similar to the above (`/var/lib/kvmd/pst`), then everything is fine. + Otherwise on empty output, you need to [reflash the OS](flashing_os.md). + + Do the update anyway (even if you did reflashing): + + {!_update_os.md!} + +7. It's done! PiKVM will automatically configure all your Switches. + + +----- +## Working with the Switch + +All the functions of the Switch are available through the menu, which you will see in the PiKVM interface. +The attached example uses two Switches, and switching between their ports works transparently. + + + +* The menu title shows the current active port (**1.4**) in **unit.port** format, + and the status of the ATX power and HDD LEDs for its host. + +* **(1)** The **Settings** button shows the common chain settings window (see below). + +* **(2)** The ports are grouped by physical units, the sub-header of the table shows + the unit 1 and the ports following it: 1.1, 1.2, 1.3 and 1.4. + +* **(3)** Beacon activation buttons for the **UPLINK** and **DOWNLINK** ports on the back of the Switch unit 1. + When activated, the corresponding multifunction LED on the back of the Switch will start flashing + to make it easier to find its connectors. This is especially useful if you have several Switches in a chain. + +* **(4)** The port switching button. The green color indicates the current active port. + +* **(5)** A button for configuring individual port parameters such as name, EDID, and more. + +* **(6)** The beacon activation button for the selected port activates the flashing LED + on the numbered group of connectors on the front of the Switch unit. + + There are four indicators to the right: host video detected, USB detected, + ATX power and HDD LEDs. Next, three ATX action buttons. + +* **(7)** The title of the sub-table of the Switch unit 2. The units are numbered according to the closeness + to PiKVM device: Switch number 1 is connected directly to PiKVM, unit 2 is connected to downlink of unit 1. + +In the settings menu, you can access the EDIDs Collection and customize the color scheme of the Switch LEDs. + + +#### Chain settings + +In the settings menu, you can access the EDIDs Collection and customize the color scheme of the Switch LEDs. + +Each port can use its own EDID which must be preloaded into the Collection, otherwise it will use +the default EDID (taken from PiKVM). Binary and text [EDID in HEX format](edid.md) are supported. + +| EDIDs Collection | Color scheme | +|------------------|--------------| +| | | + + +#### Port settings + + + +In the port settings, you can set the display name (can be used for the name of the connected host) +and the individual EDID from the Collection. + +Other parameters relate to the ATX intervals for pressing the power and reset buttons of the target host. diff --git a/docs/switch/conn_kvm_to_switch.png b/docs/switch/conn_kvm_to_switch.png new file mode 100644 index 00000000..4ea5d8ea Binary files /dev/null and b/docs/switch/conn_kvm_to_switch.png differ diff --git a/docs/switch/conn_kvm_to_switch.xcf b/docs/switch/conn_kvm_to_switch.xcf new file mode 100644 index 00000000..b9bc4d5c Binary files /dev/null and b/docs/switch/conn_kvm_to_switch.xcf differ diff --git a/docs/switch/conn_switch_to_switch.png b/docs/switch/conn_switch_to_switch.png new file mode 100644 index 00000000..f205af82 Binary files /dev/null and b/docs/switch/conn_switch_to_switch.png differ diff --git a/docs/switch/conn_switch_to_switch.xcf b/docs/switch/conn_switch_to_switch.xcf new file mode 100644 index 00000000..e670b825 Binary files /dev/null and b/docs/switch/conn_switch_to_switch.xcf differ diff --git a/docs/switch/switch.png b/docs/switch/switch.png new file mode 100644 index 00000000..3b838ccd Binary files /dev/null and b/docs/switch/switch.png differ diff --git a/docs/switch/switch_back.jpg b/docs/switch/switch_back.jpg new file mode 100644 index 00000000..1844188f Binary files /dev/null and b/docs/switch/switch_back.jpg differ diff --git a/docs/switch/switch_back_blank.jpg b/docs/switch/switch_back_blank.jpg new file mode 100644 index 00000000..c94e8e27 Binary files /dev/null and b/docs/switch/switch_back_blank.jpg differ diff --git a/docs/switch/switch_datasheet.pdf b/docs/switch/switch_datasheet.pdf new file mode 100644 index 00000000..98434dbb Binary files /dev/null and b/docs/switch/switch_datasheet.pdf differ diff --git a/docs/switch/switch_front.jpg b/docs/switch/switch_front.jpg new file mode 100644 index 00000000..f621564d Binary files /dev/null and b/docs/switch/switch_front.jpg differ diff --git a/docs/switch/switch_front_blank.jpg b/docs/switch/switch_front_blank.jpg new file mode 100644 index 00000000..eda750e7 Binary files /dev/null and b/docs/switch/switch_front_blank.jpg differ diff --git a/docs/switch/ui_menu.png b/docs/switch/ui_menu.png new file mode 100644 index 00000000..66d58762 Binary files /dev/null and b/docs/switch/ui_menu.png differ diff --git a/docs/switch/ui_port.png b/docs/switch/ui_port.png new file mode 100644 index 00000000..1ee743aa Binary files /dev/null and b/docs/switch/ui_port.png differ diff --git a/docs/switch/ui_settings_colors.png b/docs/switch/ui_settings_colors.png new file mode 100644 index 00000000..948999ff Binary files /dev/null and b/docs/switch/ui_settings_colors.png differ diff --git a/docs/switch/ui_settings_edid.png b/docs/switch/ui_settings_edid.png new file mode 100644 index 00000000..829e8857 Binary files /dev/null and b/docs/switch/ui_settings_edid.png differ diff --git a/docs/switch/v4plus_back.jpg b/docs/switch/v4plus_back.jpg new file mode 100644 index 00000000..a166d2a5 Binary files /dev/null and b/docs/switch/v4plus_back.jpg differ diff --git a/docs/switch/v4plus_front.jpg b/docs/switch/v4plus_front.jpg new file mode 100644 index 00000000..5c1e4c31 Binary files /dev/null and b/docs/switch/v4plus_front.jpg differ