How to install RTL8188EU wireless drivers in 3.8 kernel Ubuntu based distros

The 8188eu driver is for adapters with the following vendor:product ID strings:-

2001:330f
8179:07b8
0bda:0179
0bda:8179

This should work for Ubuntu based distros with the 3.8 kernel series … probably all kernels >= 3.5 … but I’ve only tested it in 3.8

Connect to your router with an ethernet cable, so you have an active internet connection
(these instruction won’t work without an active internet connection)

Open a terminal (Ctrl+Alt+T) and run these commands in sequence:

sudo apt-get install build-essential linux-headers-generic git

then:

mkdir ~/RTL8188EU

then:

cd ~/RTL8188EU

then:

git clone git://github.com/lwfinger/rtl8188eu

then:

cd ~/RTL8188EU/rtl8188eu

then:

make

then:

sudo make install

then

sudo cp -v ~/RTL8188EU/rtl8188eu/rtl8188eufw.bin /lib/firmware/rtlwifi/

then:

sudo depmod -a

then:

sudo update-initramfs -u

then:

sudo modprobe 8188eu

Wireless should spring to life.

Hi and thanks for the tips,

I followed all your instructions, one by one and the dongle come back to life… for a moment.

Indeed, my network manager connected succesfully to my Wi-Fi network and I have access to Internet. But after a few second, the network manager show me that there is a low wi-fi connection, I still connected to it, but no internet…

Did you have this trouble ? How did you fix it ?

Using Ubuntu 12.04.3-LTS linux-3.8.29-generic with TP-LINK TL-WN725N Ver:2.0

Thanks for help !

Yeah someone else has mentioned the same thing, and I’m looking into it, but kinda difficult without the actual hardware.

You up for some experimentation ?

If so, can you post the output from:

lsusb

and

modinfo 8188eu | grep rtw_power_mgnt

[EDIT]

Try this … it won’t survive a reboot, but if it works we can make it permanent.
run:

sudo modprobe -r 8188eu

then

sudo modprobe 8188eu rtw_power_mgnt=0

how is wireless now ?

Hi,

Thanks for the tips. After hours of searching the net I still can’t make my TP-LINK TL-WN725N dongle work in Linux Mint 15.

Would you mind sharing your thoughts?

After following the instructions I get no errors, but network manager still shows Realtek 802.11n NIC as disconnected and no wireless networks show up.

I also tried the commands in your last post, but still no success:

> sudo modprobe 8188eu rtw_power_mgnt=0

Background story:
I have a built-in wifi adapter which in network manager is named RTL8191SEvB. However, it is unstable on enterprise wifi (802.1X) which my university uses everywhere. After hours of trying to make that work better I gave up and I intended to buy a TP-LINK TL-WN722N dongle which should work out of the box in linux, but mistakenly I bought the TP-LINK TL-WN725N dongle.

Output snips from various commands:


> sudo lshw
*-network
       description: Wireless interface
       physical id: 2
       bus info: usb@2:1
       logical name: wlan2
       serial: 10:fe:ed:12:02:cf
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=r8188eu multicast=yes wireless=unassociated


> uname -r
3.8.0-30-generic


> iwconfig
wlan2     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency=2.412 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0


> lsusb
Bus 002 Device 002: ID 0bda:8179 Realtek Semiconductor Corp.


>  modinfo 8188eu | grep rtw_power_mgnt
parm:           rtw_power_mgnt:int

Hi rubax, and welcome to the forum :slight_smile:

I notice your lshw output says it’s using the r8188eu driver and not 8188eu … maybe you have a conflicting driver

Can you post the output from:

lsmod

If you’ve compiled the driver above (and I guess you must have if you got output from “modinfo 8188eu”), try running:

sudo modprobe -r r8188eu

then

sudo sudo modprobe -r 8188eu

then

sudo modprobe 8188eu rtw_power_mgnt=0

did that do anything ?

If so, you’ll need to blacklist the r8188eu driver … and possibly set the 8188eu driver to be loaded at boot with the power management option set off

Hi Mark,

Thank you for the quick reply. Maybe the driver name in lshw is an error? At least when I try your suggestion I get the following:


> sudo modprobe -r r8188eu
FATAL: Module r8188eu not found.

The next command works and the dongle disappears from the list in networkmanager:

sudo modprobe -r 8188eu

The next command also works and the dongle reappears in the list in networkmanager:

