[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#401558: ipw3945d: Binary userspace regulatory daemon starting twice on bootup



On Mon, Dec 04, 2006 at 03:39:51PM +0100, Dieter Roels wrote:
> Package: ipw3945d
> Version: 1.7.22-2
> 
> On bootup the daemon is started by modprobe when the ipw3945 module is 
> loaded.  A few seconds later the daemon is started again from 
> /etc/init.d/ipw3945d.  The strange thing is the daemon is in fact 
> started twice.  As there are 2 daemons fighting for the same card, the 
> network is not functioning.

Ok, I have to admit that I don't understand how you can end up with 
two daemons running. The first invocation via modprobe is triggered by 
udev loading the module. That happens pretty early during boot, and my 
testing indicated that at this point the root filesystem is still 
mounted read-only, and daemon will refuse to start, since it cannot 
write its pid file. So in the script I check whether /var/run/ipw3945d
is writable using can_write_pid() function, and if not, then script 
just exits, deferring the start to the later instance.

The thing you describe may happen if your /var/run/ipw3945d directory 
is writeable already when udev starts the daemon. Then it is started 
early, but later /etc/rcS.d/S36mountall-bootclean.sh is run, which
cleans out the /var/run directory. So the pid file gets lost, and 
daemon is fired up again when S39ipw3945d script is run. So, what is 
your setup? Why would /var be writeable early in the boot process?
It must be some local customization, because by now quite a few people 
have been using it, and nobody complained of anything like that :-).

Best regards,
-- 
Jurij Smakov                                           jurij@wooyd.org
Key: http://www.wooyd.org/pgpkey/                      KeyID: C99E03CC



Reply to: