Install the driver for the RTL8188FU adapter

I followed this guide

Manjaro is already updated. I received a CD with the adaptor. It already has rtl8188 EUS driver in it, but it is an old version so I thought about getting it from AUR. But I failed to make it work.

All outputs, in the same order as it is asked for in the guide -

inxi -Fxxxz
System:    Host: HomePC Kernel: 5.6.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.1.0 
           Desktop: bspwm 0.9.7-2-g342c2e3 info: lemonbar dm: LightDM 1.30.0 
           Distro: Manjaro Linux 
Machine:   Type: Desktop Mobo: ASUSTeK model: P5G41T-M LX3 v: Rev X.0x serial: <filter> 
           BIOS: American Megatrends v: 0503 date: 08/09/2012 
CPU:       Topology: Dual Core model: Intel Core2 Duo E7500 bits: 64 type: MCP arch: Penryn 
           rev: A L2 cache: 3072 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 ssse3 vmx bogomips: 11742 
           Speed: 1601 MHz min/max: 1603/2936 MHz Core speeds (MHz): 1: 1601 2: 1601 
Graphics:  Device-1: Intel 4 Series Integrated Graphics vendor: ASUSTeK driver: i915 
           v: kernel bus ID: 00:02.0 chip ID: 8086:2e32 
           Display: x11 server: X.Org 1.20.8 driver: intel resolution: 1920x1080R~60Hz 
           OpenGL: renderer: Mesa DRI Intel G41 (ELK) v: 2.1 Mesa 20.0.7 direct render: Yes 
Audio:     Device-1: Intel NM10/ICH7 Family High Definition Audio vendor: ASUSTeK 
           driver: snd_hda_intel v: kernel bus ID: 00:1b.0 chip ID: 8086:27d8 
           Sound Server: ALSA v: k5.6.16-1-MANJARO 
Network:   Device-1: Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet vendor: ASUSTeK 
           driver: atl1c v: 1.0.1.1-NAPI port: ec00 bus ID: 01:00.0 chip ID: 1969:1083 
           IF: enp1s0 state: down mac: <filter> 
           Device-2: Realtek 802.11n type: USB driver: usb-network bus ID: 1-1:6 
           chip ID: 0bda:f179 serial: <filter> 
Drives:    Local Storage: total: 465.76 GiB used: 18.29 GiB (3.9%) 
           ID-1: /dev/sda vendor: Seagate model: ST3500418AS size: 465.76 GiB 
           speed: <unknown> rotation: 7200 rpm serial: <filter> rev: CC35 scheme: MBR 
Partition: ID-1: / size: 91.29 GiB used: 18.29 GiB (20.0%) fs: btrfs dev: /dev/sda1 
           ID-2: /home size: 91.29 GiB used: 18.29 GiB (20.0%) fs: btrfs dev: /dev/sda1 
           ID-3: swap-1 size: 3.22 GiB used: 524 KiB (0.0%) fs: swap dev: /dev/sda2 
Sensors:   System Temperatures: cpu: 42.0 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Info:      Processes: 149 Uptime: 30m Memory: 1.91 GiB used: 608.2 MiB (31.1%) Init: systemd 
           v: 245 Compilers: gcc: 10.1.0 Shell: bash v: 5.0.17 running in: xfce4-terminal 
           inxi: 3.0.37 