sudo modprobe 8188eu rtw_power_mgnt=0

The output of lsmod:


Module                  Size  Used by
hid_generic            12540  0 
usbhid                 47074  0 
hid                   101002  2 hid_generic,usbhid
pci_stub               12622  1 
vboxpci                23194  0 
vboxnetadp             25670  0 
vboxnetflt             27613  0 
vboxdrv               335371  3 vboxnetadp,vboxnetflt,vboxpci
parport_pc             28152  0 
ppdev                  17073  0 
rfcomm                 42641  12 
bnep                   18036  2 
joydev                 17377  0 
8188eu                692712  0 
coretemp               13355  0 
kvm                   443165  0 
snd_hda_codec_conexant    62000  1 
snd_hda_intel          39619  3 
snd_hda_codec         136498  2 snd_hda_codec_conexant,snd_hda_intel
snd_hwdep              13602  1 snd_hda_codec
btusb                  22474  0 
bluetooth             228667  22 bnep,btusb,rfcomm
snd_pcm                97451  2 snd_hda_codec,snd_hda_intel
dm_multipath           22843  0 
scsi_dh                14843  1 dm_multipath
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_seq_midi           13324  0 
snd_seq_midi_event     14899  1 snd_seq_midi
snd_rawmidi            30180  1 snd_seq_midi
psmouse                95905  0 
pcmcia                 49007  0 
thinkpad_acpi          81222  0 
nvram                  14362  1 thinkpad_acpi
microcode              22881  0 
arc4                   12615  2 
serio_raw              13215  0 
r852                   18241  0 
lpc_ich                17061  0 
sm_common              16860  1 r852
nand                   58949  2 r852,sm_common
snd_seq                61554  2 snd_seq_midi_event,snd_seq_midi
tpm_tis                18675  0 
nand_ecc               13273  1 nand
nand_bch               13147  1 nand
bch                    17434  1 nand_bch
nand_ids               12723  1 nand
mtd                    45202  2 nand,sm_common
yenta_socket           31817  0 
r592                   18019  0 
pcmcia_rsrc            18288  1 yenta_socket
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
memstick               16554  1 r592
mac_hid                13205  0 
pcmcia_core            22569  3 pcmcia,pcmcia_rsrc,yenta_socket
snd_timer              29425  2 snd_pcm,snd_seq
rtl8192se              63284  0 
rtlwifi                79673  1 rtl8192se
mac80211              606457  2 rtlwifi,rtl8192se
snd                    68876  16 snd_hwdep,snd_timer,snd_hda_codec_conexant,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,thinkpad_acpi,snd_seq_device
cfg80211              510937  2 mac80211,rtlwifi
mei                    41158  0 
soundcore              12680  1 snd
lp                     17759  0 
parport                46345  3 lp,ppdev,parport_pc
btrfs                 785967  0 
zlib_deflate           26885  1 btrfs
libcrc32c              12615  1 btrfs
dm_raid45              76725  0 
xor                    17116  1 dm_raid45
dm_mirror              21946  0 
dm_region_hash         20820  1 dm_mirror
dm_log                 18529  3 dm_region_hash,dm_mirror,dm_raid45
firewire_ohci          40103  0 
sdhci_pci              18590  0 
sdhci                  32522  1 sdhci_pci
firewire_core          64508  1 firewire_ohci
crc_itu_t              12707  1 firewire_core
wmi                    19070  0 
ahci                   25731  2 
libahci                31364  1 ahci
e1000e                198832  0 
i915                  600349  2 
video                  19390  1 i915
i2c_algo_bit           13413  1 i915
drm_kms_helper         49394  1 i915
drm                   286028  3 i915,drm_kms_helper

Can my internal card somehow cause conflicts?

Edit:
I initially followed the very short instruction here:
http://the8thlayerof.net/2013/10/16/beagle-bone-black-notes-wifi-rtl8192cu-rtl8188cus-rtl8188eu-wifi-module-tp-link-tl-wn725n/
so I didn’t clone the directory via git, but just downloaded the zip from github, but I guess that is irrelevant. For a long time I didn’t copy the firmware to the appropriate directory, and when I saw your post I thought that was the solution. Is there anyway to check the firmware is loaded correctly?

Yeah, what’s the output from:

ls -l /lib/firmware/rtlwifi/rtl8188eufw.bin

What happens if you run:

