diff --git a/README.md b/README.md index 82ff9d6..2e19432 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,291 @@ -# rtl8188eu -Realtek RTL8188EU Wireless Lan Driver for Linux +----- + +## rtl8188eu (8188eu.ko) + +## Realtek RTL8188EU Wireless Lan Driver for Linux + +- v5.13.3 (20210615) +- Based on EDIMAX EW-7811Un V2 Linux Driver (Version : 1.0.1.3) 2021-10-01 +- Support Kernel: 3.8 - 5.4 (Realtek) +- Support up to Kernel 5.14 (k5.15 added but not tested yet) + +## Specification + +- Supported interface modes: + * IBSS + * managed + * AP + * monitor + * P2P-client + * P2P-GO +- Packet injection +- TX power control +- LED control +- Power saving control +- Driver debug log level control +- Security: + * WEP 64/128-bit, WPA, WPA2, and WPA3 + +## Tested Linux Distros and Tools + +Successful tested injection `aireplay-ng -9 `, deauthentication `aireplay-ng -0 1 -a `. +Successful hcxdumptool driver test `hcxdumptool -i --check_driver` and capture packets `hcxdumptool -i -o test.pcapng --filterlist_ap=targets.lst --filtermode=2 --enable_status=15` `(hcxdumptool -i -o test.pcapng --filterlist=targets.lst --filtermode=2 --enable_status=15)`. +Connecting to AP with WPA3 (WPA3-SAE) authentication method (IMPORTANT: Network Manager, is not support WPA3 on this driver. Connecting with wpa_supplicant). +Start WPA3 (WPA3-SAE) SoftAP. +TX power control tested with SoftAP mode and OpenWrt firmware (OpenWrt 21.02.0 r16279-5cc0535800, Channel Analysis Feature). + +- Ubuntu 11.10 (kernel 3.0) + * Aircrack-ng 1.5.2 + * hcxdumptool 4.2.1 + +- Ubuntu 12.04 (kernel 3.4) + * Aircrack-ng 1.5.2 + * hcxdumptool 4.2.1 + +- Ubuntu 12.10 (kernel 3.5) + * Aircrack-ng 1.5.2 + * hcxdumptool 4.2.1 + +- Ubuntu 13.04 (kernel 3.8) + * Aircrack-ng 1.5.2 + * hcxdumptool 5.1.4 + +- Ubuntu 21.04 (kernel 5.11) + * wpa_supplicant v2.10-devel-hostap_2_9-2374-g9ef8491d9 + * Aircrack-ng 1.6 + * hcxdumptool 6.1.6 + +- Ubuntu 21.10 (kernel 5.13) + * Aircrack-ng 1.6 + * wpa_supplicant v2.10-devel-hostap_2_9-2398-g8a54c252a + * hostapd v2.10-devel-hostap_2_9-2398-g8a54c252a + +- Kali Linux 2019.1a (kernel 4.19) + * Aircrack-ng 1.5.2 + * hcxdumptool 5.1.7 + * wpa_supplicant v2.10-devel-hostap_2_9-2433-g8d881d942 + +- Kali Linux 2020.3 (kernel 5.9) + * Aircrack-ng 1.6 + * hcxdumptool 6.1.4 + * wpa_supplicant v2.10-devel-hostap_2_9-2379-g4775a5f82 + +- Kali Linux 2021.3a (kernel 5.14) + * Aircrack-ng 1.6 + * hcxdumptool 6.1.6 + * wpa_supplicant v2.10-devel-hostap_2_9-2433-g8d881d942 + +## HOW TO + +### Install + +Download source + +``` +git clone https://github.com/ivanovborislav/rtl8188eu.git +cd rtl8188eu +``` + +Install missing packages: + +``` +sudo apt-get install bc build-essential +``` + +Install linux headers: + +``` +sudo apt-get install linux-headers-$(uname -r) +``` + +or + +``` +apt-cache search linux-headers +sudo apt-get install linux-headers-5.14.0-kali4-amd64 (for example) +apt-cache search linux-image +sudo apt-get install linux-image-5.14.0-kali4-amd64 (for example) +``` + +Compile: + +``` +make +sudo make install +``` + +IMPORTANT: Prevent loading old driver r8188eu. + +``` +echo "blacklist r8188eu" > /etc/modprobe.d/realtek.conf +``` + +### Monitor mode + +``` +sudo airmon-ng check kill +sudo ip link set down +sudo iw dev set type monitor +sudo ip link set up +``` + +### Managed mode + +``` +sudo ip link set down +sudo iw dev set type managed +sudo ip link set up +sudo systemctl restart NetworkManager (sudo service network-manager restart) +``` + +### TX power control + +Note: Set TX power before start SoftAP mode. `...set txpower fixed 3000 = txpower 30.00 dBm`. + +``` +sudo iw dev set txpower fixed 3000 +``` + +### Driver options + +#### Change driver options during inserting driver module + +Remove (unload) a module from the Linux kernel. +``` +sudo rmmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8188eu.ko +``` + +Insert (load) a module into the Linux kernel. +``` +sudo insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8188eu.ko rtw_ips_mode=1 rtw_drv_log_level=4 rtw_power_mgnt=2 rtw_led_ctrl=1 +``` + +#### Change driver options loading from file + +Create file `8188eu.conf` containing `options 8188eu rtw_ips_mode=1 rtw_drv_log_level=4 rtw_power_mgnt=2 rtw_led_ctrl=1`. +Copy a file to `/etc/modprobe.d/` directory. + +``` +sudo cp -f 8188eu.conf /etc/modprobe.d +``` + +Power saving control. + +IPS (Inactive Power Saving) Function, rtw_ips_mode= +``` +0:Disable IPS +1:Enable IPS (default) +``` + +LPS (Leisure Power Saving) Function, rtw_power_mgnt= +``` +0:Disable LPS +1:Enable LPS +2:Enable LPS with clock gating (default) +``` + +Driver debug log level control, rtw_drv_log_level= +``` +0:_DRV_NONE_ +1:_DRV_ALWAYS_ +2:_DRV_ERR_ +3:_DRV_WARNING_ +4:_DRV_INFO_ (default) +5:_DRV_DEBUG_ +6:_DRV_MAX_ +``` + +Driver LED control, rtw_led_ctrl= +``` +0:Always off +1:Normal blink (default) +2:Always on +``` + +### Connecting with wpa_supplicant + +Example wpa_supplicant.conf with WPA3-Personal (WPA3-SAE). + +``` +ctrl_interface=/var/run/wpa_supplicant +update_config=1 +country=EN +p2p_no_group_iface=1 +sae_groups=19 20 21 +network={ + ssid="WPA3" + proto=RSN + key_mgmt=SAE + pairwise=CCMP + group=CCMP + ieee80211w=2 + psk="1234567890" +} +``` + +Now start... +``` +sudo killall wpa_supplicant +sudo wpa_supplicant -B -i -c wpa_supplicant.conf +sudo dhclient +``` + +### Start SoftAP mode + +Example hostapd.conf with WPA3-Personal (WPA3-SAE). + +``` +ctrl_interface=/var/run/hostapd +ctrl_interface_group=0 +driver=nl80211 +ssid=WPA3 +country_code=EN +channel=6 +beacon_int=100 +dtim_period=1 +fragm_threshold=2346 +rts_threshold=2347 +hw_mode=g +ieee80211n=1 +max_num_sta=16 +wmm_enabled=1 +ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40][RX-STBC1][MAX-AMSDU-7935][DSSS_CCK-40] +ignore_broadcast_ssid=0 + +auth_algs=1 +wpa=2 +wpa_key_mgmt=SAE +wpa_pairwise=CCMP +rsn_pairwise=CCMP +ieee80211w=2 +sae_groups=19 20 21 +sae_require_mfp=1 +wpa_passphrase=1234567890 +``` + +Now start... +``` +sudo killall hostapd +sudo hostapd -i hostapd.conf +``` + +## Test devices + +- TP-Link TL-WN722N V3 + +- Linksys WRT1200AC V2 + * OpenWrt 21.02.0 r16279-5cc0535800 / LuCI openwrt-21.02 branch git-21.231.26241-422c175 + +``` +config wifi-iface 'default_radio1' + option device 'radio1' + option network 'lan' + option mode 'ap' + option macaddr '30:23:03:XX:XX:XX' + option ssid 'WPA3' + option encryption 'sae' + option key '1234567890' + option ieee80211w '2' +``` + +-----