lsmod | sort
acpi_cpufreq           28672  1
agpgart                53248  3 intel_agp,intel_gtt,drm
asus_atk0110           24576  0
ata_generic            16384  0
ata_piix               36864  2
atl1c                  57344  0
blake2b_generic        20480  0
bsd_comp               16384  0
btrfs                1515520  1
cdrom                  77824  1 sr_mod
cec                    69632  2 drm_kms_helper,i915
coretemp               20480  0
crc32c_generic         16384  2
drm                   573440  4 drm_kms_helper,i915
drm_kms_helper        249856  1 i915
ehci_hcd               98304  1 ehci_pci
ehci_pci               20480  0
evdev                  28672  11
fb_sys_fops            16384  1 drm_kms_helper
fuse                  143360  3
gpio_ich               16384  0
hid                   143360  2 usbhid,hid_generic
hid_generic            16384  0
i2c_algo_bit           16384  1 i915
i915                 2519040  3
input_leds             16384  0
intel_agp              24576  0
intel_gtt              24576  2 intel_agp,i915
ip6table_filter        16384  1
ip6_tables             36864  53 ip6table_filter
ip6t_REJECT            16384  1
ip6t_rt                20480  3
iptable_filter         16384  1
ip_tables              36864  9 iptable_filter
ipt_REJECT             16384  1
irqbypass              16384  1 kvm
iTCO_vendor_support    16384  1 iTCO_wdt
iTCO_wdt               16384  0
joydev                 28672  0
kvm                   831488  1 kvm_intel
kvm_intel             331776  0
ledtrig_audio          16384  2 snd_hda_codec_generic,snd_hda_codec_realtek
libcrc32c              16384  3 nf_conntrack,nf_nat,btrfs
lpc_ich                28672  0
mac_hid                16384  0
Module                  Size  Used by
mousedev               24576  0
nf_conntrack          172032  6 xt_conntrack,nf_nat,nf_nat_ftp,nf_conntrack_netbios_ns,nf_conntrack_broadcast,nf_conntrack_ftp
nf_conntrack_broadcast    16384  1 nf_conntrack_netbios_ns
nf_conntrack_ftp       24576  1 nf_nat_ftp
nf_conntrack_netbios_ns    16384  0
nf_defrag_ipv4         16384  1 nf_conntrack
nf_defrag_ipv6         24576  1 nf_conntrack
nf_log_common          16384  2 nf_log_ipv4,nf_log_ipv6
nf_log_ipv4            16384  5
nf_log_ipv6            16384  5
nf_nat                 53248  1 nf_nat_ftp
nf_nat_ftp             20480  0
nf_reject_ipv4         16384  1 ipt_REJECT
nf_reject_ipv6         20480  1 ip6t_REJECT
option                 61440  0
pata_acpi              16384  0
pcspkr                 16384  0
ppp_async              20480  0
ppp_deflate            16384  0
ppp_generic            49152  3 ppp_deflate,bsd_comp,ppp_async
raid6_pq              122880  1 btrfs
rc_core                57344  1 cec
rfkill                 28672  1
rng_core               16384  0
slhc                   20480  1 ppp_generic
snd                   114688  11 snd_hda_codec_generic,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
snd_hda_codec         167936  3 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec_realtek
snd_hda_codec_generic    98304  1 snd_hda_codec_realtek
snd_hda_codec_realtek   135168  1
snd_hda_core          106496  4 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hda_intel          57344  2
snd_hwdep              16384  1 snd_hda_codec
snd_intel_dspcfg       28672  1 snd_hda_intel
snd_pcm               147456  3 snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer              45056  1 snd_pcm
soundcore              16384  1 snd
sr_mod                 28672  0
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
uas                    32768  0
uhci_hcd               53248  0
usbhid                 65536  0
usb_storage            81920  1 uas
usb_wwan               24576  1 option
xor                    24576  1 btrfs
x_tables               53248  13 ip6table_filter,xt_conntrack,iptable_filter,xt_LOG,xt_tcpudp,xt_addrtype,ip6t_rt,ip6_tables,ipt_REJECT,ip_tables,xt_limit,xt_hl,ip6t_REJECT
xt_addrtype            16384  4
xt_conntrack           16384  16
xt_hl                  16384  22
xt_limit               16384  13
xt_LOG                 20480  10
xt_tcpudp              20480  18
dkms status
8188eu, v4.3.0.8_13968, 5.4.44-1-MANJARO, x86_64: installed
8188eu, v4.3.0.8_13968, 5.6.16-1-MANJARO, x86_64: installed
sudo dmesg  | grep -i 'error\|seg\|fail\|broke\|warn\|dump\|denied\|rtl\|wl'
[sudo] password for ujjwal: 
[    0.332402] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
[    0.332407] acpi PNP0A08:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[    0.519352] Segment Routing with IPv6
[    0.519555] RAS: Correctable Errors collector initialized.
[    4.711836] systemd[1]: Listening on Process Core Dump Socket.
[    4.933948] random: 7 urandom warning(s) missed due to ratelimiting
[    8.181121] ACPI Warning: SystemIO range 0x0000000000000828-0x000000000000082F conflicts with OpRegion 0x0000000000000800-0x000000000000084F (\PMRG) (20200110/utaddress-204)
journalctl --no-pager -S "$(date +'%Y-%m-%d')" -u NetworkManager  | grep -i 'discon\|error\|fail\|broke\|warn\|change\|wl\|rtl'
Jul 01 18:39:53 HomePC NetworkManager[487]: <warn>  [1593608993.6238] device (ttyUSB2): Activation: failed for connection 'Idea Cellular Default'
Jul 01 18:39:53 HomePC NetworkManager[487]: <warn>  [1593608993.6710] modem-broadband[ttyUSB2]: failed to disconnect modem: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.ModemManager1.Modem.Simple” on object at path /org/freedesktop/ModemManager1/Modem/0
Jul 01 18:54:34 HomePC NetworkManager[4034]: <warn>  [1593609874.4686] device (ttyUSB2): Activation: failed for connection 'Idea Cellular Default'
Jul 01 18:54:34 HomePC NetworkManager[4034]: <warn>  [1593609874.5128] modem-broadband[ttyUSB2]: failed to disconnect modem: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.ModemManager1.Modem.Simple” on object at path /org/freedesktop/ModemManager1/Modem/1
 grep -r "blacklist\|install\|options"  /etc/modprobe.d/ /etc/modules-load.d/ /usr/lib/modprobe.d/