sudo modprobe -r rtl8192se rtlwifi mac80211 8188eu

then

sudo modprobe 8188eu

?

You sir, are a genius!


> ls -l /lib/firmware/rtlwifi/rtl8188eufw.bin
-rw-r--r-- 1 root root 13904 Nov 12 11:51 /lib/firmware/rtlwifi/rtl8188eufw.bin


> sudo modprobe -r rtl8192se rtlwifi mac80211 8188eu

made me lose all wifi connections.


sudo modprobe 8188eu

made wlan2 work.

I have not yet tested whether the wifi-adapter is better at 802.1X than the built in one, but at least it works now.
How do I make the changes permanent?
And is there some way I can still have access to wlan0 as a backup in case I need to pull out the dongle?

[b][EDIT]

BEFORE reading this posting … read my next

[END EDIT][/b]

And is there some way I can still have access to wlan0 as a backup in case I need to pull out the dongle?

Erm … not really, as we’ll need to blacklist its drivers (well after blacklisting, I suppose manually modprobing the rtl8192se driver will reload it … but there’s no way to have both at bootup, as they seem to conflict)

Anyway, once you’re happy 8188eu is working properly…

sudo gedit /etc/modprobe.d/blacklist.conf

add a NEW line at the bottom that reads:

blacklist rtl8192se

SAVE the file and exit gedit.

Now run:

sudo gedit /modprobe.d/8188eu.conf

when a BLANK file opens, add a single line that reads:-

options 8188eu rtw_power_mgnt=0

SAVE the file, and exit gedit.

Now reboot to see if 8188eu is autoloaded at bootup … if so, you’re done

if not, let me know and we’ll add it to /etc/modules to be autoloaded.


If it doesn’t autoload after your reboot … manually load it with:

sudo modprobe 8188eu rtw_power_mgnt=0

or

for the old card:

sudo modprobe rtl8192se

Sorry I missed out the power management option in that modprobe.

Is the connection stable … or does it disappear after a minute or two ?

if it’s unstable, try:

sudo modprobe -r 8188eu

then just in case you’ve rebooted:

sudo modprobe -r rtl8192se rtlwifi mac80211

then

sudo modprobe 8188eu rtw_power_mgnt=0

and let me know if it’s NOW stable.

if so, THEN we’ll carry on.

Experimentations ? Oh yeah I love that ! :smiley:

So, here is my lsub results:

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 007: ID 046a:0023 Cherry GmbH CyMotion Master Linux Keyboard
Bus 002 Device 003: ID 0bda:8179 Realtek Semiconductor Corp. 
Bus 002 Device 008: ID 045e:077d Microsoft Corp.

And for modinfo:

sullivan@sweethtpc:~$ modinfo 8188eu | grep rtw_power_mgnt
parm:           rtw_power_mgnt:int

I try your command with rtw_power_mgnt, but after that…

sullivan@sweethtpc:~$ ping -I wlan1 google.com
PING google.com (173.194.45.64) from 192.168.137.222 wlan1: 56(84) bytes of data.
From sweethtpc.local (192.168.0.16) icmp_seq=1 Destination Host Unreachable
From sweethtpc.local (192.168.0.16) icmp_seq=2 Destination Host Unreachable
From sweethtpc.local (192.168.0.16) icmp_seq=3 Destination Host Unreachable
^C
--- google.com ping statistics ---

Does’t works… :confused:

Tested that too, doen’t works either…

But I have a connection and an IP adress, see that:

wlan1     Link encap:Ethernet  HWaddr 64:66:b3:23:fc:2b  
          inet addr:192.168.0.16  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6666:b3ff:fe23:fc2b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25 errors:0 dropped:52 overruns:0 frame:0
          TX packets:55 errors:0 dropped:1 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3185 (3.1 KB)  TX bytes:10960 (10.9 KB)

Very weird…

Hi again,

Sorry for the slow response. Just after sending my last post my kids required immediate attention, and I simply shut down the computer without doing anything else.

This morning when I booted, but wifi adapters are present i networkmanager and appear to work (at least they see the list of SSIDs and I’m able to connect to a SSID with the dongle). I’m still plugged into ethernet through a docking station, so I’m not really using the wifi connection, but I will start experimenting with that straight away.

In summary:


> sudo modprobe -r rtl8192se rtlwifi mac80211 8188eu
> sudo modprobe 8188eu

