Skip to content

Instantly share code, notes, and snippets.

@MBing
Last active March 23, 2025 00:05
Show Gist options
  • Save MBing/de297a8ae5e8a191c55a67a568d20d31 to your computer and use it in GitHub Desktop.
Save MBing/de297a8ae5e8a191c55a67a568d20d31 to your computer and use it in GitHub Desktop.
install TP-Link-WN725N Nano USB Wifi on Raspberry Pi with Kernel 5.10+
# DO NOT PUT THE WIFI DONGLE IN THE DEVICE BEFORE MENTIONED EXPLICITLY BELOW
# Brief note, after this the UI will not show the usb dongle,
# the wifi does work and I get an IP address, so all works,
# but I don't go into detail of making it show on the Raspbian UI.
# (for this purpose I don't care about the UI)
# For the use of this I connected my device to an ethernet connection and through the Router could see the IP which I can SSH into.
## STEP 1: Prepare machine and install packages needed
# Make sure the system is up to date and all that needs to be installed is installed
`sudo apt-get update && sudo apt-get install -f`
# I also upgrade my distro, but this step can be skipped
`sudo apt-get dist-upgrade`
# Install some necessary packages as we will build the source firmware ourselves
`sudo apt-get install -y build-essential git`
# There is a package for raspberry pi to add the kernel headers, so you can pick one here (if one doesn't work, use the other)
`sudo apt-get install -y linux-headers`
`sudo apt-get install -y raspberrypi-kernel-headers`
# reboot for changes to take effect
`sudo reboot`
## STEP 2: Get and install the firmware for TP-Link-WN725N Nano
# Download the Github package (for best support use git clone instead of zip)
# I just put this on my home folder as I am not using this RPI for any other purpose than a livecam
`git clone https://github.com/lwfinger/rtl8188eu.git`
# Go into the new folder
`cd rtl8188eu`
# Make the source for your machine
`make`
# Install the firmware that was just build for your machine
`sudo make install`
# Reboot for changes to take effect
`sudo reboot`
# Shutdown now as we need to have the usb dongle in the RPI on startup
`sudo shutdown -h now`
## STEP 3: (INSERT USB DONGLE BEFORE CONTINUING) Check if dongle is recognized by the system
# After starting your rpi check if it now recognizes your wifi dongle
`lsusb`
# This should show something like `BUS 00X .... REALTEK... RTL8188EUS... Wireless Network Adapter`
# Great your wifi dongle is now recognised. If not, you probably don't have this dongle or you need to repeat the above steps.
# Check if modules are being loaded
`lsmod`
# Search for something like `8188eu ... 0`
# Check if wlan0 is present
`ifconfig -a`
# There should be quite some output next to and under `wlan0`, if there's an IP address already visible, skip all next steps it's working.
## STEP 4: Setup wifi settings
# Add wifi settings
`sudo vi /etc/network/interfaces`
# Search for `auto wlan0` at the start, if it's not there, add it and keep the file open
# Make sure it knows where to find the wpa config
# Add these lines to the bottom of the same file:
```
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
```
## STEP 5: Connect to wifi
# The file `wpa_supplicant.conf` might already exist and might have some lines, add these below:
```
network={
ssid="YOUR_NETWORK_NAME"
psk="YOUR_NETWORK_PASSWORD"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}
```
# Replace `YOUR_NETWORK_NAME` & `YOUR_NETWORK_PASSWORD` with your own credentials.
# Reboot and connect
`sudo reboot`
# To test after reboot if your wifi is working, you can open the browser or go to the terminal
`ifconfig -a`
# This will now have an ip-address next to `wlan0` which you can use for ssh or whatever.
# Congrats!
## Resources used:
# The dongle on Amazon: https://www.amazon.de/TP-Link-TL-WN725N-Adapter-Suitable-10-9-10-13/dp/B008IFXQFU/
# The Firmware: https://github.com/lwfinger/rtl8188eu
# Troubleshooting on RPI: https://www.raspberrypi.org/forums/viewtopic.php?t=44044
# Wifi auto connect on RPI: https://weworkweplay.com/play/automatically-connect-a-raspberry-pi-to-a-wifi-network/
# Extra resource for rpi-source: https://blog.samat.org/2014/12/15/realtek-8188eu-based-wi-fi-adapters-on-the-raspberry-pi/
@val3ri
Copy link

val3ri commented May 10, 2023

It worked also on Kernel 6+ Version. Thank you!

@mdvorak
Copy link

mdvorak commented May 22, 2023

