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

Bug#401558: marked as done (ipw3945d: Binary userspace regulatory daemon starting twice on bootup)



Your message dated Fri, 15 Dec 2006 05:32:03 +0000
with message-id <E1Gv5fv-0000q3-5v@ries.debian.org>
and subject line Bug#401558: fixed in ipw3945d 1.7.22-3
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
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.


dieter@flappie:~$ grep ipw3945 /var/log/boot
Mon Dec  4 12:26:12 2006: Loading kernel module ipw3945.
Mon Dec  4 12:26:12 2006: Starting ipw3945 regulatory daemon: ipw3945d.
Mon Dec  4 12:26:15 2006: Starting ipw3945 regulatory daemon: ipw3945d.

dieter@flappie:~$ ps -ef | grep ipw3945d
108 3667 1 0 12:26 ? 00:00:00 /sbin/ipw3945d --pid-file=/var/run/ipw3945d/ipw3945d.pid --quiet --log-file=/var/log/ipw3945d/ipw3945d.log 108 4086 1 0 12:26 ? 00:00:00 /sbin/ipw3945d --pid-file=/var/run/ipw3945d/ipw3945d.pid --quiet --log-file=/var/log/ipw3945d/ipw3945d.log

dieter@flappie:~$ head /var/log/ipw3945d/ipw3945d.log
2006-12-04 13:18:47: WARNING: Unhandled command response: #11
2006-12-04 13:19:47: ERROR: Setting UNINIT state failed.
2006-12-04 13:19:48: WARNING: Unhandled command response: #11
2006-12-04 13:19:54: WARNING: Filter Calibration failed at step 0.
2006-12-04 13:19:54: ERROR: Calibration sequence failed. Going back to UNINIT.
...


I tried adding

if test -e "${DAEMON_PID_FILE}"; then...

to the start_daemon() section of /etc/init.d/ipw3945d, but this did not work as the pid file was not yet written when the daemon was started the second time. The start-stop-daemon process is probably still running at that time, but not yet ipw3945d.

It works with a pgrep though (also matches the start-stop-daemon process i guess). So this does the trick:

start_daemon() {
  if have_sys_entries; then
    remove_stale_pid
    if pgrep ipw3945d; then
    log_warning_msg "ipw3945d already starting!!"
    else
        log_daemon_msg "Starting ipw3945 regulatory daemon" "ipw3945d"
start-stop-daemon --start --quiet --chuid "${DAEMON_OWNER}" \ --exec "${DAEMON_BINARY}" --pidfile "${DAEMON_PID_FILE}" \ --oknodo -- --pid-file=${DAEMON_PID_FILE} --quiet \
                          --log-file=${DAEMON_LOG_FILE} > /dev/null 2>&1
        code=$?
        log_end_msg ${code}
        sleep 1
    fi
  else
log_warning_msg "Not starting ipw3945 regulatory daemon, driver not loaded."
  fi
}





--- End Message ---
--- Begin Message ---
Source: ipw3945d
Source-Version: 1.7.22-3

We believe that the bug you reported is fixed in the latest version of
ipw3945d, which is due to be installed in the Debian FTP archive:

ipw3945d_1.7.22-3.diff.gz
  to pool/non-free/i/ipw3945d/ipw3945d_1.7.22-3.diff.gz
ipw3945d_1.7.22-3.dsc
  to pool/non-free/i/ipw3945d/ipw3945d_1.7.22-3.dsc
ipw3945d_1.7.22-3_i386.deb
  to pool/non-free/i/ipw3945d/ipw3945d_1.7.22-3_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 401558@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jurij Smakov <jurij@debian.org> (supplier of updated ipw3945d package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Thu, 14 Dec 2006 20:50:40 -0800
Source: ipw3945d
Binary: ipw3945d
Architecture: source i386
Version: 1.7.22-3
Distribution: unstable
Urgency: low
Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
Changed-By: Jurij Smakov <jurij@debian.org>
Description: 
 ipw3945d   - Binary userspace regulatory daemon for Intel PRO/Wireless 3945ABG
Closes: 401558
Changes: 
 ipw3945d (1.7.22-3) unstable; urgency=low
 .
   * Add a workaround to prevent the daemon from being started
     twice. That may happen when it is started before the /var/run
     directory is cleaned up, so the pid file is lost. Now we
     check for such conditions and stop the daemon first, if it
     is running without a proper pid file. Thanks to Dieter Roels
     for help with debugging and testing. Closes: #401558
   * Increase the delay after start from one to three seconds to
     finally get rid of all the timing issues (ifup would still
     fail occasionally with one second delay).
Files: 
 1b4abb42c1f3465e4342b4b4e5727df5 631 non-free/net extra ipw3945d_1.7.22-3.dsc
 afc40b016dd19d7c0dcd530e588d2a05 5489 non-free/net extra ipw3945d_1.7.22-3.diff.gz
 f3e18c434b76fbc8a27c11af2114f066 37370 non-free/net extra ipw3945d_1.7.22-3_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFFgi9YjjectMmeA8wRAudXAJ4iJR/nWOSFbn1GVqQ+EY3uyAlLsQCfYf82
rNCZk5YzxFnnT3J4cnnmfVU=
=SrLa
-----END PGP SIGNATURE-----


--- End Message ---

Reply to: