Internet Connection Cannot be established on a TP-Link WN821N

Hey guys , recently installed Manjaro and am fascinated by the wonders its has to offer but this issue has been a big one for me to handle since I am a absolute beginner in the Linux space so I figured it would be best to take help of those who are better aware of Linux then I am :slight_smile:

I installed Manjaro 21.04 Xfce today on my machine . During the Live install I noticed that the Network Manager would display the available Wi-Fi networks but when connected to , will time out and say couldn’t connect to the network … I figured it might get solved when I install a copy of Manjaro on my PC but the issue persists even in the Installed version . I am using a TP-Link WN821N external USB network adapter which works flawlessly on Windows and even on some other distros of Linux Like Xubuntu and Mint …

My entire work is based on Networking and since I am new to Linux I really couldn’t figure out a fix , so any help suggestions and help would be appreciated :slight_smile:

Hello @Someone2305 :slight_smile:

Could you open a terminal and type this:

inxi -Nazy

Then we know, which chipset this is.

Please post the output here.

1 Like

Sure thing mate .
I just have to paste
inxi -Nazy in the terminal , right ?

1 Like

Here’s the output of the script mate …

Network
Device-1: Realtek RTL8111/8186/84111 PCI Express Gigabit Ethernet
Vendor: Intel driver: r8169 v: kernel port: d000 bus-ID: 03:00:0
chip-ID: 10ec:8168 class-ID: 0200
Device-2 :TP-Link TLWN821N v5/v6 [RTL8192EU] type: USB driver: rtl8xxxu
bus-ID: 1-5:7 chip-ID: 2357:0107 class-ID: 0000 serial:

Note :
I gained these results via a live install of Manjaro so if this was not how it was supposed to be please let me know since I had to remove Manjaro from the last time due to the network problem and have to use Windows for the time being …

Looks like a unified driver take place here and did not work properly:

You need to install an additional driver:

Sources:
https://aur.archlinux.org/packages/rtl8192eu-git
https://github.com/Mange/rtl8192eu-linux-driver

  1. Check which kernel you are running: uname -r
  2. Install the headers. Kernel 5.10 for example: pamac install linux510-headers
  3. Build the driver: pamac build rtl8192eu-git

When done on a local installation, then simply reboot and it should work.

On a live session (temporary):

  1. remove the driver: sudo modeprobe -r rtl8xxxu or sudo rmmod rtl8xxxu
  2. Unplug the device.
  3. Load the driver: sudo modprobe 8192eu
  4. Plugin the device.
  5. Check if the correct driver has been loaded: lsusb -vt
1 Like

Hey there bud !

That looks like something that would work out !!
But the issue is that since I cannot connect to the internet so how do I access the links you attached while in Manjaro ? Maybe separately on a thumb drive ? Btw I have done installing Manjaro locally on my machine again …

And also you mentioned , “Install the headers” . What does that mean (sorry for being an absolute dumb head at this)? And what do I do with the drivers in the links you mentioned ? I mean how do I install them ? Like I know stuff in Windows so is there like any executable file like there is in Windows which I could simply run and install the drivers off ? That would be easy but I am willing to take any hard steps too …

Well, this is not a binary, where you could just install it. Lemme explain:

The first link shows the AUR Repo. It contains the PKGBUILD. That is a recipe to build (compile) the driver.

The second link is the repo, which contains the source code of the driver.

(Both links are just there for reference, the commands below do the whole job for you.)

The linux headers are needed to be included at the building process, so that it fits your kernel. On every kernel upgrade, the driver must be compiled again (which is done automatically).

The really easy way is to have a temporary wired internet connection, install and build that stuff and then use the wirless connection, but it is also possible to download prepare that stuff before. But you need a bit more knowledge than just typing 3 commands on the terminal.

1 Like

Ok bud got it , so we have to this the hard way I presume , ready for it , but how ?

As I told you before am an absolute beginner and even worse in Arch-based Linux than In Debian so can you please just make it a little easier by telling what commands I shall input to make this work ?

okay… :laughing:

I will try to explain it:

What you need:

  • Manjaro Install iso
  • VirtualBox
  • Windows with Internet Connection (if no Linux)

Lets start:

  1. Prepare Virtuabox and boot Manjaro there with the ISO.
  2. Download the headers.
sudo pacman -Syw linux510-headers
  1. Move the package to your home folder:
mkdir ~/packages
sudo mv /var/cache/pacman/pkg/linux510-headers*.tar.zst ~/packages/
  1. Download the PKGBUILD:
git clone https://aur.archlinux.org/rtl8192eu-git.git ~/packages/rtl8192eu-git
  1. Building the packages:

Install the headers:

sudo pacman -U  ~/packages/linux510-headers*.tar.zst

Install the necessary tools for building:

sudo pacman -S base-devel

Change to folder rtl8192eu-git:

cd ~/packages/rtl8192eu-git

Build the package:

makepkg -sf

After that there should be another file with the suffix *.tar.zst.

  1. Copy / Upload these 2 *.tar.zst files on a web service or via windows share outside the virtualbox. These 2 files should fit the kernel which is on the ISO.

  2. On the Installation without Internet, mount the usb stick which contains the packages and install them:

sudo pacman -U /path/to/flashdrive/*.tar.zst
  1. Reboot and the driver should be available.

I didn’t test everything fully myself, but this theoretically what I do in this situation. If you stuck somewhere, just ask.

1 Like

Alright , that looks promising !

I’ll try that and update you on how everything goes ! Fingers crossed !

Ok , small doubt I have to do all of this is a live install in VirtualBox or as an Installed copy of Manjaro ?

After that there should be another file with the suffix *.tar.zst

And here you mentioned that a file with the mentioned suffix will be present … where is the location of this file ?

Ok , I tried all of the commands on a installed copy of Manjaro on VirtualBox and most of em went without a hitch but this one(even tried on the live install and gave me the error) …

makepkg -sf

When I enter this command ,I keep getting this error …
==> ERROR: Cannot find the fakeroot binary.
==> ERROR: Cannot find the strip binary required for object file stripping.

You should install the base-devel group (pacman -S base-devel) to have (most) utilities for building packages.

1 Like

Added that above. I must have forgot that. @Someone2305

1 Like

How do I do that ?

Alright Got it , am installing all the tools rn thanks !

Better without installation.

It is in ~/packages/rtl8192eu-git and in ~/packages. The tilde ~ stands for $HOME what would be for example: /home/manjaro.

1 Like

Oh alright , got it thanks !

Ok looks like now the makepkg command is working perfectly but now can you please explain step 6 and 7 ?

That might be different on Windows, but you have to add a Share, and point to a folder which is on windows. This folder will be then available via samba on the file manager inside the virtual box. How it can be reached depends on your DE (KDE, Gnome, XFCE).


1 Like