Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Anyfi.net integration #1
Anyfi.net is a software extension that makes every Wi-Fi network available from every access point. The user experience is completely seamless; if you have previously connected to a Wi-Fi network locally your device will automatically connect to the same network remotely whenever you come within range of another Anyfi.net enabled access point.
The software consists of two user space daemons; the radio front-end daemon anyfid and the tunnel termination back-end daemon myfid. They communicate with each other and a mobility control server to orchestrate the seamless user experience.
For a walkthrough of the integration please see http://anyfi.net/integration.
Anyfi.net software gives priority to traffic generated by the owner of the access point, taking both the WAN connection bandwidth and available radio spectrum into account (see http://anyfi.net/documentation#a_prioritization). But to be able to do that it of course needs access to information about how the radio is spending its time. This patch adds airtime estimates to the information reported by the mac80211/ath9k Wi-Fi driver through radiotap. Anyfi.net will work without this patch, but spectrum aware prioritization and throttling will be disabled.
To make configuration as simple as possible for the end-subscriber there is only a single checkbox controlling the 'anyfi_disabled' property on both the radio frontend and the tunnel termination backend side. This allows for configuration of 'anyfi_server' by the service provider, e.g. using TR-069 or similar, and a controlled roll-out with "opt-out". Also note that we do not reveal the "Anyfi.net" brand name to the end- subscriber; Internet service providers typically want to deploy Anyfi.net technology with custom mobility control servers under a more generic name, or even under their own brand names. See http://anyfi.net/documentation#i_rgi for more information.
The recommended integration for consumer Wi-Fi routers is very similar to that of a residential gateway, except that we explicitly refer to "Anyfi.net". The end-user can change the 'anyfi_disabled' property on both radio frontend and tunnel termination backend, with a single checkbox. The 'anyfi_server' property is left under the control of the vendor, or more advanced users/administrators with shell access. See http://anyfi.net/documentation#i_routeri for more information.
Public and corporate access points are typically configured by IT professionals and will more often than not be used in combination with custom mobility control servers, e.g. for carrier Wi-Fi applications. This configuration interface therefore includes controls for most properties and exposes the user to the full nomenclature of Anyfi.net technology. For more information see http://anyfi.net/documentation#i_api.
Anyfi.net is often used to provide remote access to an existing Wi-Fi network. But sometimes you want to distribute a virtual Wi-Fi network through Anyfi.net even though that network has no local representation; a typical example is a tunnel termination gateway that terminates many secure Wi-Fi over IP tunnels, coming in from residential gateways and access points. This command line configuration interface can be used to setup such virtual networks. For more information on how to configure WPA/WPA2 Enterprise (all EAP authentication protocols are supported including EAP-SIM/AKA) please see http://wiki.openwrt.org/doc/uci/wireless#wpa.enterprise.access.point. For more information on the recommended Anyfi.net configuration interface for network appliances and tunnel termination gateways please see http://anyfi.net/documentation#i_ttgi.