Skip to content

Instantly share code, notes, and snippets.

@MBing
Last active April 3, 2024 05:20
Show Gist options
  • Star 85 You must be signed in to star a gist
  • Fork 18 You must be signed in to fork a gist
  • 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/
@jamesresend
Copy link

It worked on a Pi 1 B, thanks!

@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) .

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