-
Notifications
You must be signed in to change notification settings - Fork 129
manual page should explain what is meant by Wireless SSID Profiles and how they are handled #498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
from dhcpd.conf.5
It's documented in the same way as interface and arp profile options. Is this not good enough? All the wpa_supplicant hook does is start/stop wpa_supplicant - nothing more, nothing less. |
It doesn't explain how dhcpcd interacts with wpasupplicant. The config option is for an SSID-specific block of options, but the above Arch Linux documentation suggests that dhcpcd really is matching with a PHY-specific wpasupplicant configuration instead or, if not found, falls back on the default wpasupplicant configuration. |
There is no relationship between the ssid dhcpcd option and the wpa supplicant hook script. Since I added the -M option to upstream wpa supplicant, my personal need and infact any need for the hook script is now gone. I was surprised when some people objected to me removing the hook script, so it just lives as an example. |
A new upstream version that supports the -M option seemingly isn't widely distributed: due to regressions in 2.11, some distributions still ship with 2.10. Anyhow, whatever seems self-evident to you isn't to someone trying to understand where to put the SSID and PSK password they intend on passing via a specifc interface or, if that's expected to be handled by a separate config file, what is the expected filename convention. |
I’m pretty sure there has been a release in the past 10 years. |
So the ssid option in dhcpcd is an instruction of what dhcpcd should do when it connects to that ssid. There is no support for setting any wireless options in dhcpcd. dhcpcd-ui project communicates with wpa supplicant directly and will configure its config file for ssid and psk. But dhcpcd itself plays no part in that. |
Thanks. Here's what Debian has:
No -M option in sight. |
So that sounds like a Debian issue? |
To be clear, the wpa_supplicant -M option with the parameter of "*" to match all interfaces is the equivalent of the wpa_supplicant hook script here. |
Possibly. A quick googling shows that other distributions ship with an even more spartan list of enabled command line options. Either way, expecting people to know that dhcpcd expects wpasupplicant to support -M, or otherwise requires the optional script, remains a problem. |
No it doesn’t. dhcpcd doesn’t care about wpa supplicant or any other userland mechanism of link management. Debian for example encourages ifupdown which favours explicit interface enablement and could start/stop wpa supplicant here without the need for the -M switch. |
Is there anything to do here or can we close this bug? |
I still think that the manual page should say that dhcpcd will request a similarily-named wpa_supplicant configuration using wpa_supplicant's -M flag. Comments in the exit script should state that the script is deprecated since wpa_supplicant has supported the -M flag used by dhcpcd's ssid profiles since version XX. Conversely, the script should no longer ship by default. |
Eh? dhcpcd does not talk to wpa_supplicant, nor hint at what configuration it should use, nor get any configuration from it. wpa_supplicant's -M flag is so that it can work 100% independently from dhcpcd's hook scripts. The -M flag tells wpa_supplicant to start on the interfaces which match a pattern. Nothing more. No configuration is expressed or implied. If any documentation needs to be done for this, it should be done in a Debian man page or a wiki - How to configure wpa_supplicant to start automatically. |
Or it put it in more simple terms, it's like asking the drivers manual for your car to state how the road ahead should be laid. |
Given how your above explanations make the purpose and mechanics of ssid profiles even more confusing than before for this downstream maintainer, you might wanna ponder how drastically more opaque the matter is for mere users asking me about this. |
dhcpcd.conf.5
dhcpcd.conf
IF the interface name is iwm0, then give it a static ip address of 10.1.2.3/24 Which ssid we connect to is not the decision of dhcpcd, that's up to something else - just in the same way dhcpcd does not set or control the interface name. Does this help? |
Yes. The above dhcpcd.conf example should be added to the manual page, along with the explanation below it, to emphasize that it merely defines the network configuration performed on the interface (or all/any, if none specified?), but authentication to the SSID remains the responsibility of wpa_supplicant. One point remains unclear: Does dhcpcd parse the content of /etc/wpa_supplicant/ for files that match that SSID or interface name? If yes, according to which filename syntax? This should also be explained in the manual page. |
Could be wpa_supplicant, iwd, OpenBSD kernel wpa, NetBSD iwconfig, FreeBSD ifconfig. There are a lot of tools in this area that do the same job.
No. dhcpcd talks only to the kernel. On Linux dhcpcd listens to udev as well for interface readyness so udev can rename interfaces without dhcpcd getting in the way. On Linux we use the convoluted netlink command NL80211_CMD_GET_SCAN to work out which SSID the interface is connected to. |
Thanks That's somewhat more clear. I made the following change in Debian:
I think that the manual page could state something similar to clarify how dhcpcd uses the SSID profile. |
As someone pointed out in an unrelated bug report downstream at Debian, the manual page doesn't say what Wireless SSID Profiles are or how dhcpcd manages them. The answer is documented at https://wiki.archlinux.org/title/Dhcpcd#10-wpa_supplicant
The text was updated successfully, but these errors were encountered: