#!/bin/bash # ========================================================================== # # # # KVMD - The main PiKVM daemon. # # # # Copyright (C) 2018-2023 Maxim Devaev # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # # # # ========================================================================== # set -x # udevadm info -a -p $(udevadm info -q path -n /dev/video0) board="$1" port="$2" # https://gist.github.com/mdevaev/6eb65be689142e5ac16da7542f50830f model="$(tr < /proc/device-tree/model -d '\000')" case "$board" in "rpi2") case "$model" in "Raspberry Pi 2 Model B Rev 1.1") if [ "$port" == "1-1.5:1.0" ]; then exit 0; else exit 1; fi;; *) exit 0;; esac;; "rpi3") case "$model" in "Raspberry Pi 3 Model B Rev 1.2") if [ "$port" == "1-1.5:1.0" ]; then exit 0; else exit 1; fi;; "Raspberry Pi 3 Model B Plus Rev 1.3") if [ "$port" == "1-1.2:1.0" ]; then exit 0; else exit 1; fi;; *) exit 0;; esac;; "rpi4") case "$model" in "Raspberry Pi 4 Model B Rev 1.1" | "Raspberry Pi 4 Model B Rev 1.2" | "Raspberry Pi 4 Model B Rev 1.4" | "Raspberry Pi 4 Model B Rev 1.5") if [ "$port" == "1-1.4:1.0" ]; then exit 0; else exit 1; fi;; *) exit 0;; esac;; *) exit 1;; esac