diff --git a/install.sh b/install.sh index 431d362..dd30af6 100755 --- a/install.sh +++ b/install.sh @@ -89,9 +89,9 @@ function install_bluetooth { if [ "" == "$PKG_STATUS" ]; then printf "Fixing unmet dependencies. Installing libreadline6.\n" if [ "armel" == "$ARCH" ]; then - dpkg -i ./repo/libreadline6_6.3-8+b3_armel.deb + dpkg -i ./repo/bluetooth/libreadline6_6.3-8+b3_armel.deb else - dpkg -i ./repo/libreadline6_6.3-8+b3_armhf.deb + dpkg -i ./repo/bluetooth/libreadline6_6.3-8+b3_armhf.deb fi fi @@ -118,23 +118,29 @@ function install_bluetooth { fi fi - apt install bluez-firmware + ## Online installation +# apt install bluez-firmware + ## Offline installation + dpkg -i ./repo/externals/bluez-firmware_* if [ "armel" == "$ARCH" ]; then - dpkg --force-all -i ./repo/bluez_5.39-1+rpi1+re4son_armel.deb + dpkg --force-all -i ./repo/bluetooth/bluez_5.39-1+rpi1+re4son_armel.deb else - dpkg --force-all -i ./repo/bluez_5.39-1+rpi3+re4son_armhf.deb + dpkg --force-all -i ./repo/bluetooth/bluez_5.39-1+rpi3+re4son_armhf.deb fi - dpkg --force-all -i ./repo/pi-bluetooth_0.1.4+re4son_all.deb + + dpkg --force-all -i ./repo/bluetooth/pi-bluetooth_0.1.4+re4son_all.deb apt-mark hold bluez-firmware bluez pi-bluetooth if [ ! -f /lib/udev/rules.d/50-bluetooth-hci-auto-poweron.rules ]; then cp firmware/50-bluetooth-hci-auto-poweron.rules /lib/udev/rules.d/50-bluetooth-hci-auto-poweron.rules fi + ## Above rule runs /bin/hciconfig but its found in /usr/bin under kali, lets create a link if [ ! -f /bin/hciconfig ]; then ln -s /usr/bin/hciconfig /bin/hciconfig fi + ## systemd version 232 breaks execution of above bluetooth rule, let's fix that SYSTEMD_VER=$(systemd --version|grep systemd|sed 's/systemd //') if (( $SYSTEMD_VER >= 232 )); then @@ -161,7 +167,7 @@ function install_firmware { cp firmware/BCM43430A1.hcd /lib/firmware/brcm/BCM43430A1.hcd fi if [ ! -f /etc/udev/rules.d/99-com.rules ]; then - cp firmware/99-com.rules /etc/udev/rules.d/99-com.rules + cp firmware/99-com.rules /etc/udev/rules.d/99-com.rules fi #Raspberry Pi Zero W @@ -196,18 +202,30 @@ function install_kernel(){ printf "\t**** Checking for device-tree-compiler: ${PKG_STATUS} ****\n" if [ "" == "$PKG_STATUS" ]; then printf "\tNo device-tree-compiler. Installing it now.\n" - apt update - apt install device-tree-compiler + + ## Online installations +# apt update +# apt install device-tree-compiler + + ## Offline installation addition + ARCH=`dpkg --print-architecture` + if [ "armel" == "$ARCH" ]; then + dpkg -i ./repo/externals/device-tree-compiler_1.4.2-1_armel.deb + else + dpkg -i ./repo/externals/device-tree-compiler_1.4.2-1_armhf.deb + fi + + fi ## Reserved ## cp src dest printf "\n\t**** Device tree overlays installed ****\n" - exitonerr dpkg --force-architecture -i --ignore-depends=raspberrypi-kernel raspberrypi-bootloader_* - exitonerr dpkg --force-architecture -i raspberrypi-kernel_* - exitonerr dpkg --force-architecture -i libraspberrypi0_* - exitonerr dpkg --force-architecture -i libraspberrypi-dev_* - exitonerr dpkg --force-architecture -i libraspberrypi-doc_* - exitonerr dpkg --force-architecture -i libraspberrypi-bin_* + exitonerr dpkg --force-architecture -i --ignore-depends=raspberrypi-kernel ./repo/core/raspberrypi-bootloader_* + exitonerr dpkg --force-architecture -i ./repo/core/raspberrypi-kernel_* + exitonerr dpkg --force-architecture -i ./repo/core/libraspberrypi0_* + exitonerr dpkg --force-architecture -i ./repo/core/libraspberrypi-dev_* + exitonerr dpkg --force-architecture -i ./repo/core/libraspberrypi-doc_* + exitonerr dpkg --force-architecture -i ./repo/core/libraspberrypi-bin_* printf "\n\t**** Fixing unmet dependencies in Kali Linux ****\n" mkdir -p /etc/kbd @@ -270,7 +288,14 @@ function remove_bluetooth { function install_headers() { printf "\n\t**** Installing Re4son-Kernel headers ****\n" - exitonerr dpkg --force-architecture -i raspberrypi-kernel-headers_* + exitonerr dpkg --force-architecture -i ./repo/core/raspberrypi-kernel-headers_* + printf "\t**** Installation completed ****\n\n" + return 0 +} + +function install_nexmon() { + printf "\n\t**** Installing Re4son-Kernel Nexmon Wifi Wrapper ****\n" + dpkg -i ./repo/wifi/nexmon_* printf "\t**** Installation completed ****\n\n" return 0 } @@ -284,7 +309,7 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi -args=$(getopt -uo 'hevbru' -- $*) +args=$(getopt -uo 'hevbrun' -- $*) set -- $args @@ -316,6 +341,10 @@ do remove_bluetooth exit 0 ;; + -n) + install_nexmon + exit 0 + ;; -u) check_update exit 0 @@ -330,6 +359,7 @@ fi if ask "Install support for RasPi 3 & Zero W built-in wifi & bluetooth adapters?"; then install_firmware install_bluetooth + install_nexmon fi if ask "Reboot to apply changes?"; then reboot diff --git a/nexmon/armel/brcmfmac.ko b/nexmon/armel/brcmfmac.ko new file mode 100644 index 0000000..ffca4fe Binary files /dev/null and b/nexmon/armel/brcmfmac.ko differ diff --git a/nexmon/armel/brcmfmac43430-sdio.bin b/nexmon/armel/brcmfmac43430-sdio.bin new file mode 100644 index 0000000..914d1f3 Binary files /dev/null and b/nexmon/armel/brcmfmac43430-sdio.bin differ diff --git a/nexmon/armel/nexutil b/nexmon/armel/nexutil new file mode 100755 index 0000000..cee63e3 Binary files /dev/null and b/nexmon/armel/nexutil differ diff --git a/nexmon/armhf/brcmfmac.ko b/nexmon/armhf/brcmfmac.ko new file mode 100644 index 0000000..454e272 Binary files /dev/null and b/nexmon/armhf/brcmfmac.ko differ diff --git a/nexmon/armhf/brcmfmac43430-sdio.bin b/nexmon/armhf/brcmfmac43430-sdio.bin new file mode 100644 index 0000000..5f9f0ea Binary files /dev/null and b/nexmon/armhf/brcmfmac43430-sdio.bin differ diff --git a/nexmon/armhf/nexutil b/nexmon/armhf/nexutil new file mode 100755 index 0000000..03a592e Binary files /dev/null and b/nexmon/armhf/nexutil differ diff --git a/nexmon/armhf/stock/brcmfmac43430-sdio.bin b/nexmon/armhf/stock/brcmfmac43430-sdio.bin new file mode 100644 index 0000000..84ab5b0 Binary files /dev/null and b/nexmon/armhf/stock/brcmfmac43430-sdio.bin differ diff --git a/nexmon/nexmon.txt b/nexmon/nexmon.txt index 87ab8e1..2b25c40 100644 --- a/nexmon/nexmon.txt +++ b/nexmon/nexmon.txt @@ -1,13 +1,15 @@ To install drivers: ------------------- - +## cd into correct architecture directory armhf(RasPi3) or armel(RasPi0W) +cp /lib/firmware/brcm/brcmfmac43430-sdio.bin /root/.brcmfmac43430-sdio.orig.bin cp ./brcmfmac.ko /root/ cp ./brcmfmac43430-sdio.bin /lib/firmware/brcm/ cp ./nexutil /usr/bin/ -Tu use: +To use: --------- +rmmod brcmfmac insmod /root/brcmfmac.ko nexutil -m2 @@ -17,5 +19,6 @@ tcpdump -i wlan0 -s0 To remove: ----------- rmmod brcmfmac -cp /root/brcmfmac43430-sdio.orig.bin /lib/firmware/brcm/brcmfmac43430-sdio.bin -modprobe brcmfmac \ No newline at end of file +cp /root/.brcmfmac43430-sdio.orig.bin /lib/firmware/brcm/brcmfmac43430-sdio.bin +modprobe brcmfmac + diff --git a/nexmon/nexutil b/nexmon/nexutil deleted file mode 100755 index 65cb9bc..0000000 Binary files a/nexmon/nexutil and /dev/null differ diff --git a/repo/bluez_5.39-1+rpi1+re4son_armel.deb b/repo/bluetooth/bluez_5.39-1+rpi1+re4son_armel.deb similarity index 100% rename from repo/bluez_5.39-1+rpi1+re4son_armel.deb rename to repo/bluetooth/bluez_5.39-1+rpi1+re4son_armel.deb diff --git a/repo/bluez_5.39-1+rpi3+re4son_armhf.deb b/repo/bluetooth/bluez_5.39-1+rpi3+re4son_armhf.deb similarity index 100% rename from repo/bluez_5.39-1+rpi3+re4son_armhf.deb rename to repo/bluetooth/bluez_5.39-1+rpi3+re4son_armhf.deb diff --git a/repo/libreadline6_6.3-8+b3_armel.deb b/repo/bluetooth/libreadline6_6.3-8+b3_armel.deb similarity index 100% rename from repo/libreadline6_6.3-8+b3_armel.deb rename to repo/bluetooth/libreadline6_6.3-8+b3_armel.deb diff --git a/repo/libreadline6_6.3-8+b3_armhf.deb b/repo/bluetooth/libreadline6_6.3-8+b3_armhf.deb similarity index 100% rename from repo/libreadline6_6.3-8+b3_armhf.deb rename to repo/bluetooth/libreadline6_6.3-8+b3_armhf.deb diff --git a/repo/pi-bluetooth_0.1.4+re4son_all.deb b/repo/bluetooth/pi-bluetooth_0.1.4+re4son_all.deb similarity index 100% rename from repo/pi-bluetooth_0.1.4+re4son_all.deb rename to repo/bluetooth/pi-bluetooth_0.1.4+re4son_all.deb diff --git a/repo/core/libraspberrypi-bin_4.4.50-20170729_armhf.deb b/repo/core/libraspberrypi-bin_4.4.50-20170729_armhf.deb new file mode 100644 index 0000000..d96898a Binary files /dev/null and b/repo/core/libraspberrypi-bin_4.4.50-20170729_armhf.deb differ diff --git a/repo/core/libraspberrypi-dev_4.4.50-20170729_armhf.deb b/repo/core/libraspberrypi-dev_4.4.50-20170729_armhf.deb new file mode 100644 index 0000000..6208970 Binary files /dev/null and b/repo/core/libraspberrypi-dev_4.4.50-20170729_armhf.deb differ diff --git a/repo/core/libraspberrypi-doc_4.4.50-20170729_armhf.deb b/repo/core/libraspberrypi-doc_4.4.50-20170729_armhf.deb new file mode 100644 index 0000000..7ef4e08 Binary files /dev/null and b/repo/core/libraspberrypi-doc_4.4.50-20170729_armhf.deb differ diff --git a/repo/core/libraspberrypi0_4.4.50-20170729_armhf.deb b/repo/core/libraspberrypi0_4.4.50-20170729_armhf.deb new file mode 100644 index 0000000..752b760 Binary files /dev/null and b/repo/core/libraspberrypi0_4.4.50-20170729_armhf.deb differ diff --git a/repo/core/raspberrypi-bootloader_4.4.50-20170729_armhf.deb b/repo/core/raspberrypi-bootloader_4.4.50-20170729_armhf.deb new file mode 100644 index 0000000..9d732f0 Binary files /dev/null and b/repo/core/raspberrypi-bootloader_4.4.50-20170729_armhf.deb differ diff --git a/repo/core/raspberrypi-kernel-headers_4.4.50-20170729_armhf.deb b/repo/core/raspberrypi-kernel-headers_4.4.50-20170729_armhf.deb new file mode 100644 index 0000000..f05b05e Binary files /dev/null and b/repo/core/raspberrypi-kernel-headers_4.4.50-20170729_armhf.deb differ diff --git a/repo/core/raspberrypi-kernel_4.4.50-20170729_armhf.deb b/repo/core/raspberrypi-kernel_4.4.50-20170729_armhf.deb new file mode 100644 index 0000000..6467c0c Binary files /dev/null and b/repo/core/raspberrypi-kernel_4.4.50-20170729_armhf.deb differ diff --git a/repo/externals/bluez-firmware_1.2-3_all.deb b/repo/externals/bluez-firmware_1.2-3_all.deb new file mode 100644 index 0000000..20ed523 Binary files /dev/null and b/repo/externals/bluez-firmware_1.2-3_all.deb differ diff --git a/repo/externals/device-tree-compiler_1.4.2-1_armel.deb b/repo/externals/device-tree-compiler_1.4.2-1_armel.deb new file mode 100644 index 0000000..6d0d1d3 Binary files /dev/null and b/repo/externals/device-tree-compiler_1.4.2-1_armel.deb differ diff --git a/repo/externals/device-tree-compiler_1.4.2-1_armhf.deb b/repo/externals/device-tree-compiler_1.4.2-1_armhf.deb new file mode 100644 index 0000000..7dcec43 Binary files /dev/null and b/repo/externals/device-tree-compiler_1.4.2-1_armhf.deb differ diff --git a/repo/wifi/nexmon_1.0_all.deb b/repo/wifi/nexmon_1.0_all.deb new file mode 100644 index 0000000..7c54605 Binary files /dev/null and b/repo/wifi/nexmon_1.0_all.deb differ