10

I can connect to my WiFi out of the shell by doing:

nano wireless-wpa.conf

typing:

ctrl_interface=/var/run/wpa_supplicant

network={
ssid="my_router_id" 
scan_ssid=1
key_mgmt=WPA-PSK
psk="1234567890"
}

and doing:

ifconfig eth1 down
iwconfig eth1 mode Managed
ifconfig eth1 up
killall wpa_supplicant
wpa_supplicant -B -Dwext -i eth1 -c ./wireless-wpa.conf -dd
dhclient eth1

Pretty complicated.. Is there a possibility to connect to a WiFI via shell without the need of a wireless-wpa.conf?

2
  • Would having a script that wrote the .conf on the fly and established the network connection suffice?
    – Paul
    Sep 29, 2011 at 5:58
  • Actually I was looking for a complete different solution, because I could write a bash script myself. Sep 29, 2011 at 8:47

2 Answers 2

15

You can control a running wpa_supplicant using it's control interface, which you already specify in your .conf file. While this still needs a .conf file, you don't have to put any wireless networks in it, and don't have to change it. You can then configure it with wpa_cli.

wpa_cli may need to be told which wpa_supplicant instance and interface to configure:

wpa_cli -p /var/run/wpa_supplicant -i wlan0 command ...

For clarity, I'll use just wpa_cli here. Basically, you need to create a network, set its variables, and enable it:

# wpa_cli add_network
4                                          <--- note the network ID!
# wpa_cli set_network 4 ssid '"Your SSID"'
OK
# wpa_cli set_network 4 scan_ssid 1
OK
# wpa_cli set_network 4 key_mgmt WPA-PSK
OK
# wpa_cli set_network 4 psk '"1234567890"' <--- note the single quotes around
OK
# wpa_cli enable_network 4
OK
3
  • you might want to start with wpa_cli scan followed by wpa_cli scan_results to gather what SSID's are available
    – sibaz
    Dec 15, 2015 at 12:56
  • 1
    The single quotes around the strings helped me, but what do you do when there is a single quote in the SSID? It doesn't seem to work.
    – JDavis
    May 24, 2018 at 19:11
  • The single quotes trick helped me. How can I used a variable like psk=$3 instead?
    – daparic
    Nov 30, 2018 at 23:08
0

You want a cli command that manages your wpa_suplicant-config? Have you tried ifup, ifdown and ifcfg? They handle connection scripts and work for wifi too but may need some tinkering with.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .