Connecting to hidden WiFi networks using iwd

As suggested in other thread, I’d like to ask larger group if anyone has been able to successfully connect to hidden wireless networks using iwd.

I have been using wpa_supplicant via NetworkManager (the default config) for couple of years, and it has been working perfectly fine, including for automatically connecting to hidden networks.

I tried out iwd after coming across the other thread, no real reason other than experimentation and it is mostly fine.

I have below in my config:

  networking = {
    # use iNet Wireless Daemon (instead of wpa_supplicant) for wireless device management
    wireless.iwd = {
      enable = true;

      # All options: https://iwd.wiki.kernel.org/networkconfigurationsettings
      settings = {
        Network = {
          EnableIPv6 = true;
          RoutePriorityOffset = 300;
        };
        Settings = {
          AutoConnect = true;
          Hidden = true;
          AlwaysRandomizeAddress = false; # for predictable local network
        };
      };
    };

    networkmanager = {
      enable = true;
      wifi.backend = "iwd";
    };

    interfaces = {
      enp3s0.useDHCP = true;
      wlo1.useDHCP = true;
    };
  };

Practically everything works, except hidden networks. Even below shell command fails to work (after asking for password):

sudo iwctl station wlan0 connect-hidden "hiddenSSID"

Since wpa_supplicant works, I can always go back to it, but I’d like to do my due diligence before giving iwd for now. Any help appreciated.

1 Like