nexmon | based Firmware Patching Framework for Broadcom/Cypress WiFi
kandi X-RAY | nexmon Summary
kandi X-RAY | nexmon Summary
nexmon is a C library typically used in Arduino applications. nexmon has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has medium support. You can download it from GitHub.
Nexmon is our C-based firmware patching framework for Broadcom/Cypress WiFi chips that enables you to write your own firmware patches, for example, to enable monitor mode with radiotap headers and frame injection.
Nexmon is our C-based firmware patching framework for Broadcom/Cypress WiFi chips that enables you to write your own firmware patches, for example, to enable monitor mode with radiotap headers and frame injection.
Support
Quality
Security
License
Reuse
Support
nexmon has a medium active ecosystem.
It has 2090 star(s) with 422 fork(s). There are 151 watchers for this library.
It had no major release in the last 12 months.
There are 290 open issues and 172 have been closed. On average issues are closed in 261 days. There are 25 open pull requests and 0 closed requests.
It has a neutral sentiment in the developer community.
The latest version of nexmon is 2.2.2
Quality
nexmon has no bugs reported.
Security
nexmon has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
nexmon is licensed under the GPL-3.0 License. This license is Strong Copyleft.
Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.
Reuse
nexmon releases are available to install and integrate.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of nexmon
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of nexmon
nexmon Key Features
No Key Features are available at this moment for nexmon.
nexmon Examples and Code Snippets
No Code Snippets are available at this moment for nexmon.
Community Discussions
No Community Discussions are available at this moment for nexmon.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install nexmon
Install some dependencies: sudo apt-get install git gawk qpdf adb flex bison.
Install some dependencies: sudo apt-get install git gawk qpdf adb flex bison
Only necessary for x86_64 systems, install i386 libs: sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
Clone our repository: git clone https://github.com/seemoo-lab/nexmon.git
In the root directory of the repository: cd nexmon Setup the build environment: source setup_env.sh Compile some build tools and extract the ucode and flashpatches from the original firmware files: make
Go to the patches folder of your target device (e.g. bcm4339 for the Nexus 5): cd patches/bcm4339/6_37_34_43/nexmon/ Compile a patched firmware: make Generate a backup of your original firmware file: make backup-firmware Install the patched firmware on your smartphone: make install-firmware (make sure your smartphone is connected to your machine beforehand)
Note: We currently support Kernel Version 4.4 (deprecated), 4.9, 4.14, 4.19 and 5.4. Raspbian contains firmware version 7.45.154 for the bcm43455c0. We also support the newer firmware release 7.45.189 from Cypress. Raspberry Pi OS contains firmware version 7.45.206. Please, try which works best for you.
Make sure the following commands are executed as root: sudo su
Upgrade your Raspbian installation: apt-get update && apt-get upgrade
Install the kernel headers to build the driver and some dependencies: sudo apt install raspberrypi-kernel-headers git libgmp3-dev gawk qpdf bison flex make
Clone our repository: git clone https://github.com/seemoo-lab/nexmon.git
Go into the root directory of our repository: cd nexmon
Check if /usr/lib/arm-linux-gnueabihf/libisl.so.10 exists, if not, compile it from source: cd buildtools/isl-0.10, ./configure, make, make install, ln -s /usr/local/lib/libisl.so /usr/lib/arm-linux-gnueabihf/libisl.so.10
Check if /usr/lib/arm-linux-gnueabihf/libmpfr.so.4 exists, if not, compile it from source: 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
Then you can setup the build environment for compiling firmware patches Setup the build environment: source setup_env.sh Compile some build tools and extract the ucode and flashpatches from the original firmware files: make
Go to the patches folder for the bcm43430a1/bcm43455c0 chipset: cd patches/bcm43430a1/7_45_41_46/nexmon/ / patches/bcm43455c0/<7_45_154 or 7_45_189>/nexmon/ Compile a patched firmware: make Generate a backup of your original firmware file: make backup-firmware Install the patched firmware on your RPI3: make install-firmware
Install nexutil: from the root directory of our repository switch to the nexutil folder: cd utilities/nexutil/. Compile and install 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
To build the utilities such as nexmon or dhdutil for Android, you need to download the old NDK version 11c, extract it and export the environment variable NDK_ROOT pointing to the directory where you extracted the NDK files.
Install some dependencies: sudo apt-get install git gawk qpdf adb flex bison
Only necessary for x86_64 systems, install i386 libs: sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
Clone our repository: git clone https://github.com/seemoo-lab/nexmon.git
In the root directory of the repository: cd nexmon Setup the build environment: source setup_env.sh Compile some build tools and extract the ucode and flashpatches from the original firmware files: make
Go to the patches folder of your target device (e.g. bcm4339 for the Nexus 5): cd patches/bcm4339/6_37_34_43/nexmon/ Compile a patched firmware: make Generate a backup of your original firmware file: make backup-firmware Install the patched firmware on your smartphone: make install-firmware (make sure your smartphone is connected to your machine beforehand)
Note: We currently support Kernel Version 4.4 (deprecated), 4.9, 4.14, 4.19 and 5.4. Raspbian contains firmware version 7.45.154 for the bcm43455c0. We also support the newer firmware release 7.45.189 from Cypress. Raspberry Pi OS contains firmware version 7.45.206. Please, try which works best for you.
Make sure the following commands are executed as root: sudo su
Upgrade your Raspbian installation: apt-get update && apt-get upgrade
Install the kernel headers to build the driver and some dependencies: sudo apt install raspberrypi-kernel-headers git libgmp3-dev gawk qpdf bison flex make
Clone our repository: git clone https://github.com/seemoo-lab/nexmon.git
Go into the root directory of our repository: cd nexmon
Check if /usr/lib/arm-linux-gnueabihf/libisl.so.10 exists, if not, compile it from source: cd buildtools/isl-0.10, ./configure, make, make install, ln -s /usr/local/lib/libisl.so /usr/lib/arm-linux-gnueabihf/libisl.so.10
Check if /usr/lib/arm-linux-gnueabihf/libmpfr.so.4 exists, if not, compile it from source: 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
Then you can setup the build environment for compiling firmware patches Setup the build environment: source setup_env.sh Compile some build tools and extract the ucode and flashpatches from the original firmware files: make
Go to the patches folder for the bcm43430a1/bcm43455c0 chipset: cd patches/bcm43430a1/7_45_41_46/nexmon/ / patches/bcm43455c0/<7_45_154 or 7_45_189>/nexmon/ Compile a patched firmware: make Generate a backup of your original firmware file: make backup-firmware Install the patched firmware on your RPI3: make install-firmware
Install nexutil: from the root directory of our repository switch to the nexutil folder: cd utilities/nexutil/. Compile and install 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
To build the utilities such as nexmon or dhdutil for Android, you need to download the old NDK version 11c, extract it and export the environment variable NDK_ROOT pointing to the directory where you extracted the NDK files.
Support
The following devices are currently supported by our nexmon firmware patch. 1 bcm43430a1 was wrongly labeled bcm43438 in the past. 2 use LD_PRELOAD=libnexmon.so instead of LD_PRELOAD=libfakeioctl.so to inject frames through ioctls. 3 flash patches need to be 8 bytes long and aligned on an 8 byte boundary. 4 802.11ad Wi-Fi chip from first 60 GHz Wi-Fi router Talon AD7200. Patch your firmware using nexmon-arc and run it with our custom LEDE image lede-ad7200. 5 Disabled the execution protection (called Execute Never) on region 1, because it interferes with the nexmon code (Permission fault on Section). 6 To use nexutil, you need to deactivate SELinux or set it to permissive.
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page