WPA Supplicant

Revision as of 18:56, June 6, 2015 by Oleg (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

net-wireless/wpa_supplicant


Source Repository:Repository:Gentoo Portage Tree

http://hostap.epitest.fi/wpa_supplicant/

Summary: wpa_supplicant is a cross-platform supplicant with support for open, WEP, WPA and WPA2. It handles scanning, connection and automatic reconnect to access points. wpa_supplicant has wpa_cli and wpa_gui frontends and wpa_supplicant daemon.

Use Flags

ap
Add support for access point mode
eap-sim
Add support for EAP-SIM authentication algorithm
fasteap
Add support for FAST-EAP authentication algorithm
hs2-0
Add support for 802.11u and Passpoint for HotSpot 2.0
p2p
Add support for Wi-Fi Direct mode
ps3
Add support for ps3 hypervisor driven gelic wifi
tdls
Add support for Tunneled Direct Link Setup (802.11z)
uncommon-eap-types
Add support for Wi-Fi Protected Setup
wps
Add support for Wi-Fi Protected Setup
wimax
Add support for Wimax EAP-PEER authentication algorithm
smartcard
Add support for smartcards

News

Drobbins

IP Space Migration Continues

All Funtoo user containers in the 8.28 IP space will be moving into our new IP space (172.97) over the next few days. If you have DNS set up -- be sure to watch your container and update to the new IP! container.host.funtoo.org DNS will be updated after the move.
2015-08-27 by Drobbins
Drobbins

Funtoo Hosting IP Move

Funtoo user containers with IPs in the 72.18.x.x range will be gradually migrating to new IP addresses this week. If you have DNS entries for your containers, please be aware that your DNS will need to be updated.
2015-08-11 by Drobbins
Drobbins

New ARM Stages

New ARM Stages, built with a new toolchain, are now hitting mirrors. Existing ARM users should re-install using these stages (dated Aug 3, 2015 or later,) rather than upgrade using emerge.
2015-08-06 by Drobbins
More...

WPA Supplicant

Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.


Installation

# echo 'net-wireless/wpa_supplicant wps' >> /etc/portage/package.use/wpa_supplicant
#for a gui widget run the second command.
# echo 'net-wireless/wpa_supplicant qt' >> /etc/portage/package.use/wpa_supplicant


# emerge net-wireless/wpa_supplicant


Configuration

You can configure wpa_supplicant daemon by editing /etc/wpa_supplicant/wpa_supplicant.conf.

/etc/wpa_supplicant/wpa_supplicant.conf - wpa_supplicant daemon config
# provide control interface for wpa_cli and wpa_gui frontends
ctrl_interface=/run/wpa_supplicant

# allow wpa_cli and wpa_gui to update config
update_config=1

network={
	ssid="SSID"
	psk="passphrace"
}

network={
	ssid="SSID2"
	key_mgmt=NONE
}
/etc/wpa_supplicant/wpa_supplicant.conf - MOAR wpa_supplicant daemon config
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
#ap_scan=0
#update_config=1
 
network={
        ssid="YourSSID"
        psk="your-secret-key"
        scan_ssid=1
        proto=RSN
        key_mgmt=WPA-PSK
        group=CCMP TKIP
        pairwise=CCMP TKIP
        priority=5
}

Another way would be to run

# wpa_passphrase ssidname | tee /etc/wpa_supplicant.conf
secretpassword
#reading passphrase from stdin
network={
     ssid="ssidname"
     #psk="secretpassword"
     psk="552324234"
}

Like this the configuration file will be created automatically, so you cant make any typing mistakes like forgetting a tick. Use your SSID name instead of ssidname and after running the command it will wait for you to enter the password, then will save the output of wpa_passphrase into /etc/wpa_supplicant/wpa_supplicant.conf.

Daemon

Start daemon with openrc.

# /etc/init.d/wpa_supplicant start

You can also add it to default runlevel.

# rc-update add wpa_supplicant default

The daemon can work independently or you can use wpa_cli and wpa_gui frontends. You can also alter configs with frontends.

Wpa_cli CLI Frontend

You can start cli frontend by running wpa_cli.

# wpa_cli

Scan Access Points

> scan
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
> scan_results
bssid / frequency / signal level / flags / ssid
50:32:75:ee:b6:fb       2462    -41     [WPA2-PSK-CCMP][ESS]    AndroidAP
00:3a:98:99:12:f3       2412    -71     [WPA2-EAP-CCMP][ESS]    wEKSOTE
00:3a:98:99:12:f0       2412    -71     [WPA2-EAP-CCMP][ESS]    wULAPPA
00:23:33:a2:7d:14       2462    -85     [WPA2-EAP-CCMP][ESS]    SaitaBYOD
00:3a:98:99:12:f1       2412    -70     [ESS]   saitaOpen

Connect to Access Point

> add_network
0
> set_network 0 ssid "SSID"
> set_network 0 psk "passphrase"
> enable_network 0
<2>CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed (reauth) [id=0 id_str=]

Save config

> save_config
OK

Wpa_gui GUI Frontend

wpa_gui is simple gui frontend. You can start it by running wpa_gui.

# wpa_gui

Autoconfigure IP with dhcpcd

You can use Package:dhcpcd to automatically configure an ip address. Start dhcpcd daemon by

# /etc/init.d/dhcpcd start

To make it work automatically with system start, add dhcpcd to default runlevel:

# rc-update add dhcpcd default