How to install TP-Link TL-WN725N on Raspberry Pi


The TP-Link TL-WN725N is known as a hard one to get working on your Raspberry Pi. After searching for a long time, I finally got it working. In this post, I will tell you how to install it.

It is recommended to upgrade your Raspberry Pi first. Originally, my Raspberry Pi version was 3.10.25+ #622. After trying many times to install the TP-Link, it still wouldn’t work. So I upgraded my Pi to 3.10.33+ #654. To upgrade your Raspberry Pi, use the following command:


If the command is not found, you need to install that. To do so, use the following command:

sudo apt-get install rpi-update

Now you are able to run the ‘rpi-update’ command. To control if you upgraded your Raspberry Pi, run the following command to see your operating system number. In my case, I upgraded from 3.10.25+ #622 to 3.10.33+ #654.

uname -a

After you finished upgrading. It is recommended to upgrade and update your packages. Do this with the following commands:

sudo apt-get update
sudo apt-get upgrade
sudo reboot

Now, it’s time to install the driver for the WN725N adapter. To do so, type the following commands: (The .bin file is not needed for operating systems above 3.10.33+). Make sure you use the correct dropbox url. This can be found at:

wget //make sure you use the correct dropbox url for your Raspberry version
tar -zxvf 8188eu-20140307.tar.gz
sudo cp rtl8188eufw.bin /lib/firmware/rtlwifi //not needed anymore if your operating system is above 3.10.33+
sudo install -p -m 644 8188eu.ko /lib/modules/3.10.33+/kernel/drivers/net/wireless
sudo insmod /lib/modules/3.10.33+/kernel/drivers/net/wireless/8188eu.ko
sudo depmod -a
sudo reboot

After you have rebooted, log in into Raspberry with username ‘pi’ and password ‘raspberry’. Then type the following command:


Now, a graphical user interface will show up. On the screen, you can see an icon with the name ‘WPA_GUI’. Open that. Now, you can see a window like here below:


Now, you can use WPS to access your network or perform a scan to detect all possible network in your environment.

To control if your TP-Link is connected to the internet, type the following command and look if the adapter got an IP-address:



After each operating system update, the driver changes. To install the driver for your RP version, you can find the dropbox link here. Reading this article is really recommended!

