diff options
Diffstat (limited to 'net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch')
-rw-r--r-- | net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch | 157 |
1 files changed, 142 insertions, 15 deletions
diff --git a/net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch b/net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch index 6ce0fbc51eba..e5343023aaec 100644 --- a/net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch +++ b/net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch @@ -1,14 +1,28 @@ -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 +index 7f488391..4d0a5e0c 100755 --- a/scripts/airmon-ng.linux +++ b/scripts/airmon-ng.linux -@@ -354,21 +354,21 @@ ifaceIsUp() { +@@ -106,7 +106,18 @@ else + fi + + if [ -d /sys/bus/pci ] || [ -d /sys/bus/pci_express ] || [ -d /proc/bus/pci ]; then +- if [ ! -x "$(command -v lspci 2>&1)" ]; then ++ PCI_DEVICES=0 ++ if [ -d /sys/bus/pci/devices ] && [ "$(ls -1 /sys/bus/pci/devices 2>/dev/null | wc -l)" != '0' ]; then ++ PCI_DEVICES=1 ++ elif [ -r /proc/bus/pci/devices ] && [ -n "$(cat /proc/bus/pci/devices 2>/dev/null)" ]; then ++ PCI_DEVICES=1 ++ elif [ -d /sys/bus/pci_express/devices ] && [ -n "$(ls -1 /sys/bus/pci_express/devices 2>/dev/null | wc -l)" != '0' ]; then ++ PCI_DEVICES=1 ++ fi ++ ++ if [ ${PCI_DEVICES} -eq 0 ]; then ++ LSPCI=0 ++ elif [ ! -x "$(command -v lspci 2>&1)" ]; then + printf "Please install lspci from your distro's package manager.\n" + exit 1 + else +@@ -347,21 +358,21 @@ ifaceIsUp() { # fi #} @@ -45,7 +59,7 @@ index 14e4bdcd..d7328f4b 100755 yesorno() { read input -@@ -426,7 +426,7 @@ startMac80211Iface() { +@@ -419,7 +430,7 @@ startMac80211Iface() { done fi #we didn't bail means we need a monitor interface @@ -54,11 +68,11 @@ index 14e4bdcd..d7328f4b 100755 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() { +@@ -431,10 +442,16 @@ startMac80211Iface() { fi #we didn't bail means our target interface is available setLink ${1} down -+ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ] || [ "${DRIVER}" = "rtl8812au" ]; then ++ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ]; then + #grumble grumble, seriously crap vendor driver + startDeprecatedIface ${1} + setChannelMac80211 ${1} @@ -72,7 +86,55 @@ index 14e4bdcd..d7328f4b 100755 setChannelMac80211 ${1}mon else printf "\nNewly created monitor mode interface ${1}mon is *NOT* in monitor mode.\n" -@@ -569,12 +575,12 @@ setChannelMac80211() { +@@ -456,15 +473,12 @@ startMac80211Iface() { + printf "\nPlease run \"airmon-ng check kill\" and/or kill your network manager." + fi + else +- iw ${1} del ++ isRPiWireless && iw ${1} del + printf "\t\t(mac80211 station mode vif disabled for [${PHYDEV}]${1})\n" + fi + } + +-NEXMON_FIRMWARE_DIR=/opt +-NEXMON_DRIVER_DIR=/opt +- +-hasRPiWireless() { ++isRPiWireless() { + local HW_REV=$(grep Revision /proc/cpuinfo | awk '{print $3}') + [ -z "${HW_REV}" ] && return 0 + # http://www.raspberrypi-spy.co.uk/2012/09/checking-your-raspberry-pi-board-version/ +@@ -475,29 +489,6 @@ hasRPiWireless() { + return 0 + } + +-isNexutilPresent() { +- type nexutil >/dev/null 2>/dev/null +- if [ $? -eq 0 ]; then +- return 1 +- fi +- return 0 +-} +- +-startNexmonIface() { +- [ -z $1 ] && return +- +- if [ -n "$(iwconfig $1 | grep 'Mode:Monitor')" ] && [ -n "$(nexutil -m | grep 'monitor: 2')" ]; then +- printf "\n\tInterface $1 is already in monitor mode\n" +- else +- ifconfig $1 up 2>/dev/null +- iwconfig $1 mode monitor 2>/dev/null +- [ "$1" = "wlan0" ] && nexutil -m2 +- [ "$1" = "wlan0" ] || nexutil -m2 -I $1 +- iwconfig $1 channel ${CH} +- printf "\n\t\t(monitor mode enabled for [${PHYDEV}]${1})\n" +- fi +-} +- + startwlIface() { + if [ -f "/proc/brcm_monitor0" ]; then + if [ -r "/proc/brcm_monitor0" ]; then +@@ -587,12 +578,12 @@ setChannelMac80211() { fi } @@ -91,11 +153,11 @@ index 14e4bdcd..d7328f4b 100755 stopMac80211Iface() { if [ -f /sys/class/net/${1}/type ]; then -@@ -587,6 +593,11 @@ stopMac80211Iface() { +@@ -605,6 +596,11 @@ stopMac80211Iface() { printf "please report it.\n" exit 1 else -+ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ] || [ "${DRIVER}" = "rtl8812au" ]; then ++ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ]; then + #grumble grumble, seriously crap vendor driver + stopDeprecatedIface ${1} + return @@ -103,7 +165,48 @@ index 14e4bdcd..d7328f4b 100755 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 +@@ -665,18 +661,6 @@ stopMac80211Iface() { + fi + } + +-stopNexmonIface() { +- [ -z $1 ] && return +- ifconfig $1 down +- # Running nexutil is not necessary, it gets reset when putting interface down +- [ "$1" = "wlan0" ] && nexutil -m0 +- [ "$1" = "wlan0" ] || nexutil -m0 -I $1 +- ifconfig $1 down +- ifconfig $1 up 2> /dev/null +- iwconfig $1 mode managed 2> /dev/null +- printf "\n\t\t(monitor mode disabled for [${PHYDEV}]${1})\n" +-} +- + stopwlIface() { + if [ -f "/proc/brcm_monitor0" ]; then + if [ -r "/proc/brcm_monitor0" ]; then +@@ -751,6 +735,12 @@ getDriver() { + if [ "$DRIVER" = "rtl8187" ] && [ "$STACK" = "ieee80211" ]; then + DRIVER="r8187" + fi ++ if [ "$DRIVER" = "rtl88xxau" ]; then ++ DRIVER="88XXau" ++ fi ++ if [ "$DRIVER" = "rtl8812au" ]; then ++ DRIVER="8812au" ++ fi + + #Here we will catch the broken lying drivers not caught above + #currently this only functions for pci devices and not usb since lsusb has no -k option +@@ -795,6 +785,8 @@ getFrom() { + FROM="V" + elif [ "$DRIVER" = "rt5390sta" ]; then + FROM="V" ++ elif [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ]; then ++ FROM="V" + fi + elif modinfo -F filename $DRIVER 2>&1 | grep -q 'updates/drivers' + then +@@ -1346,8 +1338,10 @@ if [ "$DEBUG" = "1" ]; then fi fi if [ "$VERBOSE" = "1" ]; then @@ -116,3 +219,27 @@ index 14e4bdcd..d7328f4b 100755 uname -a checkvm +@@ -1493,23 +1487,6 @@ for iface in $(printf "${iface_list}"); do + if [ "$1" = "stop" ] && [ "$2" = "$iface" ]; then + stopwlIface $iface + fi +- elif [ "${CHIPSET}" = 'Broadcom 43430' ] || [ "${CHIPSET}" = 'Broadcom 43455' ]; then +- hasRPiWireless +- if [ $? -eq 0 ]; then +- printf "\n\tNot a Raspberry Pi 3, 3B+ or Zero Wireless, cannot put in monitor mode.\n" +- else +- isNexutilPresent +- if [ $? -eq 0 ]; then +- printf "\n\tMissing nexutil, cannot switch to monitor mode.\n" +- else +- if [ "$1" = "start" ] && [ "$2" = "$iface" ]; then +- startNexmonIface $iface +- fi +- if [ "$1" = "stop" ] && [ "$2" = "$iface" ]; then +- stopNexmonIface $iface +- fi +- fi +- fi + elif [ "$MAC80211" = "1" ]; then + if [ "$1" = "start" ] && [ "$2" = "$iface" ]; then + startMac80211Iface $iface |