Bug 408181
Summary: | wpa_supplicant service script is completely FUBARed | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | sarcastic.mannequin |
Component: | wpa_supplicant | Assignee: | Dan Williams <dcbw> |
Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | low | Docs Contact: | |
Priority: | low | ||
Version: | 8 | Keywords: | Reopened |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2007-12-03 22:35:24 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
sarcastic.mannequin
2007-12-03 01:19:28 UTC
Please be more descriptive. Speaking closely to topic of your question - looks like wpa_supplicant not tested by its Fedora maintainers in any configuration w/o NetworkManager. In what way is it not working? The known issues are that options to enable the D-Bus interface are used, but that the dynamic initscript dependency calculation introduced with Fedora 8 broke the manual dependency that made wpa_supplicant start after the messagebus service, leading to a failure to start at boot. As a workaround for hte moment, please remove the "-u" option from /etc/init.d/wpa_supplicant. The wpa_supplicant initscript picks up $INTERFACES and $DRIVERS configuration items from /etc/sysconfig/wpa_supplicant but the initscript uses the configuration items incorrectly. The result is that wpa_supplicant cannot find the interface and it does not know which driver to use. This happens every time because the configuration items are passed incorrectly to the wpa_supplicant program. Would fail any testing. It doesn't use them incorrectly, the problem is that wpa_supplicant is somewhat special in the way that it orders and processes arguments. So either the INTERFACES & DRIVERS needs to be INTERFACES1, DRIVERS1, INTERFACES2, DRIVERS2, INTERFACES3, DRIVERS3, etc, and there needs to be CONFFILE1, CONFFILE2, CONFFILE3, OR the onus is on the person who's configuring the supplicant _manually_ (at which point you have enough knowledge to figure this out) to make the arguments correct. Piling on more shell logic in the initscript to parse space-separated arguments in each of DRIVERS INTERFACES CONFFILE is just way too ugly and totally not an option. Have you tested this? wpa_supplicant requires a '-i' before the interface name and a '-D' before the driver name but the initscript does not add these bits when it uses $INTERFACES and $DRIVERS from /etc/sysconfig/wpa_supplicant. This is correct: wpa_supplicant -D wext -i wlan0 ... This is wrong: wpa_supplicant wext wlan0 ... <=== the way it is now I've changed my initscript to add these missing bits and it now works. Sadly, my linux-fu is too weak to write production scripts so I'll leave that to someone else. I do agree that it would be overkill to modify the initscript to handle more than a single wlan. That would seem to be a very rare case. Perhaps just a comment in the initscript pointing out that it is for a single wlan would suffice. In that case, to be completely correct, the variables should drop the plurals and become $INTERFACE and $DRIVER (in both the initscript and the config file). That assumes the variable names won't conflict with any other network scripts. A better choice might be $WLAN_INTERFACE and $WLAN_DRIVER. Picky, picky, eh! Please reread my comments. You, as the person modifying /etc/sysconfig/wpa_supplicant, need to put the -i and -D in yourself. SO, in that file, you likely need: INTERFACES="-ieth0" DRIVERS="-Dwext" I have added comments in that file in the next build to let users who need to modify the arguments know what to put there. |