Connecting to Wi-Fi in openSUSE: 3 Proven Methods + Troubleshooting

Distribution openSUSE — is one of the most stable and flexible in the Linux family, but setting up Wi-Fi in it sometimes raises questions for beginners. Unlike Ubuntu or Mint, where network drivers are often installed automatically, in openSUSE Manual configuration may be required, especially if you're using custom hardware or a recent kernel version. This article will help you figure out how to connect to a wireless network using a graphical interface, a terminal, or a utility. nmtui, and also what to do if Wi-Fi doesn't work.

We will look at current methods for openSUSE Leap 15.5/15.6 And Tumbleweed (rolling-release), taking into account the peculiarities of the encrypted network WPA2/WPA3, hidden SSIDs and corporate protocols like 802.1XIf you encounter an error "Device not managed" or the Wi-Fi module is not detected at all - you will also find a solution here.

1. Connection via graphical interface (KDE/GNOME)

The easiest way is to use the built-in desktop tools. openSUSE There are two popular graphical shells available by default: KDE Plasma (in the Leap version) and GNOME (in Tumbleweed). The instructions for them are slightly different, but the principle is the same.

For KDE Plasma:

  1. Click on the network icon in the lower right corner of the panel (the antenna or globe icon).
  2. Select the desired network from the drop-down menu Wi-Fi from the list.
  3. Enter your password and click Connect.
  4. If the network is not listed, click Network settingsAdd a new network and enter SSID manually.

For GNOME:

  • 📶 Click on the network icon in the upper right corner.
  • 🔍 Choose Wi-Fi is not connectedSelect network.
  • 🔐 Enter your password and confirm the connection.
  • 🔄 If the network is hidden, click Connect to a hidden network and indicate SSID.

In both cases, after the first connection, the network will be saved in the profile. NetworkManager, and reconnection will occur automatically. If the network icon is not on the panel, check if the service is running. NetworkManager:

systemctl status NetworkManager
📊 What desktop environment do you use on openSUSE?
KDE Plasma
GNOME
XFCE
Another one
Don't know

2. Connecting via terminal (nmcli)

If the graphical interface is not available (for example, on the server version openSUSE without GUI) or you prefer to work in the console, use the utility nmcli — a team client for NetworkManagerThis method is universal and works even if the network requires complex authentication.

First, check if wireless devices are available:

nmcli device status

In the output, find the device with the type wifi (usually wlan0 or wlp3s0). If it is not there, see the section on drivers.

To connect to the network:

  1. Get a list of available networks:
    nmcli device wifi list
  2. Connect to the network (replace SSID And password):
    nmcli device wifi connect "SSID" password "password"
  3. For hidden network add flag hidden yes:
    nmcli device wifi connect "SSID" password "password" hidden yes

If the network uses WPA3 or enterprise authentication (for example, PEAP), the command will be more complex. Example for a corporate network:

nmcli connection add type wifi con-name "WorkWiFi" ifname wlan0 ssid "CorpNet" \

wifi-sec.key-mgmt wpa-eap \

802-1x.eap peap \

802-1x.phase2-auth mschapv2 \

802-1x.identity "username" \

802-1x.password "password"

3. Using the nmtui utility (text interface)

Utility nmtui offers a semi-graphical interface in the terminal—a convenient option for those who don't like remembering commands nmcliIt is part of NetworkManager and does not require additional installation.

To run:

sudo nmtui

In the menu, select Activate a connection, then:

  • 🔍 Find your network in the list (or click Scan for updating).
  • 🔑 Enter your password if required.
  • ✅ Click OK And Activate.
  • 📡 For a hidden network, select New → specify SSID and security parameters.

nmtui It also allows you to edit existing connections, change network priorities, and set up a static IP address. For example, to set a fixed address:

  1. In the main menu, select Edit a connection.
  2. Select your network and click Edit.
  3. In the section IPv4 Configuration select Manual.
  4. Add an address (eg. 192.168.1.100/24), gateway and DNS.

