WiFimgr
About
wifimgr
is a GUI-based tool to manage WiFi network configuration.
wifimgr
supports open networks, and secured networks using WEP, WPA-PSK and
WPA-EAP with manual password or encryption key configuration.
Automatic configuration for WPS is not supported, but passwords for
WPS networks can be entered manually as for WPA-PSK networks.
wifimgr
acts merely as an editor of the wpa_supplicant.conf(5) file.
Actual network interface configuration and management is still done
by the wpa_supplicant(8) program.
Networks in the configuration file, together with new networks found
by a scan of the WiFi interface are displayed to the user. The user
may enable/disable networks as needed, enter either passwords or EAP
configuration together with a short comment, and set a connection
priority. When the "Save" button is clicked, the enabled networks are
written back out to the wpa_supplicant.conf(5) file and the network
interface is restarted.
wifimgr
was originally written for users of the XFce4 window manager but it
will work in any environment with the GTK+ libraries installed.
Screenshot
WiFi Security
WiFi networks can operate with several security methods.
Security can be off. This is known as an open, plaintext or insecure network.
All packets broadcast over the network can be intercepted by others and
their contents examined. Networks in public places such as airports and
hotels are often open networks. Such networks can still be used securely,
but it is up to each application to provide its own security and it is
up to the user to confirm, before each network use, that application
security is in use.
ssh,
https
and
PGP
email are examples of applications offering security themselves.
Early WiFi security was done using
WEP,
Wired Equivalent Privacy. WEP uses a shared password to encrypt all
data transmissions. Unfortunately, the encryption technique used
by WEP was easily cracked and software to do this is widely available.
A replacement to WEP known as
WPA,
or WiFi Protected Access, has become more widely used today. However,
due to the urgency with which it was needed, some vendors implemented it
before the standards were completely approved. This has led to there
being several variants of WPA. Early implementations are known as WPA
networks. Once the standard was approved, it was renamed to
RSN,
or Robust Secure Network sometimes referred to as WPA2.
Both WPA and RSN offer several security models. Home users and small
businesses might use a shared access key, known as a pre-shared key (PSK).
Depending on the access point's capabilities, there can be a single
PSK for all users or a separate PSK for each user. Larger enterprises
might use more complex key management schemes by means of RSN/WPA's
extensible authentication protocol (EAP). EAP typically requires
large keys and certificates stored in files and some EAP variants
require more extensive configuration.
All WiFi security was developed by the IEEE 802.11 Working Group.
WEP was the original IEEE 802.11 standard. WPA was the later IEEE
802.11i draft 3 standard. RSN is the finalized IEEE 802.11i standard.
The security being used on a network is set in the access point
configuration.
wifimgr
detects what security is available on a network and prompts the
user for suitable configuration to use it.
Installation
wifimgr
was written for the FreeBSD operating system. It should work on NetBSD
and OpenBSD too, but this is not yet tested. It is not designed for
users of Linux systems or other operating systems.
On FreeBSD,
wifimgr
can be installed from the ports system either as a binary package or
by compiling the source.
To install from binary package,
do this:
# pkg install wifimgr
To deinstall:
# pkg delete wifimgr
To install from the port, do this:
# cd /usr/ports
# portsnap extract net-mgmt/wifimgr
# cd net-mgmt/wifimgr
# make
# make install
To deinstall:
# cd /usr/ports/net-mgmt/wifimgr
# make deinstall
Note: After a new port version is submitted to FreeBSD, it will take some
days before it is committed and then some more days before the binary packages of that
version become available. If the packages are not yet available, you must compile it
using the port. Alternatively, you can download the tarball below, and compile and
install it manually.
Configuration
A network interface must be configured for WiFi use in /etc/rc.conf.
This is best done using a configuration entry such as:
FreeBSD 8.x onwards:
Simple interfaces:
wlans_ath0=wlan0
ifconfig_wlan0="WPA DHCP"
As part of an aggregated interface:
wlans_ath0=wlan0
ifconfig_wlan0="WPA"
cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto failover laggport em0 laggport wlan0 DHCP"
Or, alternatively:
wlans_ath0=wlan0
ifconfig_wlan0="WPA"
cloned_interfaces="lagg0"
create_args_lagg0="laggproto failover laggport em0 laggport wlan0"
ifconfig_lagg0="DHCP"
FreeBSD 7.2:
ifconfig_ath0="WPA DHCP"
using your appropriate interface name instead of ath0 above.
NLS Support
wifimgr supports the use of NLS to display the program's messages in
the user's native language. Anyone wishing to provide a translation is encouraged to
do so.
The translation files are in the wifimgr/po directory. Simply copy
the wifimgr.pot template and edit it with translations of all messages.
Then send it to me at the email address below.
Use of UTF-8 encoding is strongly preferred and requested.
For more information, see the
GNU gettext manual.
Source Distributions and Version History
Bug Tracker
Bugs reports and feature requests can be submitted on the
Opal Bug Tracker
or sent by email to the developer at
fbsd@opal.com.
Git server
The lastest development version of the source can be downloaded from the
Opal Git server:
git://opal.com/src/wifimgr/
Tarballs and Changelog
If building using the FreeBSD port, the port framework will fetch the source
tarball automatically.
Use these links if you are building by hand...
-
STABLE VERSIONS
-
wifimgr-1.23.tar.xz 2022 September 11
-
-
Fix install command in Makefile to strip the binaries.
-
Update port patch to strip the su binary.
-
Update port Makefile to add additional dependencies.
-
wifimgr-1.22.tar.xz 2022 September 9
-
With contributions from Samy Mahmoudi <samy.mahmoudi@gmail.com>:
-
Fix support for handling aggregated lagg(4) interfaces.
-
Add support for interfaces configured using "create_args_xyzN="
in the rc.conf file.
-
wifimgr-1.21.tar.xz 2022 June 6
-
-
Improvements to French translations in desktop file
by Pierre Emeriaud <petrus.lt@gmail.com>.
-
Allow display of SSID name up to full 32 characters.
-
Handle markup properly in gtk3 version of gui_message().
-
Do not call gtk_toggle_button_set_active() from within its signal
handler. Isn't necessary and causes recursion and gtk errors.
-
Change method of marking network as disabled:
-
Instead of using 'ssid="*name"', use 'disabled=1' flag.
-
Add 'X' checkbox to mark net/BSSID as disabled instead of
using priority of -1.
-
wifimgr-1.20.tar.xz 2022 April 16
-
-
Fix po/Makefile to allow build with WITHOUT_NLS.
-
Also remove unused MimeType setting from .desktop file.
-
wifimgr-1.19.tar.xz 2021 October 31
-
-
Allow use of single quotes in rc.conf variables.
-
wifimgr-1.18.tar.xz 2021 September 6
-
-
Change distribution format from .tar.bz2 to .tar.xz.
-
When scanning networks, use greatest bars value for any_bssid networks
(avoids associated network getting 0 bars and so not being included in
default display).
-
Limit length of ssid in display and truncate if needed using an ellipsis.
-
Add support for multiple wlan interfaces:
-
This involved significant recoding of several functions to loop through
all active interfaces, or to take interface argument.
-
Code to detect associated network also changed as there could be multiple
associated networks.
-
When added cloaked network, need to initialize associated flag.
-
Rework parser for /etc/rc.conf files to allow one pass through all files
and also due to new support of multiple wlan interfaces.
-
For gtk3, don't attach multiple widgets in one grid space. Use a box
to add multiple widgets.
-
Updated all .po files due to addition of new message.
-
Rework Makefiles to have one Makefile per directory.
-
Remove icons-wm dir and the icons in it:
-
Replace with one icon in wifimgr icons dir.
-
Update .desktop file to use icon from wifimgr icons dir.
-
Remove calls to gtk-update-icon-cache(1) as no longer needed.
-
Add support for wlanN interfaces configured using NOAUTO in /etc/rc.conf.
-
wifimgr-1.17.tar.bz2 2021 July 10
-
-
Re-add support for gtk-2.0 using "make GTK_VERSION=2".
-
Gtk3 message dialogs don't display friendly icons like gtk2 does, so do our
own icons using dialog instead of message_dialog popups.
-
wifimgr-1.16.tar.bz2 2021 June 28
-
-
Upgrade graphics code to from gtk-2.0 to gtk-3.0.
-
Make sure cloaked networks show as blank ssid.
-
Remove a debug printf left from 1.15.
-
wifimgr-1.15.tar.bz2 2021 June 27
-
-
Fix bug introduced in 1.14 that causes error if aggregate interface is not set.
-
wifimgr-1.14.tar.bz2 2020 October 14
-
With contributions from Samy Mahmoudi <samy.mahmoudi@gmail.com>:
-
Fix support for lagg interfaces which broke after the FreeBSD-12 release.
Now done by parsing the /etc/rc.conf.* files to look for aggregate
interface definitions.
-
Add support for NetBSD and OpenBSD's aggregate interfaces.
-
Fix parsing of the ifconfig interface output to handle data in any order.
-
wifimgr-1.13.tar.bz2 2020 August 23
-
-
Fix EAP variables in wifimgr.h: add "extern" to make them definitions as intended.
-
wifimgr-1.12.tar.bz2 2018 September 5
-
-
Rewrite nl_delete_list() to make it clearer.
-
Increase network scan input buffer size from 1024->2048.
-
Rework "Any BSSID" checkbox code to show more clearly all affected networks.
-
Change default window size to 1200x600.
-
For OpenBSD, replace calls to eaccess() with calls to stat() per
<intemann@gmail.com> (2015/11/06(!)).
-
For NetBSD, remove strcasestr() and add support for wpa_supplicant_flags -i,
per Chris Turkel <zizban@live.com> (2011/03/23(!)).
From contributions by Maxime Soulé <max@scoubidou.com>:
-
Fixes to calls to gtk_message_dialog_new_with_markup() to add missing arg to
keep clang(1) happy.
-
Add "Show all networks" checkbox and don't display out-of-range networks by
default.
-
Can now order networks by SSID (default), signal strength or channel.
-
Auto-save of sort order and display out-of-range networks in
~/.cache/wifimgr/config.
-
wifimgr-1.11.tar.bz2 2013 May 27
-
-
Added support for WiFi interface ifconfig in /etc/rc.conf.local.
-
Remove exit() when failing to open an /etc/rc.conf* file.
-
Updated .pot file.
-
WITHOUT_NLS support fixes
-
fixes to keep clang(1) happy
-
wifimgr-1.10.tar.bz2 2012 February 11
-
-
Added Russian translation, thanks to Serge Volkov <sv@sisadminov.net>.
-
Use uid(0) rather than nam("root") for super-user authentication.
-
wifimgr-1.9.tar.bz2 2011 November 15
-
-
Allow 64 character hexadecimal PSK keys.
-
Minor corrections to code indentation.
-
Added Bulgarian translation, thanks to Любомир Григоров <nm.knife@gmail.com>.
-
Correction to German translation.
-
Msgmerge update of all translations.
-
Added masking of password input and also a checkbox to un-mask the password.
-
Added checkbox and meta-config to not save bssid, e.g., for large campus
networks or mobile phone hotspots. And made changes to associated network code
to work both with bssid configured and without, when it has to match
on ssid.
-
Fixed logic error regarding security type for EAP networks.
-
wifimgr-1.8.tar.bz2 2011 August 15
-
-
Added Japanese translation, thanks to TAKANO Yuji (たかのゆ〜じ) <takachan@running-dog.net>.
-
Added Dutch translation, done myself.
-
Added German translation, thanks to Frank Ebert <frank.ebert@freenet.de>.
-
wifimgr-1.7.tar.bz2 2011 February 1
-
-
Added ability to manually add networks, e.g., cloaked networks.
-
Do not display networks from scan when interface is down.
-
Fix up/down status if Rescan or Save/Rescan clicked while i/f down.
-
Use bssid rather than ssid to determine where to display green associated icon.
-
After interface restart, poll for 10 seconds until it re-associates.
-
wifimgr-1.6.tar.bz2 2010 August 31
-
-
Added support for WiFi interface under cloned lagg(4) interface.
-
Minor change to signal strength (bars) formula.
-
wifimgr-1.5.tar.bz2 2009 December 29
-
-
Added support for RSN network announcements.
-
Added support for editing EAP authentication parameters.
-
Added support for when an AP's security model is changed.
-
Added WiFi Up/Down button.
-
Create empty /etc/wpa_supplicant.conf(5) if it doesn't exist to allow
wpa_supplicant(8) to run to find initial networks.
-
Fixed problem that caused hang after reading password on some systems.
-
wifimgr-1.4.tar.bz2 2009 December 18
-
-
Added support for TMPDIR environment variable.
-
Various code clean-ups.
-
wifimgr-1.3.tar.bz2 2009 December 13
-
-
Use both SSID and BSSID to identify networks:
-
this adds support for same SSID used on different networks
-
but requires separate entries for a network with multiple access points
-
Minor code clean-ups.
-
wifimgr-1.2.tar.bz2 2009 December 3
-
-
French translation, thanks to Patrick Lamaizière <patfbsd@davenulle.org>.
-
Corrections to NLS initialization code.
-
wifimgr-1.1.tar.bz2 2009 November 24
-
-
Set PATH to known value.
-
Clear gui_changed flag on saving changes.
-
wifimgr-1.0.2.tar.bz2 2009 November 23
-
-
License note addition, no changes to code:
-
Addition to LICENSE-psdGraphics.com explicitly approving our use of their
graphics in this application and for distribution from www.FreeBSD.org and
on FreeBSD CD-ROMs.
-
wifimgr-1.0.1.tar.bz2 2009 November 15
-
-
FreeBSD port framework fixes, no changes to code:
-
Create ${PREFIX}/share/applications directory, if needed.
-
Fix @comment use on NLS files for WITHOUT_NLS support.
-
wifimgr-1.0.tar.bz2 2009 November 11
-
Contacting the Author and Port Maintainer
If you have comments or suggestions for changes please get in touch with
the developer at
fbsd@opal.com.
Links