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?

  • 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 '15 at 12:27

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
  • 1
    Doesn't work for me on 15.10. – Mateusz Piotrowski Mar 29 '16 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 '16 at 17:04
  • 1
    This solution works for me so I'll just stick to it. – Mateusz Piotrowski Mar 29 '16 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 '16 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. – Mateusz Piotrowski Mar 29 '16 at 17:21

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

  • 2
    Why do you need to install this guy? compat-wireless-3.0-2.tar.bz2 – JG. Dec 22 '15 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 '16 at 9:12
  • Same issue here recipe for target 'modules' failed , ubuntu 16.04 – BlackBurn027 Jul 12 '16 at 12:31
  • Not working in Ubuntu 16.10 (couldn't compile). – Campa Jan 25 at 11:33

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
    
  • Can you please edit your answer and explain a bit more which lines to change to what? I find your explanation very confusing. Thanks! – Galgalesh Apr 26 '15 at 11:58

protected by Community Sep 27 '15 at 23:05

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.