/etc/modprobe.d/r8188eu.conf:blacklist r8188eu
/usr/lib/modprobe.d/uvesafb.conf:# options uvesafb mode=<xres>x<yres>[-<bpp>][@<refresh>] scroll=<ywrap|ypan|redraw> ...
/usr/lib/modprobe.d/uvesafb.conf:options uvesafb mode_option=1024x768-32 scroll=ywrap
/usr/lib/modprobe.d/systemd.conf:options bonding max_bonds=0
/usr/lib/modprobe.d/systemd.conf:options dummy numdummies=0
/usr/lib/modprobe.d/nvdimm-security.conf:install libnvdimm /usr/bin/ndctl load-keys ; /sbin/modprobe --ignore-install libnvdimm $CMDLINE_OPTS
pacman -Qsq linux | grep linux | grep -v -E '(arch|util|sys|api|firmware)' | grep -v nvidia
linux-latest
linux54
linux54-headers
linux56
linux56-headers
hwinfo --netcard --wlan --bluetooth | grep -Ei "model\:|driver\:|status\:|cmd\:|file\:|detected\:" | grep -v "Config Status"
  Model: "Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet"
  Driver: "atl1c"
  Device File: enp1s0
  Link detected: no
    Driver Status: atl1c is active
    Driver Activation Cmd: "modprobe atl1c"

rfkill produced no output at all. Other than that I noticed one error when I ran

MODULE=$(hwinfo --wlan | grep "Driver Activation Cmd" | cut -d " " -f9 | tr -d '"') && sudo modprobe $MODULE

modprobe: ERROR: missing parameters. See -h

Additionally, I was met with an error when I ran the build command to build 8818eu. Thus, I built it in pamac GUI. Also, the backlist file in the package has an r next to 8818, while the guide has just 8818eu. I have tried both and failed.

Reply if you need any more info.

Awesome outputs, try:

sudo modprobe 8188eu; sudo systemctl restart NetworkManager

Then:

systemctl status NetworkManager
2 Likes
systemctl status NetworkManager
● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: dis>
    Drop-In: /usr/lib/systemd/system/NetworkManager.service.d
             └─NetworkManager-ovs.conf
     Active: active (running) since Thu 2020-07-02 16:24:09 IST; 12s ago
       Docs: man:NetworkManager(8)
   Main PID: 9043 (NetworkManager)
      Tasks: 4 (limit: 2322)
     Memory: 3.8M
     CGroup: /system.slice/NetworkManager.service
             └─9043 /usr/bin/NetworkManager --no-daemon

