commit 3cc9de5e7cbe6565c7e1fe12ebbcf2c6f7413c8d Author: Rick Farina (Zero_Chaos) 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