I have to write a linux desktop software which connects to a hidden wifi network. If the network is not hidden, my code can connect by calling nmcli, but if it is hidden, it can not add the connection. However, I can create a new network using the GUI of the Network Manager, so I think it is not impossible. Do you have any ideas?
How to connect to hidden wifi network using nmcli [closed]
Asked Answered
Okay, I have the solution. We know the ssid and the password.
nmcli c add type wifi con-name <connect name> ifname wlan0 ssid <ssid>
nmcli con modify <connect name> wifi-sec.key-mgmt wpa-psk
nmcli con modify <connect name> wifi-sec.psk <password>
nmcli con up <connect name>
If we dont need the connection anymore:
nmcli c delete <connect name>
best thing of doing this is that once added, it is persistent. Reboot/shutdown, it shall keep your connection up once linux is initiated! –
Aldridge
This works fine for me:
nmcli dev wifi connect "abc" password 123 hidden yes
This didn't work for me™ I received an error: "network manager failed to scan hidden SSID: Scanning not allowed while already scanning." The selected answer worked for me however. –
Score
You just need to wait a few seconds for the scan to finish. –
Lid
While doing some experimenting, I found that you can use both echnotux's and Pocokman's answers to get it to connect. i.e
nmcli c add type wifi con-name <connect name> ifname wlan0 ssid <ssid>
nmcli dev wifi connect <ssid> password <password> hidden yes
nmcli c delete <connect name>
This simplifies it quite a bit.
As of 2023, it is much easier to setup a connection with a hidden SSID using nmcli:
nmcli dev wifi connect --ask <ssid> name <ssid> hidden yes
You can also use password <password>
if you don't want to use --ask
.
© 2022 - 2024 — McMap. All rights reserved.
id NAME
oruuid UUID
where NAME and UUID can be obtained vianmcli -p c
. E.g.nmcli c delete id esp8266_ap
. This is referring to nmcli tool, version 0.9.8.8. – Sevenup