mirror of
https://github.com/luckfox-eng29/kvm.git
synced 2026-01-18 03:28:19 +01:00
Update App version to 0.0.2
This commit is contained in:
39
usb.go
39
usb.go
@@ -12,6 +12,17 @@ var gadget *usbgadget.UsbGadget
|
||||
// initUsbGadget initializes the USB gadget.
|
||||
// call it only after the config is loaded.
|
||||
func initUsbGadget() {
|
||||
resp, _ := rpcGetSDMountStatus()
|
||||
if resp.Status == SDMountOK {
|
||||
if err := writeUmtprdConfFile(true); err != nil {
|
||||
usbLogger.Error().Err(err).Msg("failed to write umtprd conf file")
|
||||
}
|
||||
} else {
|
||||
if err := writeUmtprdConfFile(false); err != nil {
|
||||
usbLogger.Error().Err(err).Msg("failed to write umtprd conf file")
|
||||
}
|
||||
}
|
||||
|
||||
gadget = usbgadget.NewUsbGadget(
|
||||
"kvm",
|
||||
config.UsbDevices,
|
||||
@@ -38,6 +49,34 @@ func initUsbGadget() {
|
||||
}
|
||||
}
|
||||
|
||||
func initSystemInfo() {
|
||||
go func() {
|
||||
for {
|
||||
if !networkState.HasIPAssigned() {
|
||||
vpnLogger.Warn().Msg("waiting for network get IPv4 address, will retry in 3 seconds")
|
||||
time.Sleep(3 * time.Second)
|
||||
continue
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
err := writeSystemInfoImg()
|
||||
if err != nil {
|
||||
usbLogger.Error().Err(err).Msg("failed to create system_info.img")
|
||||
}
|
||||
|
||||
mediaState, _ := rpcGetVirtualMediaState()
|
||||
if mediaState != nil && mediaState.Filename == "system_info.img" {
|
||||
usbLogger.Error().Err(err).Msg("system_info.img is busy")
|
||||
} else if mediaState == nil || mediaState.Filename == "" {
|
||||
err = rpcMountWithStorage("system_info.img", Disk)
|
||||
if err != nil {
|
||||
usbLogger.Error().Err(err).Msg("failed to mount system_info.img")
|
||||
}
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
func rpcKeyboardReport(modifier uint8, keys []uint8) error {
|
||||
return gadget.KeyboardReport(modifier, keys)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user