This commit is contained in:
Maxim Devaev
2026-08-10 00:59:25 +03:00
parent 70a98bfcc2
commit 8f11474a3a
7 changed files with 81 additions and 69 deletions
+19
View File
@@ -0,0 +1,19 @@
---
search:
exclude: true
---
[PiKVM V4 Plus](v4.md) has a simple way to read and adopt display identifiers like model and serial number
from a physical monitor connected to `OUT2` port (it's also used for [HDMI passthrough](pass.md)).
This way, the target host will recognize PiKVM as your display.
To adopt display identifiers, connect the display to `OUT2` port and run these commands:
```console
[root@pikvm ~]# rw
[root@pikvm ~]# kvmd-edidconf --import-display-ids --apply
[root@pikvm ~]# ro
```
Now the display can be unplugged. PiKVM will remember the new settings (in `/etc/kvmd/tc358743-edid.hex`)
and apply them immediately (`--apply option`).
+3 -4
View File
@@ -3,12 +3,11 @@ search:
exclude: true
---
!!! tip "Quick IDs changing on PiKVM V4 Plus"
!!! tip "Quick video IDs changing on PiKVM V4 Plus"
PiKVM V4 Plus has a simple way read and adopt display identifiers like model and serial number
from your physical display. See [here](edid.md#adopt-real-display-indentifiers-on-v4-plus) for details.
{!_edidconf_adopt.md!}
Run `kvmd-edidconf` on PiKVM:
Let's check the identification. Run `kvmd-edidconf` on PiKVM:
```console
[root@pikvm ~]# kvmd-edidconf
+6 -3
View File
@@ -7,7 +7,10 @@ search:
!!! info "USB limitations"
Each emulated USB device consumes a limited hardware resource called **endpoints**.
On the default PiKVM, **you can add only one or two of additional USB devices**
depending of its endpoint requirements.
Short info: by default, you can add only one additional USB device.
To get more information about the endpoints, add more devices, and flexibly manage the configuration on the fly, see [here](usb.md).
To get more information about the endpoints, add more devices,
and flexibly manage the configuration on the fly, see **[here](usb.md)**.
This also help you if you encounter a compatibility issue
due to the device being turned on (for example, in UEFI).
+5 -12
View File
@@ -72,8 +72,11 @@ immediately after opening without user activity to protect against annoying ads.
-----
## Microphone (outgoing audio)
PiKVM is able to emulate a USB microphone on the target host to transmit your speech from the browser to the host.
This feature is disabled by default for backward compatibility reasons.
PiKVM [V3](v3.md) and [V4](v4.md) is able to emulate a USB microphone on the target host to transmit
your speech from the browser to the host.
The microphone uses [the same USB identifiers](id.md) as the keyboard, mouse and other emulated devices.
You can change everything together, but not separately.
{!_usb_limits.md!}
@@ -114,16 +117,6 @@ Your browser will ask for permission to use the microphone, allow it.
The switch state will be saved in the browser's local settings.
The microphone signal will not be transmitted if the volume level is zero.
!!! warning "USB compatibility"
This feature is very new, so we don't know how much it affects the ability to interact with the BIOS and UEFI.
Please try this and [let us know](https://pikvm.org/support/) if you have lost the ability to access
the BIOS or boot OS from PiKVM Mass Storage after turning on the USB microphone.
But even if this happens, don't worry. You can use [the dynamic USB device control](usb.md)
to temporarily turn off the microphone emulation.
-----
## Troubleshooting
+1 -13
View File
@@ -45,19 +45,7 @@ Typical examples of working with EDID and the full cycle of using custom EDID wi
-----
## Adopt real display indentifiers on V4 Plus
PiKVM V4 Plus has a simple way read and adopt display identifiers like model and serial number
from the physical monitor connected to `OUT2` port (it's also used for [HDMI passthrough](pass.md)).
This way, the target host will recognize PiKVM as your display.
To adopt display identifiers, connect the display to `OUT2` port and run these commands:
```console
[root@pikvm ~]# rw
[root@pikvm ~]# kvmd-edidconf --import-display-ids --apply
[root@pikvm ~]# ro
```
Now the display can be unplugged. PiKVM will remember the new settings.
{!_edidconf_adopt.md!}
-----
+44 -35
View File
@@ -8,7 +8,7 @@ system, and how this can be changed. This is useful for developers,
testers and system administrators who need PiKVM to emulate a specific
USB device or monitor.
!!! info
!!! tip
Before exploring this page, we recommend to read the [PiKVM configuration guide](config.md)
so that you understand the terminology and how exactly the parameters described below change.
@@ -32,37 +32,65 @@ For example, if you go to monitor settings on the host, you will see something l
It works in a similar way with USB.
-----
## Replicating setups
Using PiKVM utilities, you can replicate the entire IDs of peripheral devices in automatic or manual way.
* [PiKVM V4 Plus](v4.md) is able to import and adopt both EDID and USB IDs directly from your physical display and some USB device.
* [PiKVM V4 Mini](v4.md) doesn't have HDMI output and extra USB, but you can change configuration manually.
* [PiKVM V3](v3.md) or [DIY V2](v2.md) is able to import USB IDs, but not EDID.
**Both automatic and manual paths are fully described later on this page.**
-----
## HDMI Identifiers
!!! info
This applies to [PiKVM V3](v3.md), [V4](v4.md) and DIY based on CSI bridge.
It is impossible to change the EDID for the HDMI-USB dongle.
The EDID (Extended Display Identification Data) is responsible for presenting the display.
It also provides the host with information about the resolutions that PiKVM supports.
More information about this is written on [this page](edid.md), and here we will provide brief information.
More information about this is written on the [EDID guide](edid.md), and here we will provide brief information.
Please note that this applies to [PiKVM V3](v3.md), [V4](v4.md) and DIY based on CSI bridge.
It is impossible to change the EDID for the HDMI-USB dongle.
{!_edidconf_options.md!}
For a detailed guide on customizing EDID, please visit [this page](edid.md). There you can also find out how to set the EDID from a real monitor, or quickly adopt your real monitor IDs with PiKVM V4 Plus.
For a detailed guide on customizing EDID identifiers, please visit the [EDID guide](edid.md).
-----
## USB Identifiers
!!! info
What is described here concerns only the USB identifiers, not the device structure.
Your typical PiKVM setup is recognized as a keyboard with a built-in mouse and flash drive.
If you encounter USB compatibility issues due to legacy OS or buggy drivers on the target host,
there are two things you can do:
This applies to PiKVM V2+. Identifiers on V1 and/or the [Pico HID](pico_hid.md) can't be changed
without recompilation and reflashing of the firmware.
* Change USB identifiers (described further);
* [Disable some of emulated devices to simplify the device structure](usb.md).
For example, keep only keyboard and one mouse (for example, this is useful for buggy UEFI on DELL and HP),
and disable Mass Storage and other devices.
Please note that this applies to PiKVM V2+. Identifiers on V1 and/or the [Pico HID](pico_hid.md) can't be changed
without recompilation and reflashing of the firmware.
USB is a much more complex subsystem and another part of PiKVM is responsible for it.
Be careful when changing the settings here, it may cause the USB to fail.
!!! tip "Quick USB IDs changing"
For information on how to control emulated devices see [here](usb.md).
The identification is described below.
All PiKVMs (except DIY based on Zero W) have a simple way to read and adopt USB identifiers
from a physical USB keyboard or mouse connected to any USB port. This way, the target host
will recognize PiKVM as your regular USB device.
To adopt USB identifiers, connect a keyboard or mouse to PiKVM and run these commands:
```console
[root@pikvm ~]# rw
[root@pikvm ~]# kvmd-otgconf --import-usb-ids
[root@pikvm ~]# reboot
```
Now the device can be unplugged. PiKVM will remember the new settings (in `/etc/kvmd/override.yaml`)
and apply them after reboot (the last command).
As you may have found out from the [PiKVM configuration guide](config.md) (if you haven't read it yet, now is the time),
you can get the list of all configuration parameters using the `kvmd -m` command.
@@ -160,23 +188,4 @@ otg:
After changing validate the config using `kvmd -M`. You will see a list with your changes and default values,
or a message about configuration error.
If everything is fine, perform the soft reboot.
## Replicating setups
You can use `kvmd-edidconf` and `kvmd-otgconf` to replicate an entire host configuration for testing or other purposes. What you can do will vary depending on the PiKVM device you have:
- V4 Plus: you can import both EDID and USB IDs.
- V4 Mini: you must manually edit `override.yaml`, as there is neither a second HDMI Out or additional USB ports on your PiKVM.
- V3: you can import USB IDs only, as there is no second HDMI output on your PiKVM.
Assuming you have PiKVM V4 Plus, follow these steps:
1. Connect the host's display to one of the two HDMI Out ports on the rear panel of your PiKVM.
2. Connect the host's USB keyboard and mouse to USB ports on the front and the rear panel of you PiKVM.
3. Run `rw` to switch to read-write mode.
4. Run `kvmd-edidconf --import-display-ids --apply` as root on the PiKVM. This will fetch EDID information from the connected physical display and place it into the `/etc/kvmd/override.yaml` configuration file.
5. Run `kvmd-otgconf --import-usb-ids` as root on the PiKVM. This will fetch IDs of the connected physical USB devices and place them into the `/etc/kvmd/override.yaml` configuration file.
6. Run `ro` to switch to read-only mode.
7. Run `reboot` to reboot your PiKVM and apply newly the added customization.
8. Reconnect the host's display and keyboard/mouse back to the host.
If everything is fine, perform the soft `reboot` command.
+3 -2
View File
@@ -21,8 +21,10 @@ re-enable existing emulated devices in preset.
-----
## Basics
Each emulated USB device consumes a limited hardware resource called **endpoints**.
For information on how emulated devices are represented on the target host
and how to change USB identifiers, please see [this page](id.md).
Each emulated USB device consumes a limited hardware resource called **endpoints**.
Depending on the device, the number of required endpoints varies:
| Device | Endpoints |
@@ -67,7 +69,6 @@ To configure additional devices, please refer to the corresponding pages:
from the target host to the PiKVM, or for any other purpose that
requires a serial connection.
For information on how emulated devices are represented on the target host and how to change it, read [here](id.md).
-----
## Default preset