Bug 385191

Summary: wpa_supplicant does not start
Product: [Fedora] Fedora Reporter: Jerry LeVan <jerry.levan>
Component: wpa_supplicantAssignee: Dan Williams <dcbw>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 8CC: bernd.bartmann, caleb, lemenkov, spam2, wwoods
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-12-03 13:54:35 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Jerry LeVan 2007-11-15 13:21:39 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.8) Gecko/20071030 Fedora/2.0.0.8-2.fc8 Firefox/2.0.0.8

Description of problem:
wpa_supplicant appears to be started too soon in the boot process.

The assigned start priority for wpa_supplicant is "12". On my HP DV4000
Centrino system talking to a Linksys 54G router I get a can't initialize
error ( it is hard to tell since I am using the experimental intel driver
for video and the messages appear in a giant font size...)

Changing the chkconfig setting from '- 12 88' to '- 99 88' in the wpa_supplicant
yields a working wireless at login time :)

Version-Release number of selected component (if applicable):
wpa_supplicant-0.5.7-16.fc8

How reproducible:
Always


Steps to Reproduce:
1. enable wpa_supplicant with system-config-services
2. reboot
3.

Actual Results:
Get a glimpse of an error message during the boot (not recorded
in message or dmesg) and wpa_supplicant will not be running when
I login.

Expected Results:
wpa should be running and a wireless connection should be available

Additional info:
Changing the startup priority of the wpa_supplicant script from 12 to 99 seems to work ok...
Comment 1 Dan Williams 2007-11-15 15:41:51 EST
*** Bug 385391 has been marked as a duplicate of this bug. ***
Comment 2 Fedora Update System 2007-11-15 19:36:31 EST
wpa_supplicant-0.5.7-17.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update wpa_supplicant'
Comment 3 Mike Cohler 2007-11-16 04:10:07 EST
I have just tested this on my fully up to date f8 system on a Dell D610 laptop.
It does not work. wpa_supplicant still gives the dbus error during the boot and
wpa_supplicant fails to start. Sorry. More work is needed on this. 
Comment 4 Reindl Harald 2007-11-16 06:41:53 EST
No the update does not change anything
How should it???

The service-startorder is the same as before
I have disabled "network", "messagebus", "wpa_supplicant" and "named" with
"system-config-services", saved and enabled it after that

* network / wpa_supplicant starts before messagebus
* wpa_supplicant do not start in this case
* named starts directly after messagebus
* named does not work without network what is not working because startet to soon

