pull/35/head
Devaev Maxim 4 years ago
parent 44b9d4ee4e
commit 2f74f08abc

@ -211,7 +211,7 @@ Happy using of Pi-KVM :)
-----
# Limitations
* In very rare cases, old motherboards contain a buggy BIOS that does not understand the keyboard of the **v2** platform (bellow). The reason for this is that the BIOS doesn't fully implement the USB HID stack for composite devices correctly. Meanwhile, Mass Storage Drive will be detected. For this case, we suggest using the Arduino HID from the **v0** platform with **v2**. Thus the Pi-KVM will be connected by two USB cables to the motherboard: one of them will be responsible for the keyboard and mouse, the other for everything else. See [Tips](#tips) for details.
* In very rare cases, old motherboards contain a buggy BIOS that does not understand the keyboard of the **v2** platform (bellow). The reason for this is that the BIOS doesn't fully implement the USB HID stack for composite devices correctly. Meanwhile, Mass Storage Drive will be detected. For this case, we suggest using the Arduino HID from the **v0** platform with **v2**. Thus the Pi-KVM will be connected by two USB cables to the motherboard: one of them will be responsible for the keyboard and mouse, the other for everything else. See [here](pages/arduino_hid.md).
* A similar problem can be observed on devices with UEFI: the keyboard works fine, but the mouse does not work. This problem is much less significant, since all UEFI can be configured using the keyboard and hotkeys, without the mouse. If you want to get a mouse, the solution will be the same: using an Arduino HID, as in the advice above.
Our future [v3 platform](#the-future-v3-platform-work-in-progress) will contain an optional HID module for such cases, so you won't have to build anything yourself.
@ -283,25 +283,7 @@ Our future [v3 platform](#the-future-v3-platform-work-in-progress) will contain
It is reccomended to disable the automatic quality adjust setting if there is one in your client (this is called "Auto-Select"in TigerVNC).
Please note: **we strongly discourage the use of VNC on untrusted networks.** The current implementation does not use encryption, and your passwords are transmitted over the network in a plain text. The existing anonymous TLS mode is also not secure enough.
* To use Arduino HID with **v2** platform:
- Build and connect HID according to the [diagram](#setting-up-the-v0) (the bottom part with transistor, level-shifter and Arduino).
- Switch to RW-mode using command `rw`.
- Add these lines to `/etc/kvmd/override.yaml` (remove `{}` in the file before):
```yaml
kvmd:
hid:
type: serial
reset_pin: 4
device: /dev/kvmd-hid
```
- Add this line to `/etc/udev/rules.d/99-kvmd.rules`:
```udev
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
```
- Run `systemctl disable getty@ttyAMA0.service`.
- Remove `console=ttyAMA0,115200` and `kgdboc=ttyAMA0,115200` from `/boot/cmdline.txt`.
- [Flash the Arduino HID](pages/flashing_hid.md).
- Run `reboot`.
* To use Arduino HID with **v2** platform see [here](pages/arduino_hid.md).
-----

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

@ -0,0 +1,47 @@
# Hardware arduino HID instead the OTG
Using Arduino HID on non-v0 platforms is useful if you need a simple and primitive keyboard emulation device. For example, when used with a hardware KVM switch. You can use the firmware to emulate a USB keyboard and mouse, or for the PS/2 keyboard only.
## USB keyboard & mouse
* Build and connect HID according to the [diagram](../README.md#setting-up-the-v0) (the bottom part with transistor, level-shifter and Arduino).
* Switch to RW-mode using command `rw`.
* Add these lines to `/etc/kvmd/override.yaml` (remove `{}` in the file before):
```yaml
kvmd:
hid:
type: serial
reset_pin: 4
device: /dev/kvmd-hid
```
* Create file `/etc/udev/rules.d/99-kvmd-extra.rules`:
```udev
KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
```
* Run `systemctl disable getty@ttyAMA0.service`.
* Remove `console=ttyAMA0,115200` and `kgdboc=ttyAMA0,115200` from `/boot/cmdline.txt`.
* [Flash the Arduino HID](flashing_hid.md).
* Run `reboot`.
## PS/2 keyboard
Using the PS/2 firmware currently has the following limitations:
* The possibility of using USB HID is excluded.
* Mouse is not supported due to features of the PS / 2 Protocol.
Both of these problems will be solved one way or another in the future and the two different firmware versions will be combined into one universal one.
To select the PS/2 firmware, you need to follow the instructions for USB, but with one exception. At the device firmware stage instead of commands:
```
# make
# make install
```
Use commands:
```
# make ps2
# make install
```
Next, you need to connect the Arduino pins to the female PS/2 port of your motherboard. Choose a purple port. If you only have one port, it is probably universal and can be used either for the keyboard or for the mouse. Most likely, it is painted in two colors: green and purple. You can use it either.
Follow this diagram:
| Female PS/2 port (front view) | Pinout |
|-------------------------------|--------|
| <img src="../img/ps2_kdb.png" alt="drawing"/> | Arduino pin 3 <-> PS/2 CLOCK<br>Arduino pin 2 <-> PS/2 DATA |

@ -4,7 +4,7 @@ This operation can be done using your RPi. Here the common steps:
1. Disconnect the RESET wire from the Arduino board.
2. Connect the Arduino and RPi with a suitable USB cable.
3. Log in to the Raspberry Pi using SSH (`ssh root@<addr>` with password `root` by default) or using keyboard and monitor. The Raspberry Pi obtains the network address over DHCP.
4. Upload the firmware:
4. Upload the firmware (USB keyboard & mouse is used by default, on this step [you can choose PS/2 keyboard](arduino_hid.md#ps2_keyboard)):
```shell
[root@pikvm ~]# rw
[root@pikvm ~]# systemctl stop kvmd

Loading…
Cancel
Save