Add WiFi Driver
Summary
This guide covers adding WiFi driver support for USB wireless adapters on the Banana Pro and Banana Pi. The Banana Pi does not have onboard WiFi, so a USB dongle is the primary way to add wireless connectivity. Even on the Banana Pro, a USB adapter may be preferred for better range or 5 GHz support.
Who This Is For
Users who have a USB WiFi adapter and need to install or compile the appropriate driver for their Banana Pro or Banana Pi running Linux.
What You Will Do
- Identify your USB WiFi adapter's chipset.
- Check if a driver is already included in the running kernel.
- Install or compile an out-of-tree driver if necessary.
- Install firmware files and configure the adapter.
Step-by-Step Procedure
Step 1 — Identify the Adapter Chipset
Plug in the USB WiFi adapter and run:
lsusb
Look for your adapter in the output. Note the vendor and product ID (e.g., 0bda:8179). Common chipsets found in affordable USB adapters include:
- RTL8188EU / RTL8188EUS: Very common, single-band 2.4 GHz.
- RTL8192CU: Older Realtek dual-stream 2.4 GHz.
- MT7601U: MediaTek single-band, well supported in mainline kernels.
- AR9271: Atheros chipset, fully open-source driver (ath9k_htc).
Step 2 — Check for Built-in Kernel Support
Many common chipsets are supported by the kernel out of the box. Check with:
dmesg | grep -i wifi
dmesg | grep -i firmware
lsmod | grep -E "8188|8192|mt76|ath9k"
If the driver loaded successfully, you should see a new wireless interface in iwconfig. If so, skip to Step 5.
Step 3 — Install Firmware Packages
Some drivers require separate firmware blobs. Install the common firmware package:
sudo apt update
sudo apt install firmware-realtek firmware-atheros firmware-ralink
After installing, unplug and replug the adapter, or reload the module:
sudo modprobe -r 8188eu && sudo modprobe 8188eu
Step 4 — Compile an Out-of-Tree Driver
If the kernel does not include your chipset's driver, you may need to compile one. Ensure you have build tools installed:
sudo apt install build-essential linux-headers-$(uname -r) git
Clone the driver repository for your chipset (for example, for RTL8188EU):
git clone https://github.com/lwfinger/rtl8188eu.git
cd rtl8188eu
make
sudo make install
sudo modprobe 8188eu
Verify the module loaded with lsmod and check for a new wireless interface with iwconfig.
Step 5 — Configure the Wireless Connection
Once the driver is loaded and a wireless interface is available, configure it using wpa_supplicant:
wpa_passphrase "YourSSID" "YourPassword" | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
sudo dhclient wlan0
See the WiFi Configuration page for detailed connection instructions.
Step 6 — Persist the Driver Across Reboots
Add the module name to /etc/modules so it loads automatically:
echo "8188eu" | sudo tee -a /etc/modules
Verification
After configuration, confirm connectivity:
iwconfig wlan0
ip a show wlan0
ping -c 4 8.8.8.8
You should see an associated SSID, an assigned IP address, and successful ping replies.
Troubleshooting
- Driver fails to compile: Ensure you have the correct kernel headers installed. Run
uname -rand verify the headers package matches. - Firmware missing: Check
dmesgfor messages like "firmware not found." Install the appropriate firmware package or place the firmware file manually in/lib/firmware. - USB power issues: Some adapters draw more current than the board's USB ports can supply. Use a powered USB hub if the adapter disconnects intermittently.
- Module loads but no interface appears: The driver version may be incompatible with your kernel. Try a different driver repository or update your kernel.
Related Pages
Author: LeMaker Documentation Team
Last updated: 2026-02-10