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: