diff options
author | Maxim Devaev <[email protected]> | 2022-11-23 21:27:34 +0300 |
---|---|---|
committer | Maxim Devaev <[email protected]> | 2022-11-23 21:27:34 +0300 |
commit | 0c25e89f466f5ddfb1263b793cc193382954dcb4 (patch) | |
tree | 8326a8ff90ebbfadb0af7f2197ac969fbf72ad88 | |
parent | 41c8c41e4d6eb52a92b8aaf66245c410e5fb9618 (diff) |
nextgen
-rw-r--r-- | PKGBUILD | 5 | ||||
-rw-r--r-- | configs/kvmd/edid/v0-hdmi.hex (renamed from configs/kvmd/tc358743-edid.hex) | 0 | ||||
-rw-r--r-- | configs/kvmd/edid/v2-hdmi.hex | 16 | ||||
-rw-r--r-- | configs/kvmd/edid/v3-hdmi.hex | 16 | ||||
-rw-r--r-- | configs/kvmd/edid/v4mini-hdmi.hex | 16 | ||||
-rw-r--r-- | configs/kvmd/edid/v4plus-hdmi.hex | 16 | ||||
-rw-r--r-- | configs/kvmd/fan/v4mini-hdmi.ini | 8 | ||||
-rw-r--r-- | configs/kvmd/fan/v4plus-hdmi.ini | 8 | ||||
-rw-r--r-- | configs/kvmd/main/v4mini-hdmi-rpi4.yaml | 90 | ||||
-rw-r--r-- | configs/kvmd/main/v4plus-hdmi-rpi4.yaml | 90 | ||||
-rw-r--r-- | configs/os/boot-config/v4mini-hdmi-rpi4.txt | 21 | ||||
-rw-r--r-- | configs/os/boot-config/v4plus-hdmi-rpi4.txt | 21 | ||||
-rw-r--r-- | configs/os/cmdline/v4mini-hdmi-rpi4.sed | 1 | ||||
-rw-r--r-- | configs/os/cmdline/v4plus-hdmi-rpi4.sed | 1 | ||||
-rw-r--r-- | configs/os/modules-load/v4mini-hdmi.conf | 4 | ||||
-rw-r--r-- | configs/os/modules-load/v4plus-hdmi.conf | 4 | ||||
-rw-r--r-- | configs/os/sudoers/v4mini-hdmi | 2 | ||||
-rw-r--r-- | configs/os/sudoers/v4plus-hdmi | 2 | ||||
-rw-r--r-- | configs/os/udev/v4mini-hdmi-rpi4.rules | 6 | ||||
-rw-r--r-- | configs/os/udev/v4plus-hdmi-rpi4.rules | 6 |
20 files changed, 332 insertions, 1 deletions
@@ -19,6 +19,9 @@ _variants=( v2-hdmiusb:generic v3-hdmi:rpi4 + + v4mini-hdmi:rpi4 + v4plus-hdmi:rpi4 ) @@ -229,7 +232,7 @@ for _variant in "${_variants[@]}"; do if [[ $_platform =~ ^.*-hdmi$ ]]; then backup=(\"\${backup[@]}\" etc/kvmd/tc358743-edid.hex) - install -DTm444 configs/kvmd/tc358743-edid.hex \"\$pkgdir/etc/kvmd/tc358743-edid.hex\" + install -DTm444 configs/kvmd/edid/$_platform.hex \"\$pkgdir/etc/kvmd/tc358743-edid.hex\" fi }" done diff --git a/configs/kvmd/tc358743-edid.hex b/configs/kvmd/edid/v0-hdmi.hex index d870783e..d870783e 100644 --- a/configs/kvmd/tc358743-edid.hex +++ b/configs/kvmd/edid/v0-hdmi.hex diff --git a/configs/kvmd/edid/v2-hdmi.hex b/configs/kvmd/edid/v2-hdmi.hex new file mode 100644 index 00000000..d870783e --- /dev/null +++ b/configs/kvmd/edid/v2-hdmi.hex @@ -0,0 +1,16 @@ +00FFFFFFFFFFFF0031D8888800888888 +1C150103800000780AEE91A3544C9926 +0F50543FCD0001000101010101010101 +010101010101011D007251D01E206E28 +5500C48E2100001E8C0AD08A20E02D10 +103E9600138E2100001E000000FC0050 +694B564D0A20202020202020000000FD +003B3D0F2E0F1E0A202020202020013C +02031D034E041303021211012021A23C +3D3E1F66030C00300080E2007F8C0AD0 +8A20E02D10103E9600C48E210000188C +0AD08A20E02D10103E9600138E210000 +189729A0D051842230509816009A0111 +00001800000000000000000000000000 +00000000000000000000000000000000 +0000000000000000000000000000006E diff --git a/configs/kvmd/edid/v3-hdmi.hex b/configs/kvmd/edid/v3-hdmi.hex new file mode 100644 index 00000000..d870783e --- /dev/null +++ b/configs/kvmd/edid/v3-hdmi.hex @@ -0,0 +1,16 @@ +00FFFFFFFFFFFF0031D8888800888888 +1C150103800000780AEE91A3544C9926 +0F50543FCD0001000101010101010101 +010101010101011D007251D01E206E28 +5500C48E2100001E8C0AD08A20E02D10 +103E9600138E2100001E000000FC0050 +694B564D0A20202020202020000000FD +003B3D0F2E0F1E0A202020202020013C +02031D034E041303021211012021A23C +3D3E1F66030C00300080E2007F8C0AD0 +8A20E02D10103E9600C48E210000188C +0AD08A20E02D10103E9600138E210000 +189729A0D051842230509816009A0111 +00001800000000000000000000000000 +00000000000000000000000000000000 +0000000000000000000000000000006E diff --git a/configs/kvmd/edid/v4mini-hdmi.hex b/configs/kvmd/edid/v4mini-hdmi.hex new file mode 100644 index 00000000..7022e34d --- /dev/null +++ b/configs/kvmd/edid/v4mini-hdmi.hex @@ -0,0 +1,16 @@ +00FFFFFFFFFFFF0031D8888800888888 +1C150103800000780AEE91A3544C9926 +0F50543FCF0001010101010101010101 +010101010101011D007251D01E206E28 +5500C48E2100001E8C0AD08A20E02D10 +103E9600138E2100001E000000FC0050 +694B564D0A20202020202020000000FD +003B3D0F2E0F1E0A2020202020200139 +02031E044F841303021211012021223C +3D3E101F66030C00300080E2007F8C0A +D08A20E02D10103E9600C48E21000018 +8C0AD08A20E02D10103E9600138E2100 +00188C0AA01451F01600267C4300138E +21000098000000000000000000000000 +00000000000000000000000000000000 +00000000000000000000000000000094 diff --git a/configs/kvmd/edid/v4plus-hdmi.hex b/configs/kvmd/edid/v4plus-hdmi.hex new file mode 100644 index 00000000..7022e34d --- /dev/null +++ b/configs/kvmd/edid/v4plus-hdmi.hex @@ -0,0 +1,16 @@ +00FFFFFFFFFFFF0031D8888800888888 +1C150103800000780AEE91A3544C9926 +0F50543FCF0001010101010101010101 +010101010101011D007251D01E206E28 +5500C48E2100001E8C0AD08A20E02D10 +103E9600138E2100001E000000FC0050 +694B564D0A20202020202020000000FD +003B3D0F2E0F1E0A2020202020200139 +02031E044F841303021211012021223C +3D3E101F66030C00300080E2007F8C0A +D08A20E02D10103E9600C48E21000018 +8C0AD08A20E02D10103E9600138E2100 +00188C0AA01451F01600267C4300138E +21000098000000000000000000000000 +00000000000000000000000000000000 +00000000000000000000000000000094 diff --git a/configs/kvmd/fan/v4mini-hdmi.ini b/configs/kvmd/fan/v4mini-hdmi.ini new file mode 100644 index 00000000..68c1fe7d --- /dev/null +++ b/configs/kvmd/fan/v4mini-hdmi.ini @@ -0,0 +1,8 @@ +[server] +unix = /run/kvmd/fan.sock +unix_rm = 1 +unix_mode = 666 + +[main] +pwm_pin = 13 +hall_pin = 16 diff --git a/configs/kvmd/fan/v4plus-hdmi.ini b/configs/kvmd/fan/v4plus-hdmi.ini new file mode 100644 index 00000000..68c1fe7d --- /dev/null +++ b/configs/kvmd/fan/v4plus-hdmi.ini @@ -0,0 +1,8 @@ +[server] +unix = /run/kvmd/fan.sock +unix_rm = 1 +unix_mode = 666 + +[main] +pwm_pin = 13 +hall_pin = 16 diff --git a/configs/kvmd/main/v4mini-hdmi-rpi4.yaml b/configs/kvmd/main/v4mini-hdmi-rpi4.yaml new file mode 100644 index 00000000..5f38f7c1 --- /dev/null +++ b/configs/kvmd/main/v4mini-hdmi-rpi4.yaml @@ -0,0 +1,90 @@ +# Don't touch this file otherwise your device may stop working. +# Use override.yaml to modify required settings. +# You can find a working configuration in /usr/share/kvmd/configs.default/kvmd. + +override: !include [override.d, override.yaml] + +logging: !include logging.yaml + +kvmd: + auth: !include auth.yaml + + info: + fan: + unix: /run/kvmd/fan.sock + + hid: + type: otg + mouse_alt: + device: /dev/kvmd-hid-mouse-alt + + atx: + type: gpio + power_led_pin: 4 + hdd_led_pin: 5 + power_switch_pin: 23 + reset_switch_pin: 27 + + msd: + type: otg + + streamer: + h264_bitrate: + default: 5000 + cmd: + - "/usr/bin/ustreamer" + - "--device=/dev/kvmd-video" + - "--persistent" + - "--dv-timings" + - "--format=uyvy" + - "--encoder=omx" + - "--workers=3" + - "--quality={quality}" + - "--desired-fps={desired_fps}" + - "--drop-same-frames=30" + - "--last-as-blank=0" + - "--unix={unix}" + - "--unix-rm" + - "--unix-mode=0660" + - "--exit-on-parent-death" + - "--process-name-prefix={process_name_prefix}" + - "--notify-parent" + - "--no-log-colors" + - "--sink=kvmd::ustreamer::jpeg" + - "--sink-mode=0660" + - "--h264-sink=kvmd::ustreamer::h264" + - "--h264-sink-mode=0660" + - "--h264-bitrate={h264_bitrate}" + - "--h264-gop={h264_gop}" + + gpio: + drivers: + __v4_locator__: + type: locator + + scheme: + __v3_usb_breaker__: + pin: 22 + mode: output + initial: true + pulse: + delay: 0 + + __v4_locator__: + driver: __v4_locator__ + pin: 12 + mode: output + pulse: + delay: 0 + + +vnc: + memsink: + jpeg: + sink: "kvmd::ustreamer::jpeg" + h264: + sink: "kvmd::ustreamer::h264" + + +otg: + remote_wakeup: true diff --git a/configs/kvmd/main/v4plus-hdmi-rpi4.yaml b/configs/kvmd/main/v4plus-hdmi-rpi4.yaml new file mode 100644 index 00000000..5f38f7c1 --- /dev/null +++ b/configs/kvmd/main/v4plus-hdmi-rpi4.yaml @@ -0,0 +1,90 @@ +# Don't touch this file otherwise your device may stop working. +# Use override.yaml to modify required settings. +# You can find a working configuration in /usr/share/kvmd/configs.default/kvmd. + +override: !include [override.d, override.yaml] + +logging: !include logging.yaml + +kvmd: + auth: !include auth.yaml + + info: + fan: + unix: /run/kvmd/fan.sock + + hid: + type: otg + mouse_alt: + device: /dev/kvmd-hid-mouse-alt + + atx: + type: gpio + power_led_pin: 4 + hdd_led_pin: 5 + power_switch_pin: 23 + reset_switch_pin: 27 + + msd: + type: otg + + streamer: + h264_bitrate: + default: 5000 + cmd: + - "/usr/bin/ustreamer" + - "--device=/dev/kvmd-video" + - "--persistent" + - "--dv-timings" + - "--format=uyvy" + - "--encoder=omx" + - "--workers=3" + - "--quality={quality}" + - "--desired-fps={desired_fps}" + - "--drop-same-frames=30" + - "--last-as-blank=0" + - "--unix={unix}" + - "--unix-rm" + - "--unix-mode=0660" + - "--exit-on-parent-death" + - "--process-name-prefix={process_name_prefix}" + - "--notify-parent" + - "--no-log-colors" + - "--sink=kvmd::ustreamer::jpeg" + - "--sink-mode=0660" + - "--h264-sink=kvmd::ustreamer::h264" + - "--h264-sink-mode=0660" + - "--h264-bitrate={h264_bitrate}" + - "--h264-gop={h264_gop}" + + gpio: + drivers: + __v4_locator__: + type: locator + + scheme: + __v3_usb_breaker__: + pin: 22 + mode: output + initial: true + pulse: + delay: 0 + + __v4_locator__: + driver: __v4_locator__ + pin: 12 + mode: output + pulse: + delay: 0 + + +vnc: + memsink: + jpeg: + sink: "kvmd::ustreamer::jpeg" + h264: + sink: "kvmd::ustreamer::h264" + + +otg: + remote_wakeup: true diff --git a/configs/os/boot-config/v4mini-hdmi-rpi4.txt b/configs/os/boot-config/v4mini-hdmi-rpi4.txt new file mode 100644 index 00000000..abb8e006 --- /dev/null +++ b/configs/os/boot-config/v4mini-hdmi-rpi4.txt @@ -0,0 +1,21 @@ +# PiKVM +# See /boot/overlays/README for all available options +initramfs initramfs-linux.img followkernel + +hdmi_force_hotplug=1 +gpu_mem=128 +enable_uart=1 +dtoverlay=disable-bt + +# USB emulation +dtoverlay=dwc2,dr_mode=peripheral + +# Video and audio +dtoverlay=tc358743,4lane=1 +dtoverlay=tc358743-audio + +# I2C (display) +dtparam=i2c_arm=on + +# Clock +dtoverlay=i2c-rtc,pcf8563 diff --git a/configs/os/boot-config/v4plus-hdmi-rpi4.txt b/configs/os/boot-config/v4plus-hdmi-rpi4.txt new file mode 100644 index 00000000..abb8e006 --- /dev/null +++ b/configs/os/boot-config/v4plus-hdmi-rpi4.txt @@ -0,0 +1,21 @@ +# PiKVM +# See /boot/overlays/README for all available options +initramfs initramfs-linux.img followkernel + +hdmi_force_hotplug=1 +gpu_mem=128 +enable_uart=1 +dtoverlay=disable-bt + +# USB emulation +dtoverlay=dwc2,dr_mode=peripheral + +# Video and audio +dtoverlay=tc358743,4lane=1 +dtoverlay=tc358743-audio + +# I2C (display) +dtparam=i2c_arm=on + +# Clock +dtoverlay=i2c-rtc,pcf8563 diff --git a/configs/os/cmdline/v4mini-hdmi-rpi4.sed b/configs/os/cmdline/v4mini-hdmi-rpi4.sed new file mode 100644 index 00000000..803b9b03 --- /dev/null +++ b/configs/os/cmdline/v4mini-hdmi-rpi4.sed @@ -0,0 +1 @@ +s/rootwait/cma=128M rootwait/g diff --git a/configs/os/cmdline/v4plus-hdmi-rpi4.sed b/configs/os/cmdline/v4plus-hdmi-rpi4.sed new file mode 100644 index 00000000..803b9b03 --- /dev/null +++ b/configs/os/cmdline/v4plus-hdmi-rpi4.sed @@ -0,0 +1 @@ +s/rootwait/cma=128M rootwait/g diff --git a/configs/os/modules-load/v4mini-hdmi.conf b/configs/os/modules-load/v4mini-hdmi.conf new file mode 100644 index 00000000..f1ede9d1 --- /dev/null +++ b/configs/os/modules-load/v4mini-hdmi.conf @@ -0,0 +1,4 @@ +dwc2 +libcomposite +tc358743 +i2c-dev diff --git a/configs/os/modules-load/v4plus-hdmi.conf b/configs/os/modules-load/v4plus-hdmi.conf new file mode 100644 index 00000000..f1ede9d1 --- /dev/null +++ b/configs/os/modules-load/v4plus-hdmi.conf @@ -0,0 +1,4 @@ +dwc2 +libcomposite +tc358743 +i2c-dev diff --git a/configs/os/sudoers/v4mini-hdmi b/configs/os/sudoers/v4mini-hdmi new file mode 100644 index 00000000..673d4033 --- /dev/null +++ b/configs/os/sudoers/v4mini-hdmi @@ -0,0 +1,2 @@ +kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount +kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount diff --git a/configs/os/sudoers/v4plus-hdmi b/configs/os/sudoers/v4plus-hdmi new file mode 100644 index 00000000..673d4033 --- /dev/null +++ b/configs/os/sudoers/v4plus-hdmi @@ -0,0 +1,2 @@ +kvmd ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-otgmsd-remount +kvmd-pst ALL=(ALL) NOPASSWD: /usr/bin/kvmd-helper-pst-remount diff --git a/configs/os/udev/v4mini-hdmi-rpi4.rules b/configs/os/udev/v4mini-hdmi-rpi4.rules new file mode 100644 index 00000000..88ba66b1 --- /dev/null +++ b/configs/os/udev/v4mini-hdmi-rpi4.rules @@ -0,0 +1,6 @@ +# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name +# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names +KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd" +KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard" +KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse" +KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt" diff --git a/configs/os/udev/v4plus-hdmi-rpi4.rules b/configs/os/udev/v4plus-hdmi-rpi4.rules new file mode 100644 index 00000000..88ba66b1 --- /dev/null +++ b/configs/os/udev/v4plus-hdmi-rpi4.rules @@ -0,0 +1,6 @@ +# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name +# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names +KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="fe801000.csi|fe801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd" +KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard" +KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse" +KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt" |