What is OpenWISP?
OpenWISP is a software platform that can be used to implement a complete Wi-Fi service.
The OpenWISP software suite includes five main applications, derived from tools used to offer public wifi service in Italy and other European countries.
OpenWISP2 is a set of software modules
that aims to replace some of the previous generation projects of OpenWISP, which we now refer to as OpenWISP1.
The OpenWISP1 modules that are being replaced are:
- OpenWISP Manager
- OpenWISP Geographic Monitoring
- OpenWISP Firmware
The goal of this new development is to overcome the high limitations of these softwares, that were
designed and developed between 2008 and 2011 to solve specific problems, but are hardly reusable in
different contexts, more details about the reasons that brought us to this point can be found in
following blog post: netjsonconfig: convert NetJSON to OpenWRT UCI.
How do the new modules map to the older ones? In the following passages we try to explain this point.
OpenWISP2 Controller is a
configuration manager and controller for
OpenWRT and LEDE devices.
It is replacing OpenWISP Manager and in a second phase new monitoring features will be added as additional and optional modules that will gradually replace OpenWISP Geographic Monitoring too.
The controller is composed of several modules:
- netjsonconfig: configuration generator based on the NetJSON specification, currently ships backends for OpenWRT/LEDE and OpenWISP Firmware
- django-netjsonconfig: django reusable web app that provides a web interface to manage OpenWRT and OpenWISP configurations using netjsonconfig behind the scenes
- django-x509: django app that implements PKI management, used to generate VPN certificates
- django-owm-legacy: provides backward compatibility with OpenWISP1 Firmware
The new firmware composed of the following modules
- openwisp-config: OpenWRT agent that takes care of downloading and updating the configuration from the new controller
- luci-openwisp: an optional simplified/limited web interface for operators
The easy way to compile an OpenWRT image with openwisp-config is explained in the following section of the openwisp-config README:
Compiling a custom OpenWRT/LEDE image.
If you need to compile several custom firmware images with different settings, we suggest you to use ansible-openwisp2-imagegenerator in order to keep track of the different settings you use.
The new monitoring features that are going to replace OpenWISP Geographic Monitoring have not been integrated with the new controller yet, but some work has already been done in the following projects:
- django-netjsongraph, Network Topology Visualizer: monitors the network topology (for more information read Network Topology Visualizer: django-netjsongraph)
Stable Projects (OpenWISP 1)
OpenWUMS (OpenWISP User System Management)
The OpenWUMS allows a WISP to manage its user base. It provides self-provisioning of users credentials and self-management of account data. With the OpenWUMS it is possible to create an account (and verify its underlying identity) just through a telephone call. Last but not least users can consult their sessions history with fancy graphs and in a tabular form.
OpenWM (OpenWISP Manager) and OpenWF (OpenWISP Firmware)
The OpenWISP Manager makes centralized management of a large number of access points easier. With this tool it is possible to manage devices with a customized version of the OpenWRT firmware (i.e.the OpenWISP Firmware) that is also released with an open-source license. For this reason OpenWM and OpenWF can be used with any access point containing an Atheros Wi-Fi card supported by OpenWRT (a list of supported devices is available on the OpenWRT official website).
The OpenWISP Firmware is a bunch of shell (ash) scripts that sit on top of openWRT. Currently it supports any device supported by openWRT with an Atheros WiFi Radio interface (i.e. mac80211 or Madwifi-ng drivers). Access points equipped with the OWF are extremely easy to install because our firmware provides a very easy-to-use web based UI. OWF has native support for multiple connectivity backhaul with automatic failover: OLSR mesh over a WPA WiFi ad-hoc network (i.e. IBSS WPA-None), UMTS/HSDPA connectivity for a limited number of UMTS USB modem
OpenWGM (OpenWISP Geographic Monitoring)
The OpenWISP Geographic Monitoring keeps track of the access points provisioned by a Wireless Internet Service Provider. OpenWISP Geographic Monitoring continuously looks for a given number of access points in order to draw them on a Google Maps map and provide the up/down/unknown count. In case the access points are actually reachable, OWGM will draw an average availability graph.
OpenWCPM (OpenWISP Captive Portal Manager)
OpenWISP Captive Portal Manager is a full featured captive portal based on Linux's netfilter.
OpenWMW (OpenWISP MiddleWare)
OpenWISP MiddleWare is the glue between OpenWISP applications and the component that permits 3rd party applications integration.