Ubuntu – How to compile TP-Link T9UH Wireless Driver without Internet Access? I’m running into issues


I'm using a clean Ubuntu 16LTS install, with literally nothing else on there. I have the files to install the driver, and have proper GCC / Kernel requirements installed by default. But when I run

make clean


It runs into several errors. I can't install software due to not having an internet connection, which unfortunately, it seems that all the guides automatically assume I have an internet connection when installing the driver.

I attempted to tether my android phone to the PC so I could download the proper software, but my PC doesn't even detect the android phone! I can't tether using USB, as the phone just doesn't register, even when checking with lsusb. It seems to be charging though. I've also tried different ports. It may be due to that I'm running a custom ROM, although I highly doubt that.

Uname -r + lsusb:

gabriel@gabriel-desktop:~/Documents/T9UH_linux_v4.3.21.1_24835.20171031$ uname -r
gabriel@gabriel-desktop:~/Documents/T9UH_linux_v4.3.21.1_24835.20171031$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 057e:0337 Nintendo Co., Ltd 
Bus 003 Device 003: ID 2357:0106  
Bus 003 Device 002: ID 046d:c52e Logitech, Inc. MK260 Wireless Combo Receiver
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 046d:c24d Logitech, Inc. G710 Gaming Keyboard
Bus 001 Device 002: ID 0846:9011 NetGear, Inc. WNDA3100v2 802.11abgn [Broadcom BCM4323]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Make results: https://hastebin.com/toselovosi.rb

make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.13.0-36-generic/build M=/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031  modules
make[1]: Entering directory '/usr/src/linux-headers-4.13.0-36-generic'
  CC [M]  /home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/core/rtw_cmd.o
In file included from /home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/include/drv_types.h:32:0,
                 from /home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/core/rtw_cmd.c:22:
/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/include/osdep_service.h: In function ‘thread_enter’:
/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/include/osdep_service.h:343:2: error: implicit declaration of function ‘allow_signal’ [-Werror=implicit-function-declaration]
/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/include/osdep_service.h: In function ‘flush_signals_thread’:
/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/include/osdep_service.h:353:6: error: implicit declaration of function ‘signal_pending’ [-Werror=implicit-function-declaration]
  if (signal_pending (current)) 
/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/include/osdep_service.h:355:3: error: implicit declaration of function ‘flush_signals’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
scripts/Makefile.build:308: recipe for target '/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/core/rtw_cmd.o' failed
make[2]: *** [/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031/core/rtw_cmd.o] Error 1
Makefile:1550: recipe for target '_module_/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031' failed
make[1]: *** [_module_/home/gabriel/Documents/T9UH_linux_v4.3.21.1_24835.20171031] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-36-generic'
Makefile:1714: recipe for target 'modules' failed
make: *** [modules] Error 2

Best Answer

  • Please download this file on another computer and transfer it to the desktop of your Ubuntu computer with a USB key or similar. https://github.com/zebulon2/rtl8814au/archive/master.zip

    Now open a terminal and do:

    cd ~/Desktop
    unzip master.zip
    cd rtl8814au-master
    sudo make install
    sudo modprobe 8814au

    If there are no errors, when the internet is then available, we'll convert to dkms so you needn't recompile after kernel updates.

    EDIT: To enable dkms so that you needn't recompile after each kernel update, open a terminal and install dkms:

    sudo apt install dkms

    If it is already installed, that's fine, just continue:

    cd ~/Desktop/rtl8814au-master
    sudo cp -R . /usr/src/rtl8814au-4.3.21
    sudo dkms build -m rtl8814au -v 4.3.21
    sudo dkms install -m rtl8814au -v 4.3.21

    You should be all set.

  • Related Question