mirror of
https://github.com/RoganDawes/P4wnP1_aloa.git
synced 2025-03-27 01:51:45 +01:00
Update service to reinitialize USB network interface after changes to USB gadget
This commit is contained in:
parent
0c7a9f6bf1
commit
4154a82def
@ -33,10 +33,9 @@ func main() {
|
||||
log.Fatalf("Error while setting up the default gadget: %v", err)
|
||||
}
|
||||
|
||||
err = service.InitDefaultNetworkSettings()
|
||||
if err != nil {
|
||||
log.Fatalf("Error while applying default network settings: %v", err)
|
||||
}
|
||||
|
||||
service.DeployWifiSettings(service.GetDefaultWiFiSettings())
|
||||
|
||||
|
||||
service.InitLed(false) //Set LED to manual trigger
|
||||
service.InitDefaultLEDSettings()
|
||||
|
@ -13,21 +13,23 @@ import (
|
||||
"errors"
|
||||
)
|
||||
|
||||
var (
|
||||
StoredNetworkSetting map[string]*pb.EthernetInterfaceSettings = make(map[string]*pb.EthernetInterfaceSettings)
|
||||
)
|
||||
|
||||
func InitDefaultNetworkSettings() (err error) {
|
||||
//ToDo: declare managed interfaces to not check from hand
|
||||
usbEthActive,_ := CheckInterfaceExistence(USB_ETHERNET_BRIDGE_NAME)
|
||||
if usbEthActive {
|
||||
err = ConfigureInterface(GetDefaultNetworkSettingsUSB())
|
||||
if err != nil { return }
|
||||
}
|
||||
func init() {
|
||||
//preinitialize Default settings for "wlan0" and USB_ETHERNET_BRIDGE_NAME ("usbeth")
|
||||
StoredNetworkSetting[USB_ETHERNET_BRIDGE_NAME] = GetDefaultNetworkSettingsUSB()
|
||||
StoredNetworkSetting["wlan0"] = GetDefaultNetworkSettingsWiFi()
|
||||
}
|
||||
|
||||
wifiEthActive, _ := CheckInterfaceExistence("wlan0")
|
||||
if wifiEthActive {
|
||||
err = ConfigureInterface(GetDefaultNetworkSettingsWiFi())
|
||||
if err != nil { return }
|
||||
func ReInitNetworkInterface(ifName string) (err error) {
|
||||
if settings, existing := StoredNetworkSetting[ifName]; existing {
|
||||
log.Printf("Redeploying stored Network settings for interface '%s' ...\n", ifName)
|
||||
return ConfigureInterface(settings)
|
||||
} else {
|
||||
return errors.New(fmt.Sprintf("No stored interface settings found for '%s'\n", ifName))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func ParseIPv4Mask(maskstr string) (net.IPMask, error) {
|
||||
@ -190,5 +192,8 @@ func ConfigureInterface(settings *pb.EthernetInterfaceSettings) (err error) {
|
||||
|
||||
}
|
||||
|
||||
//Store latest settings
|
||||
StoredNetworkSetting[settings.Name] = settings
|
||||
|
||||
return nil
|
||||
}
|
@ -168,7 +168,7 @@ func pollForUSBEthernet(timeout time.Duration) error {
|
||||
}
|
||||
|
||||
func InitDefaultGadgetSettings() (err error) {
|
||||
err = DeployGadgetSettings(GetDefaultGadgetSettings())
|
||||
err = DeployGadgetSettings(GetDefaultGadgetSettings()) //Deploy default settings to ConfigFS
|
||||
if err != nil { return }
|
||||
GadgetSettingsState = GetDefaultGadgetSettings() //populate settings state with same values
|
||||
return nil
|
||||
@ -590,6 +590,8 @@ func DeployGadgetSettings(settings pb.GadgetSettings) error {
|
||||
//add USBEthernet bridge including the usb interfaces
|
||||
log.Printf("... creating network bridge for USB ethernet devices")
|
||||
addUSBEthernetBridge()
|
||||
log.Printf("... checking for stored network interface settings for USB ethernet")
|
||||
ReInitNetworkInterface(USB_ETHERNET_BRIDGE_NAME)
|
||||
} else {
|
||||
return err
|
||||
}
|
||||
|
@ -142,7 +142,8 @@ func DeployWifiSettings(ws *pb.WiFiSettings) (err error) {
|
||||
|
||||
}
|
||||
|
||||
log.Printf("... WiFi settings deployed successfully\n")
|
||||
log.Printf("... WiFi settings deployed successfully, checking for stored interface configuration...\n")
|
||||
ReInitNetworkInterface(ifName)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user