Skip to content

Installation Guide JamLab ng

Padmal edited this page Jun 21, 2021 · 4 revisions

Setting up Raspberry Pi kernel

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

Downloading nexmon Repository

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 

Installation

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

Optional

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.

Install JamLab-NG

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/

That's it

Now JamLab-NG should work and test it out.

cd confiture
./jammer jamming1.txt