core: tolerate missing uvc control speeds

This commit is contained in:
Brad Stein 2025-11-30 18:09:52 -03:00
parent e223d90db4
commit e5e5cd2630

View File

@ -163,32 +163,30 @@ done
# ── 4. VideoControl interface ─────────────────────────────────────
mkdir -p "$F/control/header/h" # real dir mandatory
mkdir -p "$F/control/class" # parent once
mkdir -p "$F/control/class/fs" "$F/control/class/hs" "$F/control/class/ss"
mkdir -p "$F/control/class/fs" "$F/control/class/hs" "$F/control/class/ss" 2>/dev/null || true
echo "[lesavka-core] ★ directory tree just before links:"
tree -L 3 "$F/control" | sed 's/^/[lesavka-core] /'
for s in fs hs ss; do
mkdir -p "$F/control/class/$s"
# use absolute path to avoid relative path issues under configfs
ln -snf "$F/control/header/h" "$F/control/class/$s/h"
# best-effort: some UDCs reject certain speeds; skip on failure
if mkdir -p "$F/control/class/$s" 2>/dev/null; then
ln -snf "$F/control/header/h" "$F/control/class/$s/h" 2>/dev/null || \
log "⚠️ control/class/$s/h link missing (continuing)"
else
log "⚠️ skipping control/class/$s (mkdir failed)"
fi
done
for s in fs hs ss; do
[ -L "$F/control/class/$s/h" ] || {
echo "[lesavkacore] ❌ $s/h link missing, aborting" >&2
exit 1
}
[ -L "$F/control/class/$s/h" ] || log "⚠️ $s/h link missing (continuing)"
done
echo "[lesavka-core] ★ directory tree just before bind:"
tree -L 3 "$F/control" | sed 's/^/[lesavka-core] /'
for s in fs hs ss; do
[ -L "$F/control/class/$s" ] || {
echo "[lesavka-core] ❌ $s link missing, gadget aborting" >&2
exit 1
}
[ -L "$F/control/class/$s" ] || log "⚠️ $s link missing (continuing)"
done
# optional: hide unsupported controls