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 '15 at 12:27
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 '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. 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. Mar 29 '16 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 '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 Jul 12 '16 at 12:31
  • Not working in Ubuntu 16.10 (couldn't compile).
    – Campa
    Jan 25 '18 at 11:33
  • can you explain why you have to edit that file?
    – math2001
    Nov 11 '19 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 '15 at 11:58

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