118 lines
3.4 KiB
Diff
118 lines
3.4 KiB
Diff
commit 3cc9de5e7cbe6565c7e1fe12ebbcf2c6f7413c8d
|
|
Author: Rick Farina (Zero_Chaos) <zerochaos@gentoo.org>
|
|
Date: Tue Aug 7 01:27:05 2018 +0000
|
|
|
|
airmon-ng support 8812au
|
|
|
|
diff --git a/scripts/airmon-ng.linux b/scripts/airmon-ng.linux
|
|
index 14e4bdcd..d7328f4b 100755
|
|
--- a/scripts/airmon-ng.linux
|
|
+++ b/scripts/airmon-ng.linux
|
|
@@ -354,21 +354,21 @@ ifaceIsUp() {
|
|
# fi
|
|
#}
|
|
|
|
-#startDeprecatedIface() {
|
|
-# iwconfig ${1} mode monitor > /dev/null 2>&1
|
|
-# if [ -n "${2}" ]; then
|
|
-# if [ ${2} -lt 1000 ]; then
|
|
-# iwconfig ${1} channel ${2} > /dev/null 2>&1
|
|
-# else
|
|
-# iwconfig ${1} freq ${2}000000 > /dev/null 2>&1
|
|
-# fi
|
|
-# else
|
|
-# iwconfig ${1} channel ${CH} > /dev/null 2>&1
|
|
-# fi
|
|
-# iwconfig ${1} key off > /dev/null 2>&1
|
|
-# setLink ${1} up
|
|
-# printf " (monitor mode enabled)"
|
|
-#}
|
|
+startDeprecatedIface() {
|
|
+ iwconfig ${1} mode monitor > /dev/null 2>&1
|
|
+ if [ -n "${2}" ]; then
|
|
+ if [ ${2} -lt 1000 ]; then
|
|
+ iwconfig ${1} channel ${2} > /dev/null 2>&1
|
|
+ else
|
|
+ iwconfig ${1} freq ${2}000000 > /dev/null 2>&1
|
|
+ fi
|
|
+ else
|
|
+ iwconfig ${1} channel ${CH} > /dev/null 2>&1
|
|
+ fi
|
|
+ iwconfig ${1} key off > /dev/null 2>&1
|
|
+ setLink ${1} up
|
|
+ printf " (monitor mode enabled)"
|
|
+}
|
|
|
|
yesorno() {
|
|
read input
|
|
@@ -426,7 +426,7 @@ startMac80211Iface() {
|
|
done
|
|
fi
|
|
#we didn't bail means we need a monitor interface
|
|
- if [ ${#1} -gt 12 ]; then
|
|
+ if [ ${#1} -gt 12 ]; then
|
|
printf "Interface ${1}mon is too long for linux so it will be renamed to the old style (wlan#) name.\n"
|
|
findFreeInterface monitor
|
|
else
|
|
@@ -438,10 +438,16 @@ startMac80211Iface() {
|
|
fi
|
|
#we didn't bail means our target interface is available
|
|
setLink ${1} down
|
|
+ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ] || [ "${DRIVER}" = "rtl8812au" ]; then
|
|
+ #grumble grumble, seriously crap vendor driver
|
|
+ startDeprecatedIface ${1}
|
|
+ setChannelMac80211 ${1}
|
|
+ return
|
|
+ fi
|
|
IW_ERROR="$(iw phy ${PHYDEV} interface add ${1}mon type monitor 2>&1)"
|
|
if [ -z "${IW_ERROR}" ]; then
|
|
sleep 1
|
|
- if [ "$(cat /sys/class/ieee80211/${PHYDEV}/device/net/${1}mon/type)" = "803" ]; then
|
|
+ if [ -r "/sys/class/ieee80211/${PHYDEV}/device/net/${1}mon/type" ] && [ "$(cat /sys/class/ieee80211/${PHYDEV}/device/net/${1}mon/type)" = "803" ]; then
|
|
setChannelMac80211 ${1}mon
|
|
else
|
|
printf "\nNewly created monitor mode interface ${1}mon is *NOT* in monitor mode.\n"
|
|
@@ -569,12 +575,12 @@ setChannelMac80211() {
|
|
fi
|
|
}
|
|
|
|
-#stopDeprecatedIface() {
|
|
-# setLink $1 down
|
|
-# iwconfig $1 mode Managed > /dev/null 2>&1
|
|
-# setLink $1 up
|
|
-# printf " (monitor mode disabled)"
|
|
-#}
|
|
+stopDeprecatedIface() {
|
|
+ setLink $1 down
|
|
+ iwconfig $1 mode Managed > /dev/null 2>&1
|
|
+ setLink $1 up
|
|
+ printf " (monitor mode disabled)"
|
|
+}
|
|
|
|
stopMac80211Iface() {
|
|
if [ -f /sys/class/net/${1}/type ]; then
|
|
@@ -587,6 +593,11 @@ stopMac80211Iface() {
|
|
printf "please report it.\n"
|
|
exit 1
|
|
else
|
|
+ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ] || [ "${DRIVER}" = "rtl8812au" ]; then
|
|
+ #grumble grumble, seriously crap vendor driver
|
|
+ stopDeprecatedIface ${1}
|
|
+ return
|
|
+ fi
|
|
if [ "${ELITE}" = "0" ]; then
|
|
local need_sta=1
|
|
if [ -d /sys/class/ieee80211/${PHYDEV}/device/net ]; then
|
|
@@ -1316,8 +1327,10 @@ if [ "$DEBUG" = "1" ]; then
|
|
fi
|
|
fi
|
|
if [ "$VERBOSE" = "1" ]; then
|
|
- lsb_release -a
|
|
- printf "\n"
|
|
+ if [ -n "$(command -v lsb_release 2> /dev/null)" ]; then
|
|
+ lsb_release -a
|
|
+ printf "\n"
|
|
+ fi
|
|
uname -a
|
|
|
|
checkvm
|