Installation Guide JamLab ng
We are going to use kernel version 5.4 and to do that, we will have to downgrade the built-in kernel version that comes with a freshly installed Raspberry Pi setup.
sudo apt-get install rpi-update
sudo rpi-update 0642816ed05d31fb37fc8fbbba9e1774b475113f
reboot
After that, install corresponding kernel headers.
wget http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel-headers_1.20201126-1_armhf.deb
sudo dpkg -i raspberrypi-kernel-headers_1.20201126-1_armhf.deb
reboot
The official nexmon repository might not support 5.4 kernel version. However, a fork at rcarolino has the installation for kernel 5.4 version.
Clone official nexmon repository as the first step. Then set rcatolino fork as a remote. Now merge rcatolino master branch into official nexmon master branch
sudo apt-get update && sudo apt-get upgrade
sudo apt install raspberrypi-kernel-headers git libgmp3-dev gawk qpdf bison flex make autoconf libtool
git clone https://github.com/seemoo-lab/nexmon.git nexmon
cd nexmon
git remote add rcatolino https://github.com/rcatolino/nexmon.git
git fetch rcatolino
git merge rcatolino/master
Now you can go ahead and follow this guide to install nexmon.
rfkill unblock all
sudo su
cd nexmon
cd buildtools/isl-0.10
./configure
make
make install
ln -s /usr/local/lib/libisl.so /usr/lib/arm-linux-gnueabihf/libisl.so.10
cd ../buildtools/mpfr-3.1.4
autoreconf -f -i
./configure
make
make install
ln -s /usr/local/lib/libmpfr.so /usr/lib/arm-linux-gnueabihf/libmpfr.so.4
cd ../..
source setup_env.sh
make
cd patches/bcm43430a1/7_45_41_46/nexmon/
make
make backup-firmware
make install-firmware
cd ../../../../utilities/nexutil/
make && make install
remove wpa_supplicant for better control over the WiFi interface: apt-get remove wpasupplicant
.
Note: To connect to regular access points you have to execute nexutil -m0
first.
Clone the JamLab repository into patch directory and install firmware.
cd ../../patches/bcm43430a1/7_45_41_46/
git clone https://github.com/TuGraz-ITI/JamLab-NG.git
cd JamLab-NG
make
make install-firmware
Now it probably have generated few files inside this directory. Copy them to system folders.
cp brccmfmac_kernel54/brcmfmac.ko /lib/modules/5.4.79-v7+/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac
cp brcmfmac43430-sdio.bin /lib/firmware/brcm/
Now JamLab-NG should work and test it out.
cd confiture
./jammer jamming1.txt