GNU General Public License v2.0

项目介绍

svpcom/rtl8812au 是一个托管在 GitHub 上的开源项目,主要使用 C 编写,采用 GNU General Public License v2.0 许可证,目前获得 156 个 Star、96 次 Fork。

仓库全名
svpcom/rtl8812au
开源许可证
GNU General Public License v2.0
Star 数
156
Fork 数
96
未关闭 Issue
11

README 摘要

RTL8812AU/21AU and RTL8814AU drivers Supports Realtek 8811, 8812, 8814 and 8821 chipsets DKMS This driver can be installed using [DKMS]. This is a system which will automatically recompile and install a kernel module when a new kernel gets installed or updated. To make use of DKMS, install the dkms package, which on Debian (based) systems is done like this: Installation of Driver In order to install the driver open…

完整内容见 GitHub 原始 README 或本页 。

常见问题

rtl8812au 用什么语言开发?

主要使用 C 编写,采用 GNU General Public License v2.0 许可证,目前有 156 个 Star。

rtl8812au 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v2.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 rtl8812au 的源码?

可以直接克隆仓库:git clone https://github.com/svpcom/rtl8812au.git;安装与运行步骤见仓库 README。

rtl8812au 最近还在维护吗?

仓库最近一次更新为 2月7日,当前有 11 个未关闭 Issue;Star 数为 156,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Patched rtl88xxau drivers for wfb-ng

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
504
价值分
137
活跃状态
活跃

语言占比

C
Makefile
Shell

README

RTL8812AU/21AU and RTL8814AU drivers

Supports Realtek 8811, 8812, 8814 and 8821 chipsets

Monitor mode Frame Injection GitHub version GitHub issues GitHub forks GitHub stars GitHub license
Kali Arch Armbian ArchLinux aircrack-ng wifite2

DKMS

This driver can be installed using [DKMS]. This is a system which will automatically recompile and install a kernel module when a new kernel gets installed or updated. To make use of DKMS, install the dkms package, which on Debian (based) systems is done like this:

$ sudo apt-get install dkms

Installation of Driver

In order to install the driver open a terminal in the directory with the source code and execute the following command:

$ sudo ./dkms-install.sh

Removal of Driver

In order to remove the driver from your system open a terminal in the directory with the source code and execute the following command:

$ sudo ./dkms-remove.sh

Build / Install with Make

For building & installing the driver with ‘make’ use

$ make
$ make install

Using hostapd?

Check the documents folder for more information on how to setup wpa_cli and hostapd support on these drivers.
For 802.11ac (high speed), the driver also needs to be loaded with:
“modprobe -r 88XXau” && “modprobe 88XXau rtw_vht_enable=2”

# For a bit more info on AP/STA mode configuration, see following links:
  - http://blog.fraggod.net/2017/04/27/wifi-hostapd-configuration-for-80211ac-networks.html
  - https://github.com/mk-fg/archlinux-pkgbuilds/issues/2#issuecomment-325991813

Download / Build / Install

Download

$ git clone -b v5.2.20 https://github.com/svpcom/rtl8812au.git
$ cd rtl*

Package / Build dependencies (Kali)

$ apt-get install build-essential
$ apt-get install bc
$ apt-get install libelf-dev
$ apt-get install linux-headers-`uname -r`

For Raspberry (RPI 2/3) you will need kernel sources

$ wget "https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source" -O /usr/bin/rpi-source
$ chmod 755 /usr/bin/rpi-source
$ rpi-source 

Then you need to download and compile the driver on the RPI

$ git clone https://github.com/aircrack-ng/rtl8812au -b v5.2.20
$ cd rtl*
$ make
$ cp 8812au.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
$ depmod -a
$ modprobe 88XXau

then run this step to change platform in Makefile, For RPI 2/3:

$ sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
$ sed -i 's/CONFIG_PLATFORM_ARM_RPI = n/CONFIG_PLATFORM_ARM_RPI = y/g' Makefile

But for RPI 3 B+ you will need to run those below which builds the ARM64 arch driver:

$ sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
$ sed -i 's/CONFIG_PLATFORM_ARM64_RPI = n/CONFIG_PLATFORM_ARM64_RPI = y/g' Makefile

For setting monitor mode

  1. Fix problematic interference in monitor mode.
$ airmon-ng check kill

You may also uncheck the box “Automatically connect to this network when it is available” in nm-connection-editor. This only works if you have a saved wifi connection.

  1. Set interface down
$ ip link set <wlan1> down
  1. Set monitor mode
$  airmon-ng start <wlan1>
or
$ iw dev <wlan1> set type monitor
  1. Set interface up
$ ip link set <wlan1> up

For setting TX power to a fixed index (1=min, 63=max)

$ iwconfig <wlan1> txpower -30
or
$ iw <wlan1> set txpower fixed -3000

LED control

You can now control LED behaviour statically by Makefile, for example:
CONFIG_LED_ENABLE = n

value can be y or n

statically by module parameter in /etc/modprobe.d/8812au.conf or whatever, example:
options 88XXau rtw_led_enable=0

value can be 0 or 1

or dynamically by writing to /proc/net/rtl8812au/$(your interface name)/led_enable, for example:
$ echo "0" > /proc/net/rtl8812au/$(your interface name)/led_enable

value can be 0 or 1

check current value:
$ cat /proc/net/rtl8812au/$(your interface name)/led_enable

Testing / Debug

Check "documents" and "tools" folders for information
We also got a Android APK tool for debugging several chipsets

https://github.com/aircrack-ng/rtl8812au/blob/v5.2.20/documents/Screenshot_20190129-025608-01.jpeg

NetworkManager

Newer versions of NetworkManager got some options you might want to disable. Simply add these lines into the NetworkManager.conf

[device]
wifi.scan-rand-mac-address=no

[ifupdown]
managed=false

[connection]
wifi.powersave=2

at the end of file /etc/NetworkManager/NetworkManager.conf and restart NetworkManager with the command:

$ sudo service NetworkManager restart

评论

暂无评论