Armbian: How to Enable Wi-Fi – A Complete Setup Guide

operating system Armbian Pi is one of the most popular Linux distributions for single-board computers such as the Orange Pi, Banana Pi, and Rock Pi. However, unlike desktop PCs, it often lacks a graphical interface, making initial wireless setup a challenging task for beginners. Many users encounter a situation where the system doesn't detect any available networks after the first boot, requiring manual intervention via the terminal.

Enabling the wireless module in Armbian is a process that requires an understanding of network managers and the command line. Standard graphical utilities are not available by default, so all actions are performed through command entry. Proper setup NetworkManager or connman will allow your device to work stably in your home network without the need for an Ethernet cable.

In this guide, we'll cover all current connection methods, from automated utilities to manually editing configuration files. You'll learn how to check for adapter availability, install the necessary drivers, and configure a static IP address for remote access. Attention: The command line interface can be intimidating, but following the instructions carefully will ensure a successful result even with minimal experience.

Checking compatibility and availability of a Wi-Fi adapter

The first step before attempting a connection is to physically and software-check the presence of a wireless module. Not all single-board computers have built-in Wi-Fi, and some models require an external USB adapter. In the terminal, you need to run the command lsusb, which will list all connected USB devices, including built-in controllers.

If you are using an external adapter, make sure it is supported by the Linux kernel that uses ArmbianMost modern chips from Realtek, MediaTek, and Qualcomm work out of the box, but older or more exotic models may require proprietary drivers. Device not listed lsusb may indicate a problem with the power supply to the USB port or a malfunction of the module itself.

⚠️ Note: Some high-power USB Wi-Fi adapters may draw more current than a single port on the board can provide. In such cases, it is recommended to use a USB hub with an external power supply to avoid system instability.

For more detailed information about network interfaces, use the command ip link or outdated, but understandable ifconfig -aYou should see an interface with a name like wlan0, wlp2s0 or similar. If instead of the interface name only lo (loopback) and eth0, then the system did not detect wireless equipment.

Checking drivers is a critical step. It often happens that a device is detected, but the driver for it is not loaded. In Armbian, you can check the loaded kernel modules with the command lsmodIf you know the chip model of your adapter, look for the corresponding module in this list. If the module is missing, you may need to install a package. firmware-realtek or similar via package manager apt.

Using nmtui for quick connection

The easiest and most convenient way to set up Wi-Fi in Armbian is to use the text interface. NetworkManager, known as nmtuiThis utility provides a pseudo-graphical menu controlled by the arrow keys and Enter, making the process similar to BIOS setup. To launch it, simply enter the command nmtui in the terminal as superuser.

In the menu that opens, select "Edit a connection" or "Activate a connection." The system will scan the air and offer a list of available networks. Select your network from the list, enter the password, and confirm. NetworkManager will automatically create a connection profile and attempt to obtain an IP address via DHCP.

☑️ Configuration via nmtui

Completed: 0 / 5

If automatic connection doesn't occur, check the service status. In some minimalist Armbian builds, NetworkManager may be disabled by default in favor of connman or systemd-networkdIn this case, launch nmtui may return an error or show no interfaces. Make sure the service is active by running the command systemctl status NetworkManager.

After successfully entering the password and receiving the address, you can exit the utility. To check the result, use the command ping 8.8.8.8If the packets are moving, then the Internet is working. nmtui It also allows you to configure static IP addresses, DNS servers, and other settings in the profile editing section, which is useful for server tasks.

📊 Which network setup method do you prefer?
Graphical interface (if any)
nmtui text menu
nmcli command line
Manual file editing

Setting up Wi-Fi via the command line (nmcli)

For advanced users or when setting up remote servers without interactive mode, the utility is ideal nmcli (NetworkManager command line interface). It allows you to manage connections with a single line of code, making it convenient for scripting and quick configuration. The command syntax may seem complex, but it is very flexible and powerful.

To connect to the network, you first need to scan for available access points. Run the command nmcli dev wifi listYou'll see a table with the SSID, operating mode, channel, and signal strength. Find your network name in the list. If your network isn't listed, the adapter may be blocked or in monitoring mode.

To connect, use the following design: nmcli dev wifi connect "NETWORK_NAME" password "YOUR_PASSWORD"Please note that the network name and password must be enclosed in quotation marks if they contain special characters or spaces. The system will attempt to create a new connection and activate it. If successful, you will see the message "Device 'wlan0' successfully activated."

⚠️ Note: When entering a password on the command line, it may appear in your bash command history. For security, use the --ask option to silently prompt for the password, or clear the command history after setting it up.

If you need to configure a static IP address, you need to complicate the command by adding parameters ipv4.method manual, ipv4.addresses And ipv4.gateway. For example: nmcli con mod "CONNECTION_NAME" ipv4.addresses 192.168.1.50/24After changing the parameters, the connection must be restarted with the command nmcli con up "CONNECTION_NAME".

Managing profiles in nmcli Allows you to create multiple configurations for different locations. You can easily switch between them, delete old ones, or change priorities. This is especially useful for Armbian-based mobile devices that move between different access points.

