updated installer for gc311
This commit is contained in:
parent
3663f9c4f3
commit
65a31f76d6
@ -31,34 +31,39 @@ echo "==> 2b. Predictable /dev names for each capture card"
|
|||||||
# RULES
|
# RULES
|
||||||
|
|
||||||
# probe all v4l2 devices, keep only the two GC311 capture cards
|
# probe all v4l2 devices, keep only the two GC311 capture cards
|
||||||
mapfile -t TAGS < <(
|
mapfile -t GC_VIDEOS < <(
|
||||||
for v in /dev/video*; do
|
v4l2-ctl --list-devices |
|
||||||
if udevadm info -q property -n "$v" | grep 'ID_USB_VENDOR_ID=07ca'; then
|
awk '/Live Gamer MINI/{getline; print $1}'
|
||||||
# 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
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if [ "${#TAGS[@]}" -ne 2 ]; then
|
if [ "${#GC_VIDEOS[@]}" -ne 2 ]; then
|
||||||
echo "❌ Exactly two GC311 devices must be attached!" >&2
|
echo "❌ Exactly two GC311 capture cards (index0) must be attached!" >&2
|
||||||
|
printf ' Detected: %s\n' "${GC_VIDEOS[@]}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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]}
|
LEFT_TAG=${TAGS[0]}
|
||||||
RIGHT_TAG=${TAGS[1]}
|
RIGHT_TAG=${TAGS[1]}
|
||||||
|
|
||||||
cat <<EOF | sudo tee /etc/udev/rules.d/85-gc311.rules
|
sudo tee /etc/udev/rules.d/85-gc311.rules >/dev/null <<EOF
|
||||||
# auto‑generated by install‑server.sh – DO NOT EDIT
|
# auto‑generated by install‑server.sh – DO NOT EDIT
|
||||||
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="07ca", ATTRS{idProduct}=="3311", \\
|
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="07ca", ATTRS{idProduct}=="3311", \
|
||||||
ATTRS{index}=="0", ENV{ID_PATH_TAG}=="$LEFT_TAG", SYMLINK+="lesavka_l_eye"
|
ATTRS{index}=="0", ENV{ID_PATH_TAG}=="$LEFT_TAG", SYMLINK+="lesavka_l_eye"
|
||||||
|
|
||||||
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="07ca", ATTRS{idProduct}=="3311", \\
|
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="07ca", ATTRS{idProduct}=="3311", \
|
||||||
ATTRS{index}=="0", ENV{ID_PATH_TAG}=="$RIGHT_TAG", SYMLINK+="lesavka_r_eye"
|
ATTRS{index}=="0", ENV{ID_PATH_TAG}=="$RIGHT_TAG", SYMLINK+="lesavka_r_eye"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
sudo udevadm control --reload
|
sudo udevadm control --reload
|
||||||
sudo udevadm trigger --subsystem-match=video4linux
|
sudo udevadm trigger --subsystem-match=video4linux
|
||||||
udevadm settle
|
udevadm settle
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user