Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. [Solved]Lost Wifi settings after reboot
Forum Updated to NodeBB v4.3 + New Features

[Solved]Lost Wifi settings after reboot

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
14 Posts 3 Posters 2.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • JoeCFDJ JoeCFD

    @Kuzma30 said in Lost Wifi settings after reboot:

    QNetworkSettingsManager

    You can not find the class QNetworkSettingsManager From here
    https://doc.qt.io/qt-6/classes.html
    Was it dropped in Qt6? I guess you are running Qt6 example.
    What are your Qt version and OS?

    K Offline
    K Offline
    Kuzma30
    wrote on last edited by
    #5

    @JoeCFD said in Lost Wifi settings after reboot:

    QNetworkSettingsManager

    Qt 6.7.0 (boot2qt distro), OS linux

    Axel SpoerlA 1 Reply Last reply
    0
    • K Kuzma30

      @JoeCFD said in Lost Wifi settings after reboot:

      QNetworkSettingsManager

      Qt 6.7.0 (boot2qt distro), OS linux

      Axel SpoerlA Offline
      Axel SpoerlA Offline
      Axel Spoerl
      Moderators
      wrote on last edited by
      #6

      @Kuzma30
      But there's no QNetworkSettingsManagerin 6.7....

      Software Engineer
      The Qt Company, Oslo

      K 1 Reply Last reply
      0
      • Axel SpoerlA Axel Spoerl

        @Kuzma30
        But there's no QNetworkSettingsManagerin 6.7....

        K Offline
        K Offline
        Kuzma30
        wrote on last edited by
        #7

        @Axel-Spoerl
        Agree (I don't know from where I get this files in my bsp). Now I rolling back to 6.6.
        How to connect to WiFI nbetwork with SSID and password in v6.6?

        Axel SpoerlA 1 Reply Last reply
        0
        • K Kuzma30

          @Axel-Spoerl
          Agree (I don't know from where I get this files in my bsp). Now I rolling back to 6.6.
          How to connect to WiFI nbetwork with SSID and password in v6.6?

          Axel SpoerlA Offline
          Axel SpoerlA Offline
          Axel Spoerl
          Moderators
          wrote on last edited by
          #8

          @Kuzma30
          It was removed.
          The reason, in a nutshell, is that the OS typically takes care of that and an application shouldn't manage its own network settings.

          Software Engineer
          The Qt Company, Oslo

          K 1 Reply Last reply
          0
          • Axel SpoerlA Axel Spoerl

            @Kuzma30
            It was removed.
            The reason, in a nutshell, is that the OS typically takes care of that and an application shouldn't manage its own network settings.

            K Offline
            K Offline
            Kuzma30
            wrote on last edited by
            #9

            @Axel-Spoerl
            But this code works in QML 6.6 (Set button for enter password for SSID)

                            QtButton{
                                id: setButton
                                text: qsTr("SET")
                                height: GUIParam.dialogButtonSize
                                onClicked: {
                                    if (showSsid) {
                                        NetworkSettingsManager.connectBySsid(ssidField.text, passField.text)
                                        showSsid = false
                                    } else {
                                        NetworkSettingsManager.userAgent.setPassphrase(passField.text)
                                    }
                                    passphrasePopup.visible = false;
                                }
                            }
            
            Axel SpoerlA 1 Reply Last reply
            0
            • K Kuzma30

              @Axel-Spoerl
              But this code works in QML 6.6 (Set button for enter password for SSID)

                              QtButton{
                                  id: setButton
                                  text: qsTr("SET")
                                  height: GUIParam.dialogButtonSize
                                  onClicked: {
                                      if (showSsid) {
                                          NetworkSettingsManager.connectBySsid(ssidField.text, passField.text)
                                          showSsid = false
                                      } else {
                                          NetworkSettingsManager.userAgent.setPassphrase(passField.text)
                                      }
                                      passphrasePopup.visible = false;
                                  }
                              }
              
              Axel SpoerlA Offline
              Axel SpoerlA Offline
              Axel Spoerl
              Moderators
              wrote on last edited by
              #10

              @Kuzma30
              Can you post a screenshot of what it does, when it runs?

              Software Engineer
              The Qt Company, Oslo

              K 1 Reply Last reply
              0
              • Axel SpoerlA Axel Spoerl

                @Kuzma30
                Can you post a screenshot of what it does, when it runs?

                K Offline
                K Offline
                Kuzma30
                wrote on last edited by
                #11

                @Axel-Spoerl
                img1.jpg img2.jpg img3.jpg img4.jpg

                I make photo of procedure connecting to WiFi in my app. User can't access to system parameters.

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  Kuzma30
                  wrote on last edited by
                  #12

                  I am trying auto connect to wifi when main window loaded from ssid andd pass

                      Component.onCompleted: {
                          console.log("Check WiFi param")
                          var ssid = param.getParameterValue("WIFI_SSID")
                  
                          if (ssid !== "none") {
                              console.log("Power On WiFi")
                              for (var i = 0; NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i) !== null; i++) {
                                  var wifiInterface = NetworkSettingsManager.interface(NetworkSettingsType.Wifi, 0);
                                  wifiInterface.powered = true;
                                  pauseWiFi.start()
                                  console.log("power on")
                              }
                              NetworkSettingsManager.interfacesChanged();
                              wifiSwitchTimer.start();
                          }
                      }
                      Timer {
                          id: pauseWiFi
                          interval: 1000
                          running: false
                      }
                      Timer {
                          id: wifiSwitchTimer
                          interval: 5000
                          running: false
                          onTriggered: {
                              var ssid = param.getParameterValue("WIFI_SSID")
                  
                              var pass = param.getParameterValue("WIFI_PASSWORD")
                  
                              console.log("Connecting to WiFi " + ssid)
                              NetworkSettingsManager.connectBySsid(ssid, pass)
                          }
                      }
                  

                  But I get error

                  Tried to scan while not powered
                  
                  K 1 Reply Last reply
                  0
                  • K Kuzma30

                    I am trying auto connect to wifi when main window loaded from ssid andd pass

                        Component.onCompleted: {
                            console.log("Check WiFi param")
                            var ssid = param.getParameterValue("WIFI_SSID")
                    
                            if (ssid !== "none") {
                                console.log("Power On WiFi")
                                for (var i = 0; NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i) !== null; i++) {
                                    var wifiInterface = NetworkSettingsManager.interface(NetworkSettingsType.Wifi, 0);
                                    wifiInterface.powered = true;
                                    pauseWiFi.start()
                                    console.log("power on")
                                }
                                NetworkSettingsManager.interfacesChanged();
                                wifiSwitchTimer.start();
                            }
                        }
                        Timer {
                            id: pauseWiFi
                            interval: 1000
                            running: false
                        }
                        Timer {
                            id: wifiSwitchTimer
                            interval: 5000
                            running: false
                            onTriggered: {
                                var ssid = param.getParameterValue("WIFI_SSID")
                    
                                var pass = param.getParameterValue("WIFI_PASSWORD")
                    
                                console.log("Connecting to WiFi " + ssid)
                                NetworkSettingsManager.connectBySsid(ssid, pass)
                            }
                        }
                    

                    But I get error

                    Tried to scan while not powered
                    
                    K Offline
                    K Offline
                    Kuzma30
                    wrote on last edited by
                    #13

                    Updated code. More progress.

                        Component.onCompleted: {
                            NetworkSettingsManager.interfacesChanged()
                            pauseWiFi.start()
                        }
                        Timer {
                            id: pauseWiFi
                            interval: 3000
                            running: false
                            onTriggered: {
                                NetworkSettingsManager.services.type = NetworkSettingsType.Wifi;
                                console.log("Check WiFi param")
                                var ssid = param.getParameterValue("WIFI_SSID")
                    
                                if (ssid !== "none") {
                                    console.log("Power On WiFi")
                                    //sc.setWiFiOn()
                    
                                    for (var i = 0; NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i) !== null; i++) {
                                        console.log("i="+i)
                                        var wifiInterface = NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i);
                                        wifiInterface.powered = true;
                    
                                        console.log("power on")
                                    }
                    
                                }
                                wifiSwitchTimer.start();
                            }
                        }
                        Timer {
                            id: wifiSwitchTimer
                            interval: 5000
                            running: false
                            onTriggered: {
                                var ssid = param.getParameterValue("WIFI_SSID")
                    
                                var pass = param.getParameterValue("WIFI_PASSWORD")
                    
                                console.log("Connecting to WiFi  \""+ ssid + "\"")
                    
                                NetworkSettingsManager.userAgent.setPassphrase(pass)
                                NetworkSettingsManager.connectBySsid(ssid, pass)
                                NetworkSettingsManager.interfacesChanged()
                            }
                        }
                    

                    Now program poweron WiFi, NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i) != null.
                    But result of connectBySsid() with correct ssid and pass - powered on WiFi but without connection.
                    I try code with and without NetworkSettingsManager.interfacesChanged() in the end. Same results.

                    K 1 Reply Last reply
                    0
                    • K Kuzma30

                      Updated code. More progress.

                          Component.onCompleted: {
                              NetworkSettingsManager.interfacesChanged()
                              pauseWiFi.start()
                          }
                          Timer {
                              id: pauseWiFi
                              interval: 3000
                              running: false
                              onTriggered: {
                                  NetworkSettingsManager.services.type = NetworkSettingsType.Wifi;
                                  console.log("Check WiFi param")
                                  var ssid = param.getParameterValue("WIFI_SSID")
                      
                                  if (ssid !== "none") {
                                      console.log("Power On WiFi")
                                      //sc.setWiFiOn()
                      
                                      for (var i = 0; NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i) !== null; i++) {
                                          console.log("i="+i)
                                          var wifiInterface = NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i);
                                          wifiInterface.powered = true;
                      
                                          console.log("power on")
                                      }
                      
                                  }
                                  wifiSwitchTimer.start();
                              }
                          }
                          Timer {
                              id: wifiSwitchTimer
                              interval: 5000
                              running: false
                              onTriggered: {
                                  var ssid = param.getParameterValue("WIFI_SSID")
                      
                                  var pass = param.getParameterValue("WIFI_PASSWORD")
                      
                                  console.log("Connecting to WiFi  \""+ ssid + "\"")
                      
                                  NetworkSettingsManager.userAgent.setPassphrase(pass)
                                  NetworkSettingsManager.connectBySsid(ssid, pass)
                                  NetworkSettingsManager.interfacesChanged()
                              }
                          }
                      

                      Now program poweron WiFi, NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i) != null.
                      But result of connectBySsid() with correct ssid and pass - powered on WiFi but without connection.
                      I try code with and without NetworkSettingsManager.interfacesChanged() in the end. Same results.

                      K Offline
                      K Offline
                      Kuzma30
                      wrote on last edited by
                      #14

                      Final code, that working for me

                         Component.onCompleted: {
                              NetworkSettingsManager.interfacesChanged()
                              pauseWiFi.start()
                          }
                          Timer {
                              id: pauseWiFi
                              interval: 3000
                              running: false
                              onTriggered: {
                                  NetworkSettingsManager.services.type = NetworkSettingsType.Wifi;
                                  console.log("Check WiFi param")
                                  var ssid = param.getParameterValue("WIFI_SSID")
                      
                                  if (ssid !== "none") {
                                      console.log("Power On WiFi")
                                      for (var i = 0; NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i) !== null; i++) {
                                          console.log("i="+i)
                                          var wifiInterface = NetworkSettingsManager.interface(NetworkSettingsType.Wifi, i);
                                          wifiInterface.powered = true;
                      
                                          console.log("power on")
                                      }
                      
                                  }
                                  wifiSwitchTimer.start();
                              }
                          }
                          property var connectingService: null
                          Timer {
                              id: wifiSwitchTimer
                              interval: 5000
                              running: false
                              onTriggered: {
                                  var ssid = param.getParameterValue("WIFI_SSID")
                      
                                  var pass = param.getParameterValue("WIFI_PASSWORD")
                      
                                  console.log("Connecting to WiFi  \""+ ssid + "\"")
                      
                                  for (var index = 0; index < 10; index++) {
                                      if (NetworkSettingsManager.services.itemFromRow(index).name===ssid){
                                          console.log("Found SSID at index = "+ index)
                                          root.connectingService = NetworkSettingsManager.services.itemFromRow(index)
                                      }
                                  }
                                  root.connectingService.connectService();
                                  NetworkSettingsManager.userAgent.setPassphrase(pass)
                                  vpntimer.start();
                              }
                      
                          }
                              Timer{
                                  id: vpntimer
                                  interval: 5000
                                  running: false
                                   onTriggered: {
                                       console.log("Start VPN")
                                       processWrapper.executeCommand("systemctl start openvpn-client@client")
                                   }
                              }
                      
                      
                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved