wpa_supplicant
The wpa_supplicant
package is installed by default on the base system. It
includes utilities to configure wireless interfaces and handle wireless
security protocols. To use wpa_supplicant, you will need to enable the
wpa_supplicant service.
wpa_supplicant(8) is a daemon
that manages wireless interfaces based on
wpa_supplicant.conf(5)
configuration files. An extensive overview of configuration options,
including examples, can be found in
/usr/share/examples/wpa_supplicant/wpa_supplicant.conf
.
wpa_passphrase(8) helps create
pre-shared keys for use in configuration files.
wpa_cli(8) provides a CLI for
managing the wpa_supplicant
daemon.
WPA-PSK
To use WPA-PSK, generate a pre-shared key with
wpa_passphrase(8) and append
the output to the relevant wpa_supplicant.conf
file:
/etc/wpa_supplicant/wpa_supplicant-<device_name>.conf ```
## WPA-EAP
WPA-EAP is often used for institutional logins, notably eduroam. This does
not use PSK, but a password hash can be generated like this:
``` $ echo -n <passphrase> | iconv -t utf16le | openssl md4 ```
## WEP
For WEP configuration, add the following lines to your device's
`wpa-supplicant.conf`:
network={ ssid="MYSSID" key_mgmt=NONE wep_key0="YOUR AP WEP KEY" wep_tx_keyidx=0 auth_alg=SHARED }
### The wpa_supplicant service
The `wpa_supplicant` service checks the following options in
`/etc/sv/wpa_supplicant/conf`:
- `OPTS`: Options to be passed to the service. Overrides any other options.
- `CONF_FILE`: Path to file to be used for configuration. Defaults to
`/etc/wpa_supplicant/wpa_supplicant.conf`.
- `WPA_INTERFACE`: Interface to be matched. May contain a wildcard; defaults to
all interfaces.
- `DRIVER`: Driver to use. See `wpa_supplicant -h` for available drivers.
If no `conf` file is found, the service searches for the following files in
`/etc/wpa_supplicant`:
- `wpa_supplicant-<interface>.conf`: If found, these files are bound to the
named interface.
- `wpa_supplicant.conf`: If found, this file is loaded and binds to all other
interfaces found.
Once you are satisfied with your configuration,
[enable](../services/index.md#enabling-services) the `wpa_supplicant`
service.
### Using wpa_cli
When using `wpa_cli` to manage `wpa_supplicant` from the command line, be
sure to specify which network interface to use via the `-i` option, e.g.:
``` # wpa_cli -i wlp2s0 ```
Not doing so can result in various `wpa_cli` commands (for example, `scan`
and `scan_results`) not producing the expected output.