Hopefully it worked for you too. If it did, please share, If it didn’t, contact me, and we can work on a solution. Enjoy! 🙂


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

    • Error: could not insert module /lib/modules/3.18.7+/kernel/drivers/net/wireless/8188eu.ko: Invalid module format

      • I am also getting the same error:
        pi@raspberrypi ~ $ sudo insmod /lib/modules/3.10.33+/kernel/drivers/net/wireless/8188eu.ko
        Error: could not load module /lib/modules/3.10.33+/kernel/drivers/net/wireless/8188eu.ko: No such file or directory

      • Hi Alexander,

        I am also getting the same error.

        Did you eventually find a way to make your wifi dongle works and go through the above steps?


        • Hi, you guys are not changing the Version x.x.x.x+ while using insmod

          pi@raspberrypi ~ $ sudo insmod /lib/modules/3.10.33+/kernel/drivers/net/wireless/8188eu.ko

          it should have been

          pi@raspberrypi ~ $ sudo insmod /lib/modules/x.x.x.x+/kernel/drivers/net/wireless/8188eu.ko

          where x.x.x.x = version number 😀 CHeers

          • yes, exactly. And if you are using raspberry PI 2 then make sure you get the -v7 version of driver. It worked for me.

  • Thanks Laurent,
    After getting the correct file for my Pi version, it worked first time. Good job!

  • Thank you very much for this post. Now,I can remote my raspberry with my laptop with wifi.

  • Just realized that the version I had is Linux raspberrypi 3.12.28+ #712. Looking forward to a new update. Thanks

  • This worked for me last week but now I’m using version 3.12.29+ which isn’t listed. I used Dropbox 20140705 and followed the directions. I changed the Dropbox file name and used the correct os version names of 3.12.29+ but when I get the the insmod command I am presented with a cannot create regular file error/no such file or directory,

    Any suggestion?

  • Thnx Laurent! I’m a complete newb and followed your instructions…this got me a lot further. However, when I type the startx command I only get “command not found”. So I’m still a little stuck here…

  • I just tried to follow these instructions – but fail at the first step as dropbox returns a 400 error. Is is possible that the files have moved since November?

    I have also tried other suggestions online – but these fail at the point where you run a ‘modprobe 8188eu’ after the ‘depmod -a’. … which indicates the wrong driver version for the kernel.

    Running Rpi Noobs Raspbian 3.12.35+ #730

  • With the correct driver file, everything runs successfully – but on reboot of he RPi, I need to run startx again and ‘connect’ the wifi. This means that I need to plug in the lan cable too … I really wanted to just run on wifi for the more portable application.

    How can I get the RPi to automatically connect the wifi on boot?


  • This worked perfectly (almost) for raspian 3.12.35+ . (I say “almost” because the adaptor scans fine, but I cannot seem to get connection via the GUI to work. Have to play with settings, I suppose.)

  • Hi, my tp-linnk tl-wn725n lost connection after a period of time. Do you know the reason? Plzzzz, show me a solution for this. Thanks you.

    • Have you upgraded the RPi system since you loaded the wifi driver? The driver version changes with the Raspbian build….. You may have to download a new driver.

  • I am trying to use berryboot with the TP-WN725n in a hotel. After the drivers load the menu finds the wifi network name ” residentsinn_guest” and asks for a WPA password. The network is open but runs through a connection proxy so I called support and they manually gave the mac address a lease so I do not have to login through the browser. I click OK, and it fails to get an IP address twice. Is it possible for me to save a new driver file and change some confg files while I am in windows and recopy to the card, then restart to get this working? If so, any ideas what I need to change?

  • Great tutorial! Helped me a lot, after a long search for a solution. I could not believe that “wlan0” appeared in the wpa-gui. Of course it is required to follow the code precisely and use the correct data for your own Linux version provided by Raspberry Pi (see Laurents link). But it doable, because of the clear instructions. Thanks Laurent! Kind regards, Daan (Netherlands)

  • Hello, can someone please explain to me How you can get the number u/xxxxxxxxx/8188eu-20150212.tar.gz ?? I have raspbian version 3,18,7+ #755

  • There should be a specific hell for those who post Dropbox links for RARE drivers, and then later delete the file in their Dropbox. To the original poster of that Dropbox link, I want you to know you’re the salt of the earth.

  • I can’t get it to work! I’ve followed the instructions several times now (including reflashing my pi and doing it again) and I still can’t get it to appear in the gui.. I’m using the latest version (3.18.10), any ideas?

    • Got it working! I unplugged the dongle and then put it back in, the pi rebooted automatically and then it worked!

      • HI, I had the same problem but, when I plug my dongle my keyboard doesn’t work so I cannot even write my username and password. I don’t know what can I do.

        • If you have only one USB port the consider connecting via LAN and SSH. If your keyboard doesn’t work when too many devices are plugged, try a better power supply because maybe it have not the sufficient current to work!

  • As a new RPi user I have finally succeded in following your instructions on how to get the TP-link nano wifi adaptor working. I could not have made it without your help. Thank you so very much.

  • Hi, I have been using my 725 along with these drivers for about 6 months but when I updated my Pi it stopped working.

    I backed it up and installed the latest version of Raspbian and updated it to 3.18.11+. When I installed the correct version of the drivers for my 725 my Pi got ridiculously slow(it takes like 40 seconds to log in and all input lags).

    Anyone who knows a way to solve this?

  • Tried this but cannot get my RPi to find my wireless adapter. WPA_GUI return no options for adapter, any thoughts?

  • I installed the closest possible driver for 4.0.8-v7+ #805 it shows driver installed but i cannot see the adapter in WPA-GUI

  • Thanks Laurent. My RPi is upgraded to Kernel 4.1.6-v7+. It is working fine with TL-WN725N. Good work from you. Do you know any software that controls a wifi ip camera ? If so which wifi ip camera model ?

  • Hi. I’m trying to install the WN725N on my rpi2. when I try to run insmode – I get the error:
    “could not insert module /lib/modules/3.18.7-v7+/kernel/drivers/net/wireless/8188eu.ko: Unknown symbol in module”, uname -a outputs my OS details as “Linux raspberrypi 3.18.7-v7+ #755 SMP PREEMPT ….” and the driver I have downloaded is “8188eu-v7-20150212.tar.gz”.
    If anyone could point me in the right direction – I would be very grateful. 🙁

  • Hello! First of all, thank you for a great post!! But, im a total newbie and i did everything after a hell of a lot what id call a sweaty brain-work outwork but now it came down to this, the wpa_gui icon is in the right upper corner but i doesnt say anything after Adapter, meaning nothing is found. My internet router is connected directly, by cable, into my raspberry pi. Is that why it dosent work?

  • I have a really easy fix for this problem. I just plugged in the network adapter to the Pi and my ethernet was connected to my router then I reinstalled Raspian and now the wifi works! I have Raspberry Pi 2 Model B and TL WN-725N ver 2, try it!

  • After, i upgrade it i get Linux raspberrypi 4.4.38-v7 #938 SMP … , How can i install this driver?
    Can anyone help me ?
    Thank you!

  • I get an error when I type “startx”. Here is the content of the log file:

    [ 135.738]
    X.Org X Server 1.18.4
    Release Date: 2016-07-19
    [ 135.739] X Protocol Version 11, Revision 0
    [ 135.739] Build Operating System: Linux 4.4.26-v7+ armv7l Raspbian
    [ 135.739] Current Operating System: Linux raspberrypi 4.9.28-v7+ #998 SMP Mon May 15 16:55:39 BST 2017 armv7l
    [ 135.739] Kernel command line: bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=PARTUUID=2b0b8e09-02 rootfstype=ext4 elevator=deadline rootwait quiet splash plymouth.ignore-serial-consoles
    [ 135.740] Build Date: 11 November 2016 11:59:59AM
    [ 135.740] xorg-server 2:1.18.4-2+rpi1 (
    [ 135.740] Current version of pixman: 0.33.3
    [ 135.740] Before reporting problems, check
    to make sure that you have the latest version.
    [ 135.740] Markers: (–) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    [ 135.741] (==) Log file: “/home/pi/.local/share/xorg/Xorg.1.log”, Time: Tue Jun 27 15:04:10 2017
    [ 135.742] (==) Using system config directory “/usr/share/X11/xorg.conf.d”
    [ 135.743] (==) No Layout section. Using the first Screen section.
    [ 135.743] (==) No screen section available. Using defaults.
    [ 135.744] (**) |–>Screen “Default Screen Section” (0)
    [ 135.744] (**) | |–>Monitor “”
    [ 135.745] (==) No device specified for screen “Default Screen Section”.
    Using the first device section listed.
    [ 135.745] (**) | |–>Device “Allwinner A10/A13 FBDEV”
    [ 135.745] (==) No monitor specified for screen “Default Screen Section”.
    Using a default monitor configuration.
    [ 135.745] (==) Automatically adding devices
    [ 135.745] (==) Automatically enabling devices
    [ 135.745] (==) Automatically adding GPU devices
    [ 135.745] (==) Max clients allowed: 256, resource mask: 0x1fffff
    [ 135.745] (WW) The directory “/usr/share/fonts/X11/misc” does not exist.
    [ 135.745] Entry deleted from font path.
    [ 135.746] (WW) The directory “/usr/share/fonts/X11/cyrillic” does not exist.
    [ 135.746] Entry deleted from font path.
    [ 135.746] (WW) The directory “/usr/share/fonts/X11/75dpi/” does not exist.
    [ 135.746] Entry deleted from font path.
    [ 135.746] (WW) The directory “/usr/share/fonts/X11/75dpi” does not exist.
    [ 135.746] Entry deleted from font path.
    [ 135.746] (==) FontPath set to:
    [ 135.746] (==) ModulePath set to “/usr/lib/xorg/modules”
    [ 135.746] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
    [ 135.746] (II) Loader magic: 0x54ce6f20
    [ 135.746] (II) Module ABI versions:
    [ 135.747] X.Org ANSI C Emulation: 0.4
    [ 135.747] X.Org Video Driver: 20.0
    [ 135.747] X.Org XInput driver : 22.1
    [ 135.747] X.Org Server Extension : 9.0
    [ 135.764] (II) systemd-logind: took control of session /org/freedesktop/login1/session/c5
    [ 135.765] (II) no primary bus or device found
    [ 135.765] (II) LoadModule: “glx”
    [ 135.766] (II) Loading /usr/lib/xorg/modules/extensions/
    [ 135.776] (II) Module glx: vendor=”X.Org Foundation”
    [ 135.776] compiled for 1.18.4, module version = 1.0.0
    [ 135.777] ABI class: X.Org Server Extension, version 9.0
    [ 135.777] (==) AIGLX enabled
    [ 135.777] (II) LoadModule: “fbturbo”
    [ 135.778] (II) Loading /usr/lib/xorg/modules/drivers/
    [ 135.778] (II) Module fbturbo: vendor=”X.Org Foundation”
    [ 135.779] compiled for 1.18.4, module version = 0.5.1
    [ 135.779] Module class: X.Org Video Driver
    [ 135.779] ABI class: X.Org Video Driver, version 20.0
    [ 135.779] (II) FBTURBO: driver for framebuffer: fbturbo
    [ 135.779] (EE)
    Fatal server error:
    [ 135.780] (EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)
    [ 135.780] (EE)
    [ 135.781] (EE)
    Please consult the The X.Org Foundation support
    for help.
    [ 135.781] (EE) Please also check the log file at “/home/pi/.local/share/xorg/Xorg.1.log” for additional information.
    [ 135.781] (EE)
    [ 135.782] (WW) xf86CloseConsole: KDSETMODE failed: Bad file descriptor
    [ 135.782] (WW) xf86CloseConsole: VT_GETMODE failed: Bad file descriptor
    [ 135.789] (EE) Server terminated with error (1). Closing log file.

  • The easiest way to install this USB Wi-Fi Dongle is to use this script that MrEngman made and posted on the Raspberry Pi Website.

    Here are the commands to download and setup the script for use:

    1. sudo wget -O /usr/bin/install-wifi
    2. sudo chmod +x /usr/bin/install-wifi
    3. sudo install-wifi

  • I am getting this error message
    pi@raspberrypi ~ $ sudo install -p -m 644 8188eu.ko /lib/modules/4.14.24+/kernel/drivers/net/wireless
    pi@raspberrypi ~ $ sudo insmod /lib/modules/4.14.24+/kernel/drivers/net/wireless/8188eu.ko
    Error: could not insert module /lib/modules/4.14.24+/kernel/drivers/net/wireless/8188eu.ko: Unknown symbol in module
    pi@raspberrypi ~ $ sudo insmod /lib/modules/4.14.24+/kernel/drivers/net/wireless/8188eu.ko
    Error: could not insert module /lib/modules/4.14.24+/kernel/drivers/net/wireless/8188eu.ko: Unknown symbol in module

Tag Cloud