the adaptor is plugged in.

Was there any output from the first set of commands?

If there was no error message your adapter's driver should now be loaded. Did you test for connectivity?

Please post:

inxi -nz

ping -c5 8.8.8.8; ping -c5 google.com
1 Like

No

Outputs -

 inxi -nz
Network:
  Device-1: Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet driver: atl1c 
  IF: enp1s0 state: down mac: <filter> 
  Device-2: Realtek 802.11n type: USB 
  driver: usb-network 
 ping -c5 8.8.8.8; ping -c5 google.com
ping: connect: Network is unreachable
ping: google.com: Name or service not known

By the way, I am connected to the internet via a USB dongle. That's how I am writing this reply on here.

@tbg is there any tools that I might have removed accidentally? When I installed Manjaro, I did not need wifi so I deleted items right after install and masked the rest for a faster boot up

No, that is not the problem. I just ran a search on your adapters ID. That is not the correct driver for Arch/Manjaro based systems on the CD. This is a very, very difficult adapter to get working. I rarely every see this adapter come up on the forum.

I'll try to find some new drivers for you.

1 Like

But 8188eus is exactly what they sent me in the CD

You need to uninstall the driver you installed before. They ship the wrong driver on the factory installation media. It is not the correct driver for this adapter and will not work. It must be removed and the proper driver needs to be installed.


Install the driver for the RTL8188FU adapter:


Install kernel 4.19:

sudo mhwd-kernel -i linux419

Then boot into kernel 4.19.

Press the ESC key repeatedly during boot up to select kernel 4.19 from the grub boot menu.

The following command will install the linux-headers automatically for all installed kernels:

sudo pacman -S $(pacman -Qsq "^linux" | grep "^linux[0-9]*[-rt]*$" | awk '{print $1"-headers"}' ORS=' ')

Command courtesy @dalto

Install the rtl8188fu driver

Follow these instructions to install the rtl8188fu driver:

git clone https://github.com/corneal64/Realtek-USB-Wireless-Adapter-Drivers.git

cd Realtek-USB-Wireless-Adapter-Drivers

sudo dkms add ./rtl8188fu

sudo dkms build rtl8188fu/1.0

sudo dkms install rtl8188fu/1.0

sudo cp ./rtl8188fu/firmware/rtl8188fufw.bin /lib/firmware/rtlwifi/

sudo depmod -a

sudo mkinitcpio -P

Then create the driver options config file:

echo "options rtl8188fu rtw_power_mgnt=0 rtw_enusbss=0" | sudo tee /etc/modprobe.d/rtl8188fu.conf

Then disable MAC Address Randomization with the following command:

echo -e "[device]\nwifi.scan-rand-mac-address=no" | sudo tee /etc/NetworkManager/conf.d/disable-random-mac.conf

After creating the new conf file, reboot both your router and your computer.



Edit: added instructions to install on kernel 5.4 after initial installation on kernel 4.19. This step should not be required for most users.



Boot into 4.19, then uninstall kernel 5.4 with:

sudo mhwd-kernel -r linux54

Then reboot into 4.19.

Then do:

sudo pacman-mirrors -f5 & & sudo pacman -Syyu 

Then reboot into kernel 4.19 again.

Once in kernel 4.19 reinstall kernel 5.4

sudo mhwd-kernel -i linux54

This shouldn't be necessary, but do it again anyways.
Install the linux-headers for all installed kernels:

sudo pacman -S $(pacman -Qsq "^linux" | grep "^linux[0-9]*[-rt]*$" | awk '{print $1"-headers"}' ORS=' ')

Then reboot into kernel 5.4 and hopefully your wifi will be working.



3 Likes

Yes, but it is the wrong driver. I have been down this road before. That driver will not work.

1 Like

