added core daemon script
This commit is contained in:
parent
bed03404fe
commit
1d1a1b8a22
44
scripts/navka-core.sh
Normal file
44
scripts/navka-core.sh
Normal file
@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# Proven Pi-5 configfs gadget: HID keyboard+mouse + stereo UAC2
|
||||
set -euo pipefail
|
||||
|
||||
mountpoint -q /sys/kernel/config || mount -t configfs configfs /sys/kernel/config
|
||||
G=/sys/kernel/config/usb_gadget/navka
|
||||
|
||||
[[ -d $G ]] && echo "" >"$G/UDC" && rm -rf "$G"
|
||||
|
||||
mkdir -p "$G"
|
||||
echo 0x1d6b >"$G/idVendor" # Linux Foundation
|
||||
echo 0x0104 >"$G/idProduct" # Multifunction Composite Gadget
|
||||
echo 0x0200 >"$G/bcdUSB"
|
||||
|
||||
mkdir -p "$G/strings/0x409"
|
||||
echo "0001" >"$G/strings/0x409/serialnumber"
|
||||
echo "Navka" >"$G/strings/0x409/manufacturer"
|
||||
echo "Navka Composite" >"$G/strings/0x409/product"
|
||||
|
||||
# HID (boot keyboard)
|
||||
mkdir -p "$G/functions/hid.usb0"
|
||||
echo 1 >"$G/functions/hid.usb0/protocol"
|
||||
echo 1 >"$G/functions/hid.usb0/subclass"
|
||||
echo 8 >"$G/functions/hid.usb0/report_length"
|
||||
echo -ne '\x05\x01\x09\x06\xa1\x01\x05\x07\x19\xe0\x29\xe7\x15\x00\x25'\
|
||||
'\x01\x75\x01\x95\x08\x81\x02\x95\x01\x75\x08\x81\x01\x95\x05\x75\x01'\
|
||||
'\x05\x08\x19\x01\x29\x05\x91\x02\x95\x01\x75\x03\x91\x01\x95\x06\x75'\
|
||||
'\x08\x15\x00\x25\x65\x05\x07\x19\x00\x29\x65\x81\x00\xc0' \
|
||||
>"$G/functions/hid.usb0/report_desc"
|
||||
|
||||
# UAC2 stereo 48 kHz
|
||||
mkdir -p "$G/functions/uac2.usb0"
|
||||
echo 48000 >"$G/functions/uac2.usb0/c_srate"
|
||||
echo 2 >"$G/functions/uac2.usb0/c_ssize"
|
||||
echo 2 >"$G/functions/uac2.usb0/p_chmask"
|
||||
|
||||
mkdir -p "$G/configs/c.1/strings/0x409"
|
||||
echo "Config 1" >"$G/configs/c.1/strings/0x409/configuration"
|
||||
echo 500 >"$G/configs/c.1/MaxPower"
|
||||
|
||||
ln -s "$G/functions/hid.usb0" "$G/configs/c.1/"
|
||||
ln -s "$G/functions/uac2.usb0" "$G/configs/c.1/"
|
||||
|
||||
echo "$(ls /sys/class/udc | head -n1)" >"$G/UDC"
|
||||
Loading…
x
Reference in New Issue
Block a user