[harry@nb rc5.d]$ ls -l S*
lrwxrwxrwx 1 root root 15  9. Sep 2006  S05kudzu -> ../init.d/kudzu
lrwxrwxrwx 1 root root 18  9. Sep 2006  S06cpuspeed -> ../init.d/cpuspeed
lrwxrwxrwx 1 root root 18 15. Nov 17:30 S08iptables -> ../init.d/iptables
lrwxrwxrwx 1 root root 16 10. Nov 16:58 S08nvidia -> ../init.d/nvidia
lrwxrwxrwx 1 root root 17 16. Nov 12:29 S10network -> ../init.d/network
lrwxrwxrwx 1 root root 24 16. Nov 12:29 S12wpa_supplicant ->
../init.d/wpa_supplicant
lrwxrwxrwx 1 root root 20  8. Nov 22:11 S13irqbalance -> ../init.d/irqbalance
lrwxrwxrwx 1 root root 15 16. Nov 12:29 S25netfs -> ../init.d/netfs
lrwxrwxrwx 1 root root 20  2. Apr 2007  S26lm_sensors -> ../init.d/lm_sensors
lrwxrwxrwx 1 root root 17 16. Nov 12:30 S26rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root 20 16. Nov 12:30 S27messagebus -> ../init.d/messagebus
lrwxrwxrwx 1 root root 15 16. Nov 12:30 S27named -> ../init.d/named
lrwxrwxrwx 1 root root 15  8. Nov 22:00 S44acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root 14 11. Sep 2006  S55cups -> ../init.d/cups
lrwxrwxrwx 1 root root 14 15. Nov 17:29 S55sshd -> ../init.d/sshd
lrwxrwxrwx 1 root root 16 15. Nov 17:30 S56xinetd -> ../init.d/xinetd
lrwxrwxrwx 1 root root 16 15. Nov 17:30 S64mysqld -> ../init.d/mysqld
lrwxrwxrwx 1 root root 15 15. Nov 17:30 S85httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 19 15. Nov 17:29 S85pure-ftpd -> ../init.d/pure-ftpd
lrwxrwxrwx 1 root root 20 15. Nov 17:33 S90ConsoleKit -> ../init.d/ConsoleKit
lrwxrwxrwx 1 root root 15  9. Sep 2006  S90crond -> ../init.d/crond
lrwxrwxrwx 1 root root 13  9. Sep 2006  S90xfs -> ../init.d/xfs
lrwxrwxrwx 1 root root 13 15. Nov 17:29 S91smb -> ../init.d/smb
lrwxrwxrwx 1 root root 17  6. Apr 2007  S92courier -> ../init.d/courier
lrwxrwxrwx 1 root root 13  9. Sep 2006  S95atd -> ../init.d/atd
lrwxrwxrwx 1 root root 22 12. Nov 17:20 S96avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx 1 root root 19  9. Sep 2006  S98haldaemon -> ../init.d/haldaemon
lrwxrwxrwx 1 root root 17  8. Nov 22:11 S99anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root 11  8. Nov 22:04 S99local -> ../rc.local
lrwxrwxrwx 1 root root 16 13. Nov 10:40 S99smartd -> ../init.d/smartd

________

My workaround is to rename it to "S28network" and "S28wpa_supplicant"
Because named and messagebus has the same number and named get his fucking "27"
randomly named will not work.

So i placed a "/sbin/service named restart" in "/etc/rc.local"

But this is a bad workaround and i do not understand why to have bugreports for
"wpa_supplicant", "initscripts" and "named" instead the 3 maintainers speaks one
with another and solve this............

No ones WLAN will work so before login without making manually workarounds
All of that worked in F7 and changes in "system-config-services" did not change
any manually fixed order

Disable vmware-service after module-build or change any other service seems to
touch this in F8 everytime.
Comment 5 Will Woods 2007-11-16 16:14:40 EST
The priority numbers in initscripts are dynamically adjusted by Requires and
Provides now - just setting wpa_supplicant to 23 is not enough.

You'll need to add block like this to /etc/init.d/wpa_supplicant:

### BEGIN INIT INFO
# Required-Start: messagebus
# Provides: wpa_supplicant
# Short-Description: wpa_supplicant
# Description: wpa_supplicant is a IEEE 802.1X/WPA component for client
#  stations. It implements key negotiation with a WPA Authenticator and
#  controls the roaming and IEEE 802.11 authentication/association of the 
#  wlan driver.
### END INIT INFO

The Required-Start line will ensure that wpa_supplicant starts after dbus.

Before:
/etc/rc5.d/S23wpa_supplicant -> ../init.d/wpa_supplicant
/etc/rc5.d/S27messagebus -> ../init.d/messagebus
After:
/etc/rc5.d/S27messagebus -> ../init.d/messagebus
/etc/rc5.d/S28wpa_supplicant -> ../init.d/wpa_supplicant

Comment 6 Reindl Harald 2007-11-16 16:33:55 EST
Yes, this works
THANK YOU
I had this idea to while looking other init-scripts
but there was fucking $ and this seems not to work always

As sample "named" what must start on my machine after network and wpa_supplicant
Original:

### BEGIN INIT INFO
# Provides: named
# Required-Start: $local_fs $network $syslog $wpa_supplicant
# Required-Stop: $local_fs $network $syslog
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: start|stop|status|restart|try-restart|reload|force-reload
DNS server
# Description: control ISC BIND implementation of DNS server
### END INIT INFO

