From 65a31f76d64fa9f4a944fa5ba9eb94e2a64412f8 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Wed, 25 Jun 2025 08:25:13 -0500 Subject: [PATCH] updated installer for gc311 --- scripts/install-server.sh | 41 ++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/scripts/install-server.sh b/scripts/install-server.sh index f21f2b8..8e5c066 100755 --- a/scripts/install-server.sh +++ b/scripts/install-server.sh @@ -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 </dev/null <