Wi-Fi auto connect after boot

Which I guess the network is not. There might be some clue in the syslog, either from the net server or from wpa_supplicant.

I don’t understand network code, but it seems one possibility to get no auth is a problem getting the network, like I don’t know, maybe the scan has not finished or something? Another one might be that it’s stated in the wireless_networks file humdinger pointed to. While I only have a list of network entries with SSID, it seems one can have among other things authentication entries that would set the auth mode used.

Please do not delete the keystore_database, it may have many other things. You can explore and edit it with the keystore command:

~> keystore list keyrings
keyring: "Calendar"
keyring: "Master"
keyring: "wpa_supplicant"
~> keystore list passwords wpa_supplicant
password key:
        purpose: network
        identifier: [and some more data, including the passwords]
3 Likes

Used the keystore cli already pretty mutch when trying out daily builds for NeoChat, the main app in the depot stores it in “NeoChat”, with keystore remove password neochat I can remove it from the list and launch a binary build with kde-builder to test it out.

EDIT: the cmd above does not remove the password for NeoChat (case sensitive).

Nothing I do seems to create the “/boot/system/settings/network/wireless_network" file.

Can one of y’all post the (redacted, obs) content of yours?

Mine just has a list network SSID lines with the ones I have connected to and saved:

network MYHOME
network MYUNCLES
1 Like

It’s just a one liner (I didn’t need to add it manually, it was already there):

network <SSID>

Yes, there is:

BMessage(0x0) {
        format = uint32(0x1 or 1)
        keyrings[0] = BMessage(0x0) {
                noData = bool(true)
                hasUnlockKey = bool(false)
                name = string("Master", 7 bytes)
        }
        keyrings[1] = BMessage(0x0) {
                data = (type = 'RAWT')(size = 963)
                hasUnlockKey = bool(false)
                name = string("wpa_supplicant", 15 bytes)
        }
}

None of the above helps though. It won’t auto connect because it assumes “Open” authentication.

Well, that didn’t go well. :slight_smile:

I created the file as described and rebooted.

The wireless did not try to autoconnect, and when I manually told it to it claimed to be connected but did not manage to get a config from DHCP.

I deleted the file and it reconnected and got an IP from DHCP immediately, but couldn’t ping anything.

Rebooting again (without the file) put it back to normal.

That sequence of events makes no sense at all. :slight_smile:

Hi everyone,

​A few days ago, I installed Beta 5 on an old HP laptop equipped with an RTL8188EE wireless card. I noticed that on boot, it wouldn’t automatically connect to my saved network.

​While troubleshooting, I checked the /boot/system/settings/network/wireless_networks file, and the network name was listed there correctly.

​I also checked the keystore using the following command:

keystore list passwords wpa_supplicant

Both the network SSID and the password appeared to be saved properly.

​Then, I noticed that my SSID consists of two words separated by a space. I decided to modify the network name inside the /boot/system/settings/network/wireless_networks file by adding quotes around it, like this:

network “MY SSID”

​…and now everything works perfectly! Just wanted to share this in case anyone else bumps into the same issue with SSIDs containing spaces.

5 Likes

Mine doesn’t have spaces, but it does have some other special characters so I’ll try this on my next reboot. Thanks for the suggestion.

EDIT: sadly, still no automatic connect.

What is the component which creates the wireless network file?
When I try ti connect to a wireless network, the system asks if I want to store that configuration, but the file never gets created. In fact, I have to connect manually on every boot

1 Like

The wireless_networks file gets saved and loaded in the network kit’s BNetworkSettings.

Those are used in various network add-ons and the Networking prefs. Maybe some strategically placed printf() or syslog() and building such a customized net_server can help with debugging.

At the very least, it should be created when a network is added, unless there’s an error. While testing the issue with spaces in the SSID (fixed in hrev59738), that’s indeed what happened to me.

I see the call to add the networks in wpa_supplicant. One possibility to not end in the file is that it’s not considered persistent, which as far as I can tell, is controlled by the “Store this configuration” checkbox.

1 Like

I noticed something today and I think it is worth posting, just in case. As I am not at home, I tried connecting to another wifi network and all of a sudden, no issues at all. No need to try any of the tricks suggested in this thread. it just works; not only that, but it also auto connects at boot instantly (I don’t even see the “configuring / connecting” message). The only real difference is at home I have a hidden SSID, which I’ve set years ago and never caused issues in GNU/Linux or FreeBSD. Otherwise, same laptop, same provider, same security authentication, same network speed. At home I had to add a line in `UserBootscript, as recommended by @humdinger here and, even then, I have to change Authentication to “WPA/WPA2” every single time the computer boots.

So I wonder if hidden SSID is the problem. I doubt it is, other people have the same problem, and if all of them actually used a hidden SSID someone would have mentioned that already. But you never know. I mean, it makes some sense: at least for me, the real reason it doesn’t auto connect at boot seems to be it doesn’t know the security model, and it assumes “Open” network, which is not.

I can’t believe it! Just adding the quote marks was enough to get Haiku to connect at boot. I’ve been clicking to connect to the network every time I turn on my PC for 10 years!

Riepilogo

Non ci posso credere! È bastato aggiungere le virgolette perché Haiku si connettesse all’avvio. Sono 10 anni che, ogni volta che accendo il PC, devo cliccare per connettermi alla rete!

5 Likes

Try when you’re back home. :slight_smile:

Though, I have to say that I used to also get these “Open-instead-of-WPA/WPA2” issues before. Without a hidden SSID.
As I mentioned, the auto-connect has been working for me for quite a while now. Unfortunately, I can’t remember exactly when… It might very well be when I changed my old FritzBox to a new TP-Link access point. So maybe it’s some subtle hardware/protocol incompatibility.

I also got the same problem, no auto connect, or saving the information to the file /boot/system/settings/network/wireless_networks , also tried the UserBoot but seems not to do it.

Haiku revision: hrev59741

I had a script in the setting/boot/launch folder which also used ifconfig to start wifi, but it always came with a popup window for the wifi, checked the box to save the information, but it didnt do that.

My machine is an Lenovo Thinkpad x1 Carbon Gen6.

I’d say it indeed is. Even if it is not for anybody else, let’s try to fix it for you.

When the networks are scanned, you won’t get a name for yours as it is hidden. As we just save the name in the known networks list, none is matched and we don’t automatically connect to anything. When you try to join through ifconfig, it just has a name that cannot match to an AP, so it doesn’t know what cipher protocol to use, among other things.

I’ll have to test all that, but the solution may be as simple as saving the MAC with the name in the known networks file.

Is not a better good option to add this to the prefences network gui???

I have the same problem with wifi autoconnect. In my machine, it used to work fine with r1beta4, r1beta5 and the nightlies after that. Some months ago it started to connect to an “open” wireless network, then asking for the password to my network (although having it stored correctly)… For a test, downgraded my install from nightlies (hrev59778 and a last week one too) to r1beta5, and the autoconnect worked perfectly. Upgrading to nightlies causes the autoconnect to fail again…

1 Like

Can it also be an issue of the WiFi band? I got the same name for my wifi network on the 2.4G and 5G bands. I have updated to the latest versions of the nightly build, but still the same issue.

It shouldn’t. Though you probably have less devices on 2.4G, rename it and let us know if it works better.