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:
- Click on the network icon in the lower right corner of the panel (the antenna or globe icon).
- Select the desired network from the drop-down menu
Wi-Fifrom the list. - Enter your password and click
Connect. - If the network is not listed, click
Network settings→Add a new networkand enterSSIDmanually.
For GNOME:
- 📶 Click on the network icon in the upper right corner.
- 🔍 Choose
Wi-Fi is not connected→Select network. - 🔐 Enter your password and confirm the connection.
- 🔄 If the network is hidden, click
Connect to a hidden networkand indicateSSID.
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
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:
- Get a list of available networks:
nmcli device wifi list - Connect to the network (replace
SSIDAndpassword):nmcli device wifi connect "SSID" password "password" - 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
Scanfor updating). - 🔑 Enter your password if required.
- ✅ Click
OKAndActivate. - 📡 For a hidden network, select
New→ specifySSIDand 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:
- In the main menu, select
Edit a connection. - Select your network and click
Edit. - In the section
IPv4 ConfigurationselectManual. - 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,ttlsortls). - 📜
phase2-auth— internal method (mschapv2for 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"—NetworkManagerdoes 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.8And
nmcli connection show "SSID" | grep ipv4
If the problem is kernel incompatibility with the driver (relevant for Tumbleweed with the new kernel), try:
- Roll back to an older kernel version via
GRUB. - Install the driver from the source (eg.
rtl8821cefor Realtek). - Add kernel parameter
modprobe.blacklist=module_nameV/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:
- Check that the network is saved in
NetworkManager:nmcli connection show - Enable auto-connection:
nmcli connection modify "SSID" connection.autoconnect yes - Make sure that
NetworkManagerstarts 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 usedKWalletin 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:
- Use
KWallet(KDE) orSeahorse(GNOME) for secure password storage. - Set up
firewalldTo block unwanted connections:sudo systemctl enable firewalldsudo firewall-cmd --add-service=dhcpv6-client --permanent
sudo firewall-cmd --reload - For public networks, use a VPN (eg.
OpenVPNorWireGuard).
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
Packmanand installrtl8821ce-dkms. - For Intel: update the package
iwlwifi.
If the adapter is not displayed even in lspci, check if it is enabled in BIOS (Wireless LAN → Enabled).
How to connect to Wi-Fi without NetworkManager?
Can be used wpa_supplicant And dhclient:
- Create a config
/etc/wpa_supplicant/wpa_supplicant.conf:network={ssid="Your_SSID"
psk="Your_password"
} - Connect to the network:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf - 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(selectAdvanced 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:
- Install
hostapdAnddnsmasq:sudo zypper install hostapd dnsmasq - Create a config
/etc/hostapd/hostapd.conf:interface=wlan0driver=nl80211
ssid=MyHotspot
hw_mode=g
channel=6
wpa=2
wpa_passphrase=my_password
wpa_key_mgmt=WPA-PSK - Start the access point:
sudo systemctl start hostapd
To share the Internet, turn on IP forwarding and set up NAT through iptables.