and then a reboot made everything appear to work. No editing blacklist.conf etc. I’m a bit puzzled… Maybe I will be back reporting problems soon :wink:

Ok, the wifi is very unstable. It was showing signal strength off about 30%, and I couldn’t ping anything.
I did:

sudo modprobe -r 8188eu
sudo modprobe 8188eu rtw_power_mgnt=0
and the signal strength immediately looked good and I was able to ping Google. I let the ping run and after packet 19 it stopped working for some time and then came back to life after packet 62ish:


....
64 bytes from ea-in-f105.1e100.net (74.125.136.105): icmp_req=18 ttl=47 time=24.0 ms
64 bytes from ea-in-f105.1e100.net (74.125.136.105): icmp_req=19 ttl=47 time=24.3 ms
From abel.local (172.17.56.236) icmp_seq=62 Destination Host Unreachable
From h236.aau-1-day-2a.wlan.aalborguniversitet.dk (172.17.56.236) icmp_seq=63 Destination Host Unreachable
From h236.aau-1-day-2a.wlan.aalborguniversitet.dk (172.17.56.236) icmp_seq=64 Destination Host Unreachable
64 bytes from ea-in-f105.1e100.net (74.125.136.105): icmp_req=65 ttl=47 time=23.9 ms
64 bytes from ea-in-f105.1e100.net (74.125.136.105): icmp_req=66 ttl=47 time=24.3 ms
.....

Then I quit the ping command and hoped that now it was working, but shortly after it stopped working again, and now I’m writing this from eth0…

My next step will be to try to kill the internal wifi adapter with the combined modprobe -r command you provided and see if that helps.

I will report back soon.

[EDIT]
I tried the other commands with the same results:


> sudo modprobe -r rtl8192se rtlwifi mac80211
> sudo modprobe 8188eu rtw_power_mgnt=0

Very good signal strength for about 20 seconds and then the signal drops to 12% and I can’t ping anything.
[END EDIT]

It seems a lot of people were having the same issue with packet loss, but it was supposed to have been fixed in the latest version … I’m looking for a solution, but it’s not easy without the hardware.

That is very frustrating, but I guess there isn’t much to do about it at the moment. Thank you so much for your help anyway.

Please let me know if you think of some experiment I can try or there is a new version of the driver available (I will stay subscribed to this thread).

Hi, it works fine but not as a hotspot.
I tried system settings>network>use as hotspot, and ap-hotspot & hostapd as well.
Do u think it is the problem due to the installation or the driver?

“Probably”, can’t say for sure … but welcome to the forum :slight_smile:

I’m so sorry for reviving this topic, I have look around all the solution that google provided me and tried almost each of them, but none of them works, maybe i’m too newbie in linux, so please help me with this and the information will be stated below, please do let me know if i missed something, any help is much appreciate…
Wireless Device Full Name : D-Link Wireless N 150 USB Adapter
Wireless Adapter Model : DWA-125D1, for this model information, please visit here, https://wikidevi.com/wiki/D-Link_DWA-125_rev_D1

uname -a

Linux kali 3.14-kali1-amd64 #1 SMP Debian 3.14.4-1kali1 (2014-05-14) x86_64 GNU/Linux

lsusb

Bus 001 Device 002: ID 2001:3310 D-Link Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

iwconfig

eth0 no wireless extensions.
lo no wireless extensions.
wlan0 unassociated Nickname:“WIFI@REALTEK
Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

ifconfig

eth0 Link encap:Ethernet HWaddr 00:0c:29:fe:13:78
inet addr:192.168.5.132 Bcast:192.168.5.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fefe:1378/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46785 errors:0 dropped:0 overruns:0 frame:0
TX packets:15854 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:56439010 (53.8 MiB) TX bytes:1156267 (1.1 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:60 errors:0 dropped:0 overruns:0 frame:0
TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3600 (3.5 KiB) TX bytes:3600 (3.5 KiB)

P/S :
root@kali:~/Desktop/rtl8188eu/rtl8188eu# make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.14-kali1-amd64/build M=/root/Desktop/rtl8188eu/rtl8188eu modules
make: *** /lib/modules/3.14-kali1-amd64/build: No such file or directory. Stop.
make: *** [modules] Error 2

Make sure you have the build tools and kernel headers installed

sudo apt-get install build-essential linux-headers-generic

then try compiling the drivers again.

If that errors out, what distro/version are you running ?