NetworkManager Wi-Fi Hotspot won't accept Clients
Problem Statement
The Wi-Fi settings screen has a drop-down at the top right-hand side of the window that allows a user to set up a Wi-Fi hotspot:
When selecting this option, it does create a hotspot and displays on the screen which settings to use. Other clients see the hotspot, however so far I have been unable to get a client to connect and get an IP.
A Few Issues to Fix First
I have identified and solved two problems so far that allowed me to get further into the process, so before attempting to reproduce this issue, you will need to make two changes that are not present yet by default (but will need to be if we want this to work):
- Install the dnsmasq package (required for this feature and should probably be installed by default in the OS)
- Convert nftables to iptables-legacy (the network manager scripts that enable the hotspot create a number of iptables rules for routing, and a number of them have the
--destination-port
option that does not exist in the nftables wrapper for iptables):
# update-alternatives --set iptables /usr/sbin/iptables-legacy
# update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
After performing these two steps, I was able to get further in the process, in the sense that I no longer saw error messages in sudo journalctl
when attempting to set up or connect to the hotspot, but I still cannot get a client to connect successfully.
Steps to Reproduce
- Open Settings->WiFi->Dropdown->Turn On Wi-Fi Hotspot (or
nmcli device wifi hotspot
from the command line) - Note the access point ID and password
- Attempt to connect a client to this access point
- Note that the client attempts to connect but is unable to get an IP