Troubleshooting driver and firmware issues

One of the most common reasons why Wi-Fi doesn't work on Armbian is the lack of firmware (firmware) for a specific chip. The Linux kernel can see the device, but without the firmware binary, it won't function. The system usually reports this in the logs, indicating missing firmware.

To install missing packages, first update the repository lists with the command apt updateThen try installing the generic firmware package: apt install firmware-linux-nonfree or specific to your manufacturer, for example, firmware-realtekAfter installation, be sure to reboot the system.

Chip manufacturer Firmware package Typical devices
Realtek firmware-realtek RTL8821CU, RTL8723BS
MediaTek firmware-misc-nonfree MT7921, MT7601U
Broadcom firmware-brcm80211 BCM43xx series
Intel firmware-iwlwifi Intel Dual Band

In some cases, the standard Debian/Ubuntu repositories, on which Armbian is based, may not contain the latest firmware for new hardware. In these cases, you must search for drivers on GitHub and compile them manually. This process requires installing kernel headers (linux-headers) and compilation tools (build-essential).

What should I do if the driver compiles with errors?

Manually compiling drivers often results in errors due to incompatible kernel versions. In this case, try finding a ready-made DKMS module in the repositories or using the Long Term Support (LTS) kernel that ships with Armbian.

It's also worth checking whether the system is blocking the wireless module programmatically. The command rfkill list will show the status of all radio interfaces. If you see the status "Soft blocked: yes", unlock the device with the command rfkill unblock wifiHardware blocking ("Hard blocked") is usually resolved by flipping a physical switch or removing the battery (if it's a laptop), but is rare on single-board computers.

Static IP and DNS Configuration

For server-based tasks such as website hosting, databases, or Home Assistant, it's critical that the device's network address remains constant. A dynamic IP assigned by a router can change after a reboot, disrupting client connections. Setting a static address solves this problem.

In Armbian, which uses NetworkManager, static IP is set via nmcli or nmtui. In manual mode of editing the configuration file (usually in /etc/network/interfaces or via Netplan in new versions of Ubuntu-based builds) you need to specify the address, mask, gateway and DNS. Example line for interfaces: static ip_address=192.168.1.50/24.

Pay special attention to setting up your DNS servers. By default, the system uses your provider's DNS, but for greater reliability and speed, it's best to specify public servers, such as Google (8.8.8.8) or Cloudflare (1.1.1.1). This will speed up domain name resolution and improve network resiliency.

⚠️ Important: When setting up a static IP, ensure the selected address is within your router's subnet but outside the DHCP pool range. Otherwise, an address conflict may occur, and one of the devices may lose network connectivity.

Checking static settings is performed by the command ip addr showMake sure the address is assigned to the interface. It's also useful to check the default route with the command ip route — your gateway (router) should be listed there. Without the correct gateway, internet access will be impossible, even if the local network is working.

Diagnosing and optimizing wireless connections

Even after a successful connection, stability or speed issues may still occur. Armbian provides powerful diagnostic tools. iwconfig Shows your current connection speed (Link Quality), signal strength, and noise level. Low signal strength is often the cause of connection drops.

To analyze the surrounding ether, use the command iwlist wlan0 scanningIt will display all available networks, their channels, and frequencies. If your router is operating on a channel that is heavily congested by neighboring networks, your speed may drop. In this case, it might be worth reconfiguring your router to a less congested channel or switching to the 5 GHz band if your adapter supports the standard. 802.11ac or ax.

Error logging is key to solving complex problems. Files /var/log/syslog or dmesg Contain detailed information about driver operation. Look for lines with the words "error," "fail," or "disconnect." These often reveal the reason why the adapter keeps disconnecting.

Power optimization can also improve Wi-Fi performance. Some adapters try to save power by going into sleep mode, which causes lag. You can disable this with the command iwconfig wlan0 power offThis will increase power consumption, but will make the connection more responsive.

Why doesn't Armbian see my Wi-Fi adapter?

Most likely, the driver or firmware for the specific chip model is missing. Check the output of the lsusb command, find the device ID, and search the repositories for the corresponding firmware package. It's also possible that the adapter requires more power than the USB port provides.

How to save Wi-Fi settings after reboot?

Settings made via nmtui or nmcli are automatically saved in NetworkManager profiles. If you edited the files manually, ensure the syntax is correct and restart the network or NetworkManager service.

Can I use my Wi-Fi adapter as a hotspot?

Yes, Armbian supports access point mode. This can be configured via nmcli (type wifi parameter) or by creating a corresponding profile in nmtui. However, the adapter driver must support Master/AP mode.

Which Wi-Fi adapter is better for Orange Pi or Banana Pi?

Adapters based on Realtek chips (e.g., RTL8812AU, RTL8821CU) or MediaTek are recommended, as they have better support in the Linux kernel. Avoid adapters with proprietary drivers that are not included in the mainline kernel.

How to find out the IP address of a connected Wi-Fi?

Use the ip addr show wlan0 command (replace wlan0 with the name of your interface). The IP address will be listed after the inet label. You can also use the hostname -I command to display all IP addresses on the device.