Will place "named" directly after messagebus

_______

#!/bin/bash
#
# named           This shell script takes care of starting and stopping
#                 named (BIND DNS server).
#
# chkconfig: - 13 87
# description: named (BIND) is a Domain Name Server (DNS) \
# that is used to resolve host names to IP addresses.
# probe: true

### BEGIN INIT INFO
# Provides: named
# Required-Start: local_fs network syslog wpa_supplicant
# Required-Stop: local_fs network $syslog
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: start|stop|status|restart|try-restart|reload|force-reload
DNS server
# Description: control ISC BIND implementation of DNS server
### END INIT INFO

Will work 

So there are two bugs:

* The definition in /etc/init.d/wpa_supplicant is wrong
* $-Chars in init-scripts so the order will not work clean
Comment 7 Dan Williams 2007-11-26 15:06:35 EST
For those of you starting wpa_supplicant at boot, what are you trying to
accomplish?  Are you trying to get WPA connections or wireless roaming using
wpa_supplicant?
Comment 8 Reindl Harald 2007-11-26 17:10:46 EST
I have a simple WPA2-WLAN, before upgrade to fedora 8 there was no troubles, not
sure but i think the dependency of messagebus is new - and there is a line with
something of dbus at boot time.

After booting you can start wpa_supplicant without troubles

I added the INIT-Comments in /etc/rc.d/wpa_supplicant with messagebus and the
problem is away - sorry but the machine stands in the office, so i cant paste
here now
Comment 9 Dan Williams 2007-12-03 13:54:35 EST

*** This bug has been marked as a duplicate of 244029 ***
Comment 10 Reindl Harald 2007-12-08 11:38:16 EST
Would you please add the correct INIT-Comments to /etc/rc.d/wpa_supplicant
The build http://koji.fedoraproject.org/koji/buildinfo?buildID=27179 hat the
following block, this DOES NOT WORK, wpa_supplicant has number 26 on my machine
and messagebus follows with 27

### BEGIN INIT INFO
# Provides: wpa_supplicant
# Required-Start: $local_fs $messagebus
# Required-Stop: $local_fs $messagebus
# Default-Start:  3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop wpa_supplicant
# Description: wpa_supplicant is a tool for connecting to wireless networks
### END INIT INFO



THIS IS THE CORRECT ONE:
Remember: the $-char in the file provided seems to be the problem and it works
much better if network-service is also started before

### BEGIN INIT INFO
# Required-Start: messagebus network
# Provides: wpa_supplicant
# Short-Description: wpa_supplicant
# Description: wpa_supplicant is a IEEE 802.1X/WPA component for client
#  stations. It implements key negotiation with a WPA Authenticator and
#  controls the roaming and IEEE 802.11 authentication/association of the
#  wlan driver.
### END INIT INFO 

Comment 11 Peter Lemenkov 2007-12-23 12:13:54 EST
> it works much better if network-service is also started before

We can't start wpa_supplicant after network in case of dhcp-enabled protected
wi-fi-network. We should start wpa_supplicant before network.
Comment 12 Reindl Harald 2007-12-23 12:18:49 EST
OK, do this but do it right
The point is "Required-Start: messagebus" instead of "Required-Start: $messagebus"

Sorry but the problem with messagebus is known since release of F8 and it seems
for me that nobody is really testing what he is doing here!

Remove the "$", disable wpa_supplicant with "system-config-services", enable it
again and it will be startet after messagebus, with your definition it starts
BEFORE and fails
Comment 13 Mike Cohler 2007-12-26 11:28:16 EST
In reply to comment #7 I wish to be able to boot and have the wireless network
connected without the user (either me or another user on the same laptop) have
to do anything at all to have the network running. I do not want to have to mess
with NM, and I need to connect to an AP with wpa2 encryption - the only sensible
way to do this is to fire up wpa_supplicant during the boot process.  I guess
this applies to others also! In my case the other users are not system literate,
and do not know any technical information about networking, wireless or otherwise.