@shapsix I've tried it on latest MainsailOS 1.1.1, and I have same issue. It connects fine, but the longer it runs, the higher packet loss. And when the signal quality drops even slightest, packet loss goes to 100%.
The behavior of the IP addresses and routes points to faulty driver (module). I've set all to static IP addresses and disabled dhcp altogether - it fixed routes, but it did not solve packet loss issue.
It is absolutely unusable. Works fine with the old system :-(

@9minuet
Copy link

9minuet commented Jun 6, 2023

It worked perfectly on a Rpi 3b +, thank you!

@dgpmaluco
Copy link

Works to this day! Thanks!
For someone maybe having the same problem I've had, yes the SSID and Password should be between "" NOT without

@nissaba
Copy link

nissaba commented Jun 19, 2023

hi, on my installation attempt it fails at the LS mode step and does not show up in the ifconfig. I am installing on a rpi 2b under lated moode os (raspberrian lite 32 bit)

@Roland74
Copy link

Roland74 commented Jul 30, 2023

It worked also on Kernel 6+ Version. Thank you!

@val3ri Did you have to build the kernel module to get this wifi dongle on kenel 6.* running? Are steps 1 to step 5 needed or are step 4 and 5 enough to get it working on kernel 6? I found out that in kernel 6 there is a kernel module r8188eu that should be an the new default for the rtl8188EU chips. Does this work on kernel 6.1.21-v8+ for the Raspberrys?

@MarSilvaGPS
Copy link

Hello, thank you for your contribution, I performed all the steps, everything checked, the interface exists and configured, but it does not change to UP, I appreciate any help.
Marco - PU2MUS

@damithsj
Copy link

damithsj commented Jan 2, 2024

Thanks a lot for the valuable steps. I was checking here since the http://downloads.fars-robotics.net/wifi-drivers/8188eu-drivers/ which I downloaded the driver previously was down now. Your steps worked like a charm ๐Ÿ˜Ž

@mitgobla
Copy link

mitgobla commented Feb 1, 2024

This worked perfectly for me. I used this guide on a Raspberry Pi Zero 1.3.

I used the Ethernet Gadget mode to perform steps 1 and 2 since my Pi doesn't have built-in WiFi. I preconfigured my network interface and wpa_supplicant before restarting since I had to unplug from my computer and put the TP-Link dongle into the only USB port (with an adapter) .

@justinthursday
Copy link

I'm pretty not good at this stuff and this guide made it all finally make sense to me. Thank you!

@quique123
Copy link

my pi recognizes the interface, sees the SSID and when I select it and Apply in the Network Settings (graphical UI), it does nothing. The same network is configured in the supplicant conf. when i mouse over the interaces icon on the top right bar it says wlan0 is not associated. Not sure where to go from here.

@AngelsResearch
Copy link

Thanks a lot for the valuable steps. I was checking here since the http://downloads.fars-robotics.net/wifi-drivers/8188eu-drivers/ which I downloaded the driver previously was down now. Your steps worked like a charm ๐Ÿ˜Ž

Ive tried to follow the installations several times. I even tried installed the old distro (5.15.61-v7l+) to correspond with the latest distro at the time when most of the comments confirmed that the instructions were working. With both the newest (and older) distro I get stuck have the "make" command. Below is the error message I receive

~/rtl8188eu $ make
make ARCH=arm CROSS_COMPILE= -C /lib/modules/5.15.61-v7l+/build M=/home/user/rtl8188eu modules
make[1]: *** /lib/modules/5.15.61-v7l+/build: No such file or directory. Stop.
make: *** [Makefile:155: modules] Error 2

Any advice on how to fix this?

Thank you!

@Daidalos117
Copy link

Daidalos117 commented Mar 5, 2025

I don't know why, but for me the wpa_supplicant just wasn't connecting to my wi-fi. I own Raspberry 1 B. I switched to NetworkManager (disabled wpa_supplicant service, removed changes in /etc/network/interfaces) and suddenly raspberry connected sucessfully. Actually if you have the settings preconfigured from raspi install, you shouldn't need any extra steps to connect to wifi after USB insert. Run nmcli device and go from there based on wlan0 status. But I did a lot of steps, so it's possible some of them are neccessary and I just don't know it.

@reloadfast
Copy link

It's 2025 and I'm using this dongle on an ancient RPi 1 B+. Bleeding thank you for putting this together. This was the only howto that worked to get the dongle working. All day wasted until I got to your guide!. Thank you.

@Daidalos117
Copy link

Daidalos117 commented Mar 23, 2025

Btw. I actually reinstalled my OS a lot of times after my first comment. Every time I just did full-upgrade (dist-upgrade), rebooted and dongle started to work without me doing anything. I recommend everyone to atleast try first!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment