3

Recently I built new PC with Ubuntu OS 14.04 (64bit). I noticed the D-Link Wireless N Nano USB Adapter doesn't get detected and installed automatically.

Following are the adapter specifications:

  • Model No: DWA-131
  • Hardware Version : E1
  • Firmware Version : 5.00

How to install this wireless adapter?

1
  • Sounds as if, after a diligent search on your part, your hardware is not linux compatible. Your options are to contact the vendor and ask for a linux driver, write a kernel module for yourself, or purchase Linux compatible hardware. Of the 3, linux compatible hardware is by far the easiest solution.
    – Panther
    Feb 28, 2015 at 12:27

4 Answers 4

5

I added a driver for this adapter to PPA. It can be installed by running:

sudo add-apt-repository ppa:hanipouspilot/rtlwifi
sudo apt-get update
sudo apt-get install rtl8192eu-dkms
7
  • 1
    Doesn't work for me on 15.10. Mar 29, 2016 at 17:00
  • 1
    Did it build without errors? Did you install some other drivers? Are you sure you have a 8192eu device? You'd better ask a new question.
    – Pilot6
    Mar 29, 2016 at 17:04
  • 1
    This solution works for me so I'll just stick to it. Mar 29, 2016 at 17:15
  • It did not work for you, because you installed another driver and blacklisted rtl8192eu. It is OK to use another way, but not both.
    – Pilot6
    Mar 29, 2016 at 17:18
  • At first I tried the one from your repo but it didn't work. The interface showed up in the Wifi menu in the system tray after installation. It disappeared after rebooting however. Mar 29, 2016 at 17:21
2

Here's exactly what and where you have to edit:

  • Download the source of the DWA-131 (version E1) Linux driver.

  • Extract your source and go to /20140812_rtl8192EU_linux_v4.3.1.1_11320/os_dep/linux/.

  • Edit the os_intfs.c file.

  • Search for the following line: DBG_871X_LEVEL(_drv_info and change

    #endif
            return NOTIFY_DONE;
    
        DBG_871X_LEVEL(_drv_info_, FUNC_NDEV_FMT" state:%lu\n", FUNC_NDEV_ARG(dev), state);
    
        switch (state) {
        case NETDEV_CHANGENAME:
            rtw_adapter_proc_replace(dev);
            break;
        }
    
        return NOTIFY_DONE;
    } 
    

    into

    #endif
            return NOTIFY_DONE;
    
        //ed, 20150426 //DBG_871X_LEVEL(_drv_info_, FUNC_NDEV_FMT" state:%lu\n", FUNC_NDEV_ARG(dev), state);
    
        switch (state) {
        case NETDEV_CHANGENAME:
            //ed,20150426 //rtw_adapter_proc_replace(dev);
            break;
        }
    
        return NOTIFY_DONE;
    }
    

    You have to actually insert this: //ed, 20150426 //

  • Then write the file and do:

    1. make
    2. make install
  • I also did the following:

    wget http://www.orbit-lab.org/kernel/compat-wireless-3-stable/v3.0.0/compat-wireless-3.0-2.tar.bz2
    tar jxvf compat-wireless-3.0-2.tar.bz2
    make
    make install
    

    (Please note that the build-essential package is already installed on the machine. You'll have to apt-get install it if you want to be able to make and make install anything on the machine.)

Hope this helps make the process clearer. Thanks to the first author for the files to modify.

Fabrice Clerc

5
  • 2
    Why do you need to install this guy? compat-wireless-3.0-2.tar.bz2 Dec 22, 2015 at 23:42
  • 1
    If I try make I get the error Makefile:1329: recipe for target 'modules' failed... ideas how to solve this? I'm using Ubuntu 16.04.
    – Nearoo
    Jun 12, 2016 at 9:12
  • Same issue here recipe for target 'modules' failed , ubuntu 16.04 Jul 12, 2016 at 12:31
  • Not working in Ubuntu 16.10 (couldn't compile).
    – Campa
    Jan 25, 2018 at 11:33
  • can you explain why you have to edit that file?
    – math2001
    Nov 11, 2019 at 9:37
0

This way is working on my desktop (x86_64, ubuntu 14.04, kernel 3.13.0-49-generic). For your reference.

  1. Download the source of the DWA-131 (ver:E1) linux driver.
  2. Extract the zip file (DWA-131_Linux_driver_v4.3.1.1.zip)
  3. Modify two lines (//ed, 20150426 //...) in the rtw_ndev_notifier_call() function, file name os_intfs.c.

    return NOTIFY_DONE;
    //ed, 20150426 //DBG_871X_LEVEL(_drv_info_, FUNC_NDEV_FMT" state:%lu\n", FUNC_NDEV_ARG(dev), state);
    
    switch (state) {    case NETDEV_CHANGENAME:         //ed, 20150426 //rtw_adapter_proc_replace(dev);         break;  }
    
  4. compile the codes. (refer to readme.txt in the downloaded package)

    make
    
  5. install the driver

    sudo make install
    
1
  • Can you please edit your answer and explain a bit more which lines to change to what? I find your explanation very confusing. Thanks! Apr 26, 2015 at 11:58
0

I have faced this issue after upgrading from 18.04 to Ubuntu 20.04. The goal is to download the last driver for rtl8192eu adapted to the newest kernels (up to 5.18)

Install Drivers in new Kernel versions

  1. Go to this Github repo and download the adpated Driver https://github.com/clnhub/rtl8192eu-linux
  • TIP: If you don't have internet access in the PC, use your phone, set the Desktop view (i.e. Chrome) and download the repo selecting "CODE" --> "Download ZIP" and then copy the .zip file into the PC.
  1. Build the Driver using the automated script ./install_wifi.sh
  • IMPORTANT: It is necessary to have installed those packages "linux-headers-generic build-essential dkms".
  1. After finishing the script (and without restarting) the WiFi icon will be shown in the Task Bar (up right corner).

Path to the official linux drivers In this path are located the official released drivers --> But only supports 18.04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .