Update App version to 0.0.2

This commit is contained in:
luckfox-eng29
2025-09-16 11:03:46 +08:00
parent 8fbd6bcf0d
commit 15d276652c
45 changed files with 3347 additions and 252 deletions

View File

@@ -1,8 +1,11 @@
package usbgadget
import (
"bufio"
"fmt"
"os"
"os/exec"
"strings"
)
type gadgetConfigItem struct {
@@ -51,6 +54,8 @@ var defaultGadgetConfig = map[string]gadgetConfigItem{
"configuration": "Config 1: HID",
},
},
// mtp
"mtp": mtpConfig,
// keyboard HID
"keyboard": keyboardConfig,
// mouse HID
@@ -91,6 +96,8 @@ func (u *UsbGadget) isGadgetConfigItemEnabled(itemKey string) bool {
return u.enabledDevices.MassStorage
case "mass_storage_lun0":
return u.enabledDevices.MassStorage
case "mtp":
return u.enabledDevices.Mtp
case "audio":
return u.enabledDevices.Audio
default:
@@ -184,6 +191,45 @@ func mountConfigFS(path string) error {
return nil
}
func mountFunctionFS(path string) error {
err := os.MkdirAll("/dev/ffs-mtp", 0755)
if err != nil {
return fmt.Errorf("failed to create mtp dev dir: %w", err)
}
mounted := false
if f, err := os.Open("/proc/mounts"); err == nil {
scanner := bufio.NewScanner(f)
for scanner.Scan() {
if strings.Contains(scanner.Text(), functionFSPath) {
mounted = true
break
}
}
f.Close()
}
if !mounted {
err := exec.Command("mount", "-t", "functionfs", "mtp", path).Run()
if err != nil {
return fmt.Errorf("failed to mount functionfs: %w", err)
}
}
umtprdRunning := false
if out, err := exec.Command("pgrep", "-x", "umtprd").Output(); err == nil && len(out) > 0 {
umtprdRunning = true
}
if !umtprdRunning {
cmd := exec.Command("umtprd")
if err := cmd.Start(); err != nil {
return fmt.Errorf("failed to exec binary: %w", err)
}
}
return nil
}
func (u *UsbGadget) Init() error {
u.configLock.Lock()
defer u.configLock.Unlock()