Connected via the adapter as I reply, I still have a few question-

  1. Why did you suggest installing from source, when 8188fu is available in AUR?
  2. Will I not be able to use other kernels with this adapter?

This is only a 32 bit driver and it will not build on 64 bit systems.

Generally I avoid suggesting building from source unless there is no other alternative. This adapter has no other alternative that I am aware of. Using a driver built from source using DKMS is just as good as using a dkms variant built from the AUR.

It should auto update on kernel updates, but may require the occasional rebuild over time.

You probably can, but I suggested kernel 4.19 just because I wanted to be sure it built correctly. I would install timeshift and make a system backup.

Then install kernel 5.4 and test building it on 5.4.

It may build correctly on 5.6, but I doubt 5.7 will work yet.

Your hardware is older and you do not need the newest kernels, so I just wanted to be sure the driver built correctly on an older compatible kernel for you.

Glad things worked out for you.

2 Likes

I already have 5.4 installed. What do you mean by building it on 5.4. Can't kernel 5.4 access the same files as 4.19?

I wonder why this adapter is older. I just bought it on wish.com. I prefer retail shopping but I was unable to this time (due to corvid). Did wish send me an old and outdated product? Here is it if you are curious.

If it is too old, I can return it in 30 days. That they sent me the wrong driver was already strike 1

Sometimes you get what you pay for on wish. The adapter is an older N model. There is nothing wrong with adapters using N, but then you'd prefer driver kernel support included.

Personally, this would be one of the last adapters I'd buy because of all the extra steps required to get it working. For the cost of shipping it back, it might just be simpler to keep it though (now that you have it working).

If you already have kernel 5.4 installed DKMS may have already built the driver for kernel 5.4. Test out 5.4 to see if it works.

1 Like

I logged in to 5.4. It simply did not recognize the device. However, I noticed something different. Under 5.4.44.1, the corresponding recovery mode and fallback are 5.4.23.1. Aren't the numbers supposed to be exact same? I think I installed 5.4 from manjaro setting manager because it was lts. In grub-customizer, however, it does say in smaller fonts -- default name: Manjaro Linux (kernel 5.4.44.1)

is there anything wrong here?

I would boot into 4.19, then uninstall kernel 5.4 with:

sudo mhwd-kernel -r linux54

Then reboot into 4.19.

Then do:

sudo pacman-mirrors -f5 & & sudo pacman -Syyu 

Then reboot into kernel 4.19 again.

Once in kernel 4.19 reinstall kernel 5.4

sudo mhwd-kernel -i linux54

This shouldn't be necessary, but do it again anyways.
Install the linux-headers for all installed kernels:

sudo pacman -S $(pacman -Qsq "^linux" | grep "^linux[0-9]*[-rt]*$" | awk '{print $1"-headers"}' ORS=' ')

Then reboot into kernel 5.4 and check your wifi out.

You did pay attention to the part a few posts back where I mentioned to install timeshift and do a system backup... right?

That was because I foresaw these kinds of issues getting the driver working on a newer kernel. You want to make sure you don't mess up your working configuration trying to get things going with a newer kernel.



1 Like

Just FYI.

I just noticed this comment about grub customizer. Grub customizer can cause very serious problems. Anyone who is an expert on Grub recommends to never install that utility.

Search the forum about this if you have questions.

@tsunami please double check my kernel installation instructions again as I added another step.

1 Like

Well, now it works on all kernels. Now, I am ready to make a backup. I was gonna do it last night, but it was too late and it looked like it might take more than 21 minutes.

How do I mark two answers as "the solution". The second made it work on all kernels though.

Appreciate it.

The sentiment is appreciated, but that option is not possible with the forum software. You should mark the driver installation as the solution. I will edit in a copy of the kernel installation instructions as well. That way both will be together.

Glad you got everything working.

1 Like

Sorry for posting on a solved thread, but I think all Realtek wifi devices should end in "FU"

Sincerely,
A guy who spent hours configuring RTL8812AU drivers for an RTL8812BU adapter.

Forum kindly sponsored by