Code Monkey home page Code Monkey logo

iwinfo's Introduction

OpenWrt logo

OpenWrt Project is a Linux operating system targeting embedded devices. Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developers, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.

Sunshine!

Download

Built firmware images are available for many architectures and come with a package selection to be used as WiFi home router. To quickly find a factory image usable to migrate from a vendor stock firmware to OpenWrt, try the Firmware Selector.

If your device is supported, please follow the Info link to see install instructions or consult the support resources listed below.

An advanced user may require additional or specific package. (Toolchain, SDK, ...) For everything else than simple firmware download, try the wiki download page:

Development

To build your own firmware you need a GNU/Linux, BSD or macOS system (case sensitive filesystem required). Cygwin is unsupported because of the lack of a case sensitive file system.

Requirements

You need the following tools to compile OpenWrt, the package names vary between distributions. A complete list with distribution specific packages is found in the Build System Setup documentation.

binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev
make4.1+ perl python3.7+ rsync subversion unzip which

Quickstart

  1. Run ./scripts/feeds update -a to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default

  2. Run ./scripts/feeds install -a to install symlinks for all obtained packages into package/feeds/

  3. Run make menuconfig to select your preferred configuration for the toolchain, target system & firmware packages.

  4. Run make to build your firmware. This will download all sources, build the cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen applications for your target system.

Related Repositories

The main repository uses multiple sub-repositories to manage packages of different categories. All packages are installed via the OpenWrt package manager called opkg. If you're looking to develop the web interface or port packages to OpenWrt, please find the fitting repository below.

  • LuCI Web Interface: Modern and modular interface to control the device via a web browser.

  • OpenWrt Packages: Community repository of ported packages.

  • OpenWrt Routing: Packages specifically focused on (mesh) routing.

  • OpenWrt Video: Packages specifically focused on display servers and clients (Xorg and Wayland).

Support Information

For a list of supported devices see the OpenWrt Hardware Database

Documentation

Support Community

  • Forum: For usage, projects, discussions and hardware advise.
  • Support Chat: Channel #openwrt on oftc.net.

Developer Community

License

OpenWrt is licensed under GPL-2.0

iwinfo's People

Contributors

ansuel avatar blocktrron avatar chkdsk88 avatar codefetch avatar dangowrt avatar dhewg avatar dragonbluep avatar ffainelli avatar hauke avatar jneuhauser avatar jow- avatar kaloz avatar kostko avatar mj22226 avatar mkresin avatar nbd168 avatar neheb avatar notanormalnerd avatar osivertsson-zenterio avatar pali avatar pastcompute avatar psyborg55 avatar rmilecki avatar robimarko avatar sch-m avatar schreibubi avatar svenroederer avatar t-8ch avatar tjeukayim avatar vladdrako avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iwinfo's Issues

WPA-EAP-SHA256 + ieee80211w reported as WPA2 rather than WPA3

According to Section 3 of:
https://www.wi-fi.org/system/files/WPA3%20Specification%20v3.1.pdf

    wpa_key_mgmt=WPA-EAP WPA-EAP-SHA256
    ieee80211w=1
    => WPA3-Enterprise transition mode
    
    wpa_key_mgmt=WPA-EAP-SHA256
    ieee80211w=2
    => WPA3-Enterprise only mode

Also: openwrt/openwrt@b63df6c

However, iwinfo when looking at the hostapd conf file doesn't seem to think something is WPA3 until it gets to WPA-EAP-SHA384 (and doesn't consider the value of ieee80211w at all):

static const struct {
    const char *match;
    int version;
    int suite;
} wpa_key_mgmt_strings[] = {
    { "IEEE 802.1X/EAP", 0, IWINFO_KMGMT_8021x },
    { "EAP-SUITE-B-192", 4, IWINFO_KMGMT_8021x },
    { "EAP-SUITE-B",     4, IWINFO_KMGMT_8021x },
    { "EAP-SHA384",      4, IWINFO_KMGMT_8021x },
    { "EAP-SHA256",      0, IWINFO_KMGMT_8021x },
    { "PSK-SHA256",      0, IWINFO_KMGMT_PSK },
    { "NONE",            0, IWINFO_KMGMT_NONE },
    { "None",            0, IWINFO_KMGMT_NONE },
    { "PSK",             0, IWINFO_KMGMT_PSK },
    { "EAP",             0, IWINFO_KMGMT_8021x },
    { "SAE",             4, IWINFO_KMGMT_SAE },
    { "OWE",             4, IWINFO_KMGMT_OWE }
};

I'm also a bit surprised that iwinfo is even looking at the conf file rather than querying hostapd direclty (as it does with wpa_supplicant); not possible for some reason?

unclear: 40 MHz station on channel 1?

The output of 'iwinfo' produces on one of the local stations:

Cell 04 - Address: REDACTED
          ESSID: "REDACTED"
          Mode: Master  Frequency: 2.412 GHz  Band: 2.4 GHz  Channel: 1
          Signal: -91 dBm  Quality: 19/70
          Encryption: WPA2 PSK (CCMP)
          HT Operation:
                    Primary Channel: 1
                    Secondary Channel Offset: no secondary
                    Channel Width: 40 MHz or higher
          VHT Operation: 
                    Center Frequency 1: 1
                    Center Frequency 2: 0
                    Channel Width: 20 or 40 MHz

Note the last line: "channel width 20 or 40 MHz". This is on 2 GHz: there can (should) not be a 40 MHz station with a center channel of 1. What might maybe just be a little bit odd translates in LUCI receiving the following (in channel_analysis.js as res:

vht_operation: Object { channel_width: 40, center_freq_1: 1, center_freq_2: 0 }
center_freq_1: 1
​​center_freq_2: 0
​​channel_width: 40

This looks wrong to me. Either the width is 20 MHz with channel 1, or the width is 40 MHz, but the center channel is 3 (or there would be some other way than the center channel to know if the secondary channel is "above" or "below" (like for HT, but this is about VHT operation, which does not seem to have that notion). There must be a bug someplace, and I would be willing to hunt, but I am new and could use a hint as to where to start. Is this more likely a bug in iwinfo or in the device driver?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.