nexmon | based Firmware Patching Framework for Broadcom/Cypress WiFi

 by   seemoo-lab C Version: 2.2.2 License: GPL-3.0

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.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              nexmon has a medium active ecosystem.
              It has 2090 star(s) with 422 fork(s). There are 151 watchers for this library.
              OutlinedDot
              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

            kandi-Quality Quality

              nexmon has no bugs reported.

            kandi-Security Security

              nexmon has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License 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.

            kandi-Reuse 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
            Get all kandi verified functions for this library.

            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.

            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:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/seemoo-lab/nexmon.git

          • CLI

            gh repo clone seemoo-lab/nexmon

          • sshUrl

            git@github.com:seemoo-lab/nexmon.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular C Libraries

            linux

            by torvalds

            scrcpy

            by Genymobile

            netdata

            by netdata

            redis

            by redis

            git

            by git

            Try Top Libraries by seemoo-lab

            opendrop

            by seemoo-labPython

            openhaystack

            by seemoo-labSwift

            AirGuard

            by seemoo-labKotlin

            owl

            by seemoo-labC

            openwifipass

            by seemoo-labPython