lesavka: let server install continue without capture cards

This commit is contained in:
Brad Stein 2026-04-16 16:25:01 -03:00
parent 4a88535960
commit 52510ac20d

View File

@ -116,33 +116,42 @@ if [ "${#GC_VIDEOS[@]}" -ne 2 ]; then
fi
if [ "${#GC_VIDEOS[@]}" -ne 2 ]; then
echo "❌ Exactly two GC311 capture cards (index0) must be attached!" >&2
printf ' Detected: %s\n' "${GC_VIDEOS[@]}"
exit 1
fi
echo "⚠️ GC311 capture cards not fully present; skipping udev eye-link refresh." >&2
if [ "${#GC_VIDEOS[@]}" -eq 0 ]; then
echo " Detected: none" >&2
else
printf ' Detected: %s\n' "${GC_VIDEOS[@]}" >&2
fi
echo " The server install will continue, and existing /dev/lesavka_* links stay untouched." >&2
else
mapfile -t TAGS < <(
for v in "${GC_VIDEOS[@]}"; do
sudo udevadm info -q property -n "$v" |
awk -F= '/^ID_PATH_TAG=/{print $2}'
done
)
mapfile -t TAGS < <(
for v in "${GC_VIDEOS[@]}"; do
sudo udevadm info -q property -n "$v" |
awk -F= '/^ID_PATH_TAG=/{print $2}'
done
)
if [ -z "${TAGS[0]:-}" ] || [ -z "${TAGS[1]:-}" ]; then
echo "⚠️ GC311 cards were detected, but ID_PATH_TAG lookup was incomplete." >&2
echo " Skipping udev eye-link refresh and preserving any existing /dev/lesavka_* links." >&2
else
printf ' ↪ Left card: %s (%s)\n' "${GC_VIDEOS[0]}" "${TAGS[0]}"
printf ' ↪ Right card: %s (%s)\n' "${GC_VIDEOS[1]}" "${TAGS[1]}"
printf ' ↪ Left card: %s (%s)\n' "${GC_VIDEOS[0]}" "${TAGS[0]}"
printf ' ↪ Right card: %s (%s)\n' "${GC_VIDEOS[1]}" "${TAGS[1]}"
LEFT_TAG=${TAGS[0]}
RIGHT_TAG=${TAGS[1]}
LEFT_TAG=${TAGS[0]}
RIGHT_TAG=${TAGS[1]}
sudo tee /etc/udev/rules.d/85-gc311.rules >/dev/null <<EOF
sudo tee /etc/udev/rules.d/85-gc311.rules >/dev/null <<EOF
# auto-generated by lesavka/scripts/daemon/install-server.sh - DO NOT EDIT
SUBSYSTEM=="video4linux", ATTR{index}=="0", ENV{ID_PATH_TAG}=="$LEFT_TAG", SYMLINK+="lesavka_l_eye"
SUBSYSTEM=="video4linux", ATTR{index}=="0", ENV{ID_PATH_TAG}=="$RIGHT_TAG", SYMLINK+="lesavka_r_eye"
EOF
sudo udevadm control --reload
sudo udevadm trigger --subsystem-match=video4linux
sudo udevadm settle
sudo udevadm control --reload
sudo udevadm trigger --subsystem-match=video4linux
sudo udevadm settle
fi
fi
echo "==> 3. Rust toolchain"
sudo rustup default stable