Make sure NetworkManager is running (systemctl status NetworkManager)

Check the wireless interface name (ip a or iwconfig)

Find out the exact network SSID (case sensitive!)

Prepare a password or security key-->

4. Troubleshooting Wi-Fi drivers

If your wireless device is not detected by the system, the problem is most likely due to a missing driver. openSUSE supports most modern chips (eg Intel AX200, Qualcomm Atheros, Realtek RTL8821CE), but some require manual installation.

Check if the device is detected:

lspci -knn | grep -iA3 net

Or for USB adapters:

lsusb

General solutions:

Problem Possible cause Solution
The device is not showing up in lspci Disabled in BIOS or physically damaged Check your BIOS settings (Wireless LAN should be Enabled)
The device is visible but does not work. There is no proprietary driver (for example, for Broadcom) Install the package broadcom-wl or rtl8821ce-dkms from the repository Packman
The network is visible but does not connect. Incompatibility with WPA3 or 802.11r Turn it off Fast Transition in the router settings or update wpa_supplicant
Constant connection breaks Nutritional problems (eg iwlwifi (for Intel) Disable power saving: iwconfig wlan0 power off

To install drivers from the repository Packman:

sudo zypper ar -cfp 90 https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman

sudo zypper install broadcom-wl

How to find out the model of a Wi-Fi adapter in Linux?

If lspci or lsusb don't provide enough information, use:

dmesg | grep -i firmware

or for a detailed report:

sudo lshw -class network

These commands will show the exact chip model and loaded drivers.

5. Configuring Wi-Fi for hidden networks and enterprise authentication

Hidden Networks (hidden SSID) and corporate networks with 802.1X require additional parameters. In the graphical interface, they can be specified when manually adding a network, and in the terminal - via nmcli or configuration files.

Example configuration for a hidden network in /etc/NetworkManager/system-connections/:

[connection]

id=MyHiddenWiFi

type=wifi

interface-name=wlan0

[wifi]

ssid=MyHiddenNetwork

hidden=true

mode=infrastructure

[wifi-security]

key-mgmt=wpa-psk

psk=my_secret_password

[ipv4]

method=auto

[ipv6]

method=auto

For WPA2-Enterprise (for example, in universities or offices) you will need to indicate:

  • 🆔 identity — login (usually email or domain name).
  • 🔑 password — account password.
  • 🛡️ eap — authentication method (peap, ttls or tls).
  • 📜 phase2-auth — internal method (mschapv2 for PEAP).

If the server certificate is not trusted, add:

802-1x.ca-cert=/path/to/certificate.crt

6. Diagnostics and troubleshooting

If Wi-Fi doesn't connect, start by checking the logs:

journalctl -u NetworkManager --no-pager -n 50

Common errors and their solutions:

  • 🚫 "Device not managed"NetworkManager does not control the device. Solution:
    sudo nmcli dev set wlan0 managed yes
  • 🔌 "Activation of network connection failed" — Incorrect password or security type. Check:
    sudo nmcli connection show "SSID" | grep wifi-sec
  • 📡 "No Wi-Fi adapter found" — The driver is missing. Install it from the repository or the manufacturer's website.
  • "Connection activated but no internet" — DHCP or routing issues. Check:
    ping 8.8.8.8

    And

    nmcli connection show "SSID" | grep ipv4

If the problem is kernel incompatibility with the driver (relevant for Tumbleweed with the new kernel), try:

  1. Roll back to an older kernel version via GRUB.
  2. Install the driver from the source (eg. rtl8821ce for Realtek).
  3. Add kernel parameter modprobe.blacklist=module_name V /etc/default/grub.
sudo dhclient -v wlan0

This command will show the process of obtaining an IP address and possible errors.-->

7. Automate connection at boot

To connect Wi-Fi automatically when the system starts:

  1. Check that the network is saved in NetworkManager:
    nmcli connection show
  2. Enable auto-connection:
    nmcli connection modify "SSID" connection.autoconnect yes
  3. Make sure that NetworkManager starts at boot:
    sudo systemctl enable NetworkManager

If you use systemd-networkd instead of NetworkManager, configure the file /etc/systemd/network/25-wireless.network:

[Match]

Name=wlan0

[Network]

DHCP=yes

[Route]

Gateway=192.168.1.1

Metric=100

For openSUSE Tumbleweed With wicked (alternative NetworkManager):

sudo wicked show wlan0

And edit the config in /etc/sysconfig/network/ifcfg-wlan0.

8. Security: How to protect your connection

When setting up Wi-Fi in openSUSE Consider the risks:

  • 🔓 Storing passwords in cleartext in config files NetworkManager (they are encrypted only when used KWallet in KDE).
  • 🕵️ Connecting to public networks without a VPN (traffic may be intercepted).
  • 📶 Automatic connection to unknown networks (risk of connecting to false access points).

Recommendations:

  1. Use KWallet (KDE) or Seahorse (GNOME) for secure password storage.
  2. Set up firewalld To block unwanted connections:
    sudo systemctl enable firewalld
    

    sudo firewall-cmd --add-service=dhcpv6-client --permanent

    sudo firewall-cmd --reload

  3. For public networks, use a VPN (eg. OpenVPN or WireGuard).

FAQ: Frequently Asked Questions

My Wi-Fi adapter isn't detected in openSUSE. What should I do?

First, check if the device is visible in the system:

lspci -k | grep -A 3 -i network

If you have an adapter but it doesn't work, install the driver:

  • For Broadcom: sudo zypper install broadcom-wl.
  • For Realtek RTL88xx: add repository Packman and install rtl8821ce-dkms.
  • For Intel: update the package iwlwifi.

If the adapter is not displayed even in lspci, check if it is enabled in BIOS (Wireless LANEnabled).

How to connect to Wi-Fi without NetworkManager?

Can be used wpa_supplicant And dhclient:

  1. Create a config /etc/wpa_supplicant/wpa_supplicant.conf:
    network={
    

    ssid="Your_SSID"

    psk="Your_password"

    }

  2. Connect to the network:
    sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
  3. Get an IP address:
    sudo dhclient wlan0

To automatically connect on boot, add these commands to /etc/rc.local or create a service systemd.

Why is Wi-Fi unstable in openSUSE Tumbleweed?

IN Tumbleweed The kernel and drivers are frequently updated, which can lead to conflicts. Solutions:

  • Roll back to the previous kernel version via GRUB (select Advanced options → old kernel).
  • Update the driver manually (for example, for Realtek Download the latest version from GitHub).
  • Disable power saving for Wi-Fi:
    sudo iwconfig wlan0 power off

If the problem persists, check the logs:

dmesg | grep iwlwifi

(For Intel) or

dmesg | grep rtl

(For Realtek).

How to set up roaming between multiple Wi-Fi networks?

If you need to automatically switch between networks (for example, at home and at work), set up priorities in NetworkManager:

nmcli connection modify "WorkWiFi" connection.autoconnect-priority 10

nmcli connection modify "HomeWiFi" connection.autoconnect-priority 20

The higher the number, the higher the priority. You can also configure:

  • Automatic connection only to known networks:
    nmcli radio wifi enabled
  • Ignoring weak signals (e.g. less than 30%):
    nmcli connection modify "SSID" wifi.powersave 0
Can openSUSE be used as a Wi-Fi hotspot?

Yes, for this you need to install the package hostapd and configure it:

  1. Install hostapd And dnsmasq:
    sudo zypper install hostapd dnsmasq
  2. Create a config /etc/hostapd/hostapd.conf:
    interface=wlan0
    

    driver=nl80211

    ssid=MyHotspot

    hw_mode=g

    channel=6

    wpa=2

    wpa_passphrase=my_password

    wpa_key_mgmt=WPA-PSK

  3. Start the access point:
    sudo systemctl start hostapd

To share the Internet, turn on IP forwarding and set up NAT through iptables.