Compare commits

...

10 Commits

Author SHA1 Message Date
4f629facca usb fix 2025-07-06 09:51:02 -05:00
7844ec9870 usb fix 2025-07-06 03:25:45 -05:00
17b70bec5e usb fix 2025-07-05 21:33:12 -05:00
0615992d9b usb fix 2025-07-05 20:12:58 -05:00
29933a685e usb fix 2025-07-05 17:08:48 -05:00
7222020631 usb fix 2025-07-05 15:21:12 -05:00
f04fc1c02a usb fix 2025-07-05 14:02:03 -05:00
a1d6728c59 usb fix 2025-07-05 13:43:56 -05:00
29c51fe694 install features - usb fix 2025-07-05 13:19:59 -05:00
28f564c8d6 install features - usb fix 2025-07-05 12:54:49 -05:00

View File

@ -6,6 +6,11 @@
set -euo pipefail
log() { printf '[lesavka-core] %s\n' "$*"; }
cleanup() { echo "" >"$G/UDC" 2>/dev/null || true; }
exec 2> >(tee -a /tmp/lesavka-core.debug.$(date +%s).log)
set -x
echo "[lesavka-core] running: $0 (sha1sum=$(sha1sum "$0" | cut -d' ' -f1))"
#──────────────────────────────────────────────────
# 1. Ensure overlay + kernel modules
@ -155,20 +160,45 @@ for s in fs hs ss; do
ln -sf "$header_h" "$F/streaming/class/$s/h"
done
# controlinterface header share the very same directory
mkdir -p "$F/control/header"
# ln -sf "$header_h" "$F/control/header/h"
# for s in fs hs ss; do
# mkdir -p "$F/control/class/$s"
# ln -sf "$header_h" "$F/control/class/$s/h"
# done
# ── 4. VideoControl interface ─────────────────────────────────────
mkdir -p "$F/control/header/h" # real dir mandatory
mkdir -p "$F/control/class" # parent once
echo 0x0 >"$F/control/terminal/camera/default/bmControls" 2>/dev/null || true
echo 0x0 >"$F/control/processing/default/bmControls" 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
# ensure the perspeed dir exists (created by kernel)
mkdir -p "$F/control/class/$s" # harmless if already there
# create the mandatory *symlink inside* that directory:
ln -snf ../../header/h "$F/control/class/$s/h"
done
for s in fs hs ss; do
[ -L "$F/control/class/$s/h" ] || {
echo "[lesavkacore] ❌ $s/h link missing, aborting" >&2
exit 1
}
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
}
done
# optional: hide unsupported controls
echo 0 >"$F/control/terminal/camera/default/bmControls" 2>/dev/null || true
echo 0 >"$F/control/processing/default/bmControls" 2>/dev/null || true
# friendly label
# mkdir -p "$F/control/header/strings/0x409"
# echo "LesavkaUVC" >"$F/control/header/strings/0x409/label"
mkdir -p "$F/control/header/strings/0x409"
echo "Lesavka UVC" >"$F/control/header/strings/0x409/label"
# ----------------------- configuration -----------------------------
mkdir -p "$G/configs/c.1/strings/0x409"