[arch-dev-public] [networking] autowifi

Thomas Bächler thomas at archlinux.org
Fri Jun 1 06:12:24 EDT 2007

With my new laptop and working wireless, I am now able to announce the
"autowifi" scripts I wrote a few weeks ago.

- wpa_supplicant
- wifi driver that is supported by wpa_supplicant
- dhclient

- Automatically select the best network (done by wpa_supplicant) and
configure it according to configuration files (done by autowifi)
- wifi configuration via wpa_supplicant.conf
- dhcp,static or "custom" network configuration via /etc/autowifi/networks/
- default configuration for unknown networks (if a network is not
configured, the default behaviour is using dhcp)
- same configuration for networks whose essid matches a regex
- once configured, it works completely without user interaction, but it
_can_ be controlled by wpa_gui (or any other wpa_supplicant client), so
that you can access networks without changing wpa_supplicant.conf.

I am still unsure whether and how this can be integrated into James'
netcfg, that's a question that I'd rather let him answer.

That said, autowifi is VERY simple. It doesn't reinvent the wheel by
using wpa_supplicant for selecting networks - parsing iwlist outputs
doesn't work very well, does it? As all wifi drivers will be moved to
mac80211 in the near future, wpa_supplicant-support will not be a
restriction anymore.

I tested it on iwl3945 and rt2x00-git. The latter has problems scanning
and shows very few networks, therefore didn't work very well. I couldn't
test it with iwl3945 in an environment with many wireless networks yet,
but I trust it works better.

- Install the package from
http://www.archlinux.org/~thomas/autowifi-svn/ or from svn at
- Create /etc/wpa_supplicant.conf and configure all your networks (you
can configure anything here, open, WEP, WPA-PSK, WPA-EAP and so on).
- Read /etc/autowifi/regex and map ESSIDs to profile names if necessary.
- Read /etc/autowifi/networks/example and configure
/etc/autowifi/networks/default and /etc/autowifi/networks/profilename if
necessary. If you only use dhcp on all networks, no configuration is
necessary here.
- Adjust the interface and config file name in /etc/conf.d/autowifi
- /etc/rc.d/autowifi start (can of course be done via rc.conf)

Possible bugs: In my first test, dhcp wouldn't work when I changed
networks, maybe I need to delete the dhclient lease file.

Any feedback is welcome

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <http://archlinux.org/pipermail/arch-dev-public/attachments/20070601/3af28759/attachment.pgp>

More information about the arch-dev-public mailing list