updated installer for gc311

This commit is contained in:
Brad Stein 2025-06-25 08:25:13 -05:00
parent 3663f9c4f3
commit 65a31f76d6

View File

@ -31,34 +31,39 @@ echo "==> 2b. Predictable /dev names for each capture card"
# RULES
# probe all v4l2 devices, keep only the two GC311 capture cards
mapfile -t TAGS < <(
for v in /dev/video*; do
if udevadm info -q property -n "$v" | grep 'ID_USB_VENDOR_ID=07ca'; then
# extract the stable port token (ID_PATH_TAG=…)
udevadm info -q property -n "$v" |
awk -F= '/^ID_PATH_TAG=/{print $2}'
else
echo "GC311 not on $v"
fi
done | sort
mapfile -t GC_VIDEOS < <(
v4l2-ctl --list-devices |
awk '/Live Gamer MINI/{getline; print $1}'
)
if [ "${#TAGS[@]}" -ne 2 ]; then
echo "❌ Exactly two GC311 devices must be attached!" >&2
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
mapfile -t TAGS < <(
for v in "${GC_VIDEOS[@]}"; do
udevadm info -q property -n "$v" |
awk -F= '/^ID_PATH_TAG=/{print $2}'
done
)
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]}
cat <<EOF | sudo tee /etc/udev/rules.d/85-gc311.rules
# autogenerated by installserver.sh DO NOT EDIT
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="07ca", ATTRS{idProduct}=="3311", \\
ATTRS{index}=="0", ENV{ID_PATH_TAG}=="$LEFT_TAG", SYMLINK+="lesavka_l_eye"
sudo tee /etc/udev/rules.d/85-gc311.rules >/dev/null <<EOF
# autogenerated by installserver.sh DO NOT EDIT
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="07ca", ATTRS{idProduct}=="3311", \
ATTRS{index}=="0", ENV{ID_PATH_TAG}=="$LEFT_TAG", SYMLINK+="lesavka_l_eye"
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="07ca", ATTRS{idProduct}=="3311", \\
ATTRS{index}=="0", ENV{ID_PATH_TAG}=="$RIGHT_TAG", SYMLINK+="lesavka_r_eye"
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="07ca", ATTRS{idProduct}=="3311", \
ATTRS{index}=="0", ENV{ID_PATH_TAG}=="$RIGHT_TAG", SYMLINK+="lesavka_r_eye"
EOF
sudo udevadm control --reload
sudo udevadm trigger --subsystem-match=video4linux
udevadm settle