Autor |
Nachricht |
|
Titel:
Verfasst am: 28.11.2006, 10:55 Uhr
|
|
Anmeldung: 02. Feb 2006
Beiträge: 55
|
|
my bad.
that should be "rcS.d" !!! (edited in earlier post). |
|
|
|
|
|
|
Titel:
Verfasst am: 28.11.2006, 12:52 Uhr
|
|
Anmeldung: 26. Nov 2006
Beiträge: 85
|
|
Yes that worked. But sadly my connection still wont automatically start on boot.
To be clear I removed the S99eth0_up script you posted earlier and ran
Code:
ln -s /etc/init.d/ipw3945d /etc/rcS.d/S39ipw3945d
as root - which executed/completed without complaint.
I then edited my /etc/hosts/interfaces file to add the eth2 interface to the auto line, in order that both eth0 and eth2 would be available on boot. (although I do not have an ethernet cable plugged in to my wired networking port (eth0) right now.
This is how it looks now:
Code:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
# automatically added when upgrading
auto lo eth0 eth2
iface lo inet loopback
iface eth0 inet static
address 192.168.2.102
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
# gateway 192.168.1.1
iface eth2 inet static
address 192.168.1.104
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
wireless-mode Managed
wireless_key s:elephant.1234
wireless-essid Homer1
There was one other file in rcS.d called S38ipw3945d - but I removed this as instructed. I can see no further reference to it in this directory.
The remaining contents of that directory are as follows:
Code:
README S11hwclock.sh S36mtab.sh S46mountnfs-bootclean.sh
S01glibc.sh S18ifupdown-clean S36udev-mtab S46setserial
S01splashy-init S20module-init-tools S38pppd-dns S48console-screen.sh
S02mountkernfs.sh S20modutils S39dns-clean S50alsa-utils
S03udev S25libdevmapper1.02 S39ifupdown S55bootmisc.sh
S04mountdevsubfs.sh S30checkfs.sh S39ipw3945d S55urandom
S05bootlogd S30etc-setserial S40hostname.sh S70x11-common
S05initrd-tools.sh S30procps.sh S40networking S75sudo
S05keymap.sh S35mountall.sh S43portmap S99stop-bootlogd-single
S10checkroot.sh S36mountall-bootclean.sh S45mountnfs.sh
As far as I understand it, the objective is to get the ipw3945 daemon started before my network comes up - and currently this isn't happening - although again there appears to be no clear reason why this is he case.
BTW I am perfectly happy with the solution that I have where I am running the start up script for my network as a service - but really if we can figure this out, then it is probably a bug - and maybe if we fix it, or find out what's wrong we can report it to Kano? I mean Kanotix is after all an RC right now, so maybe if it can be fixed we can help others in the same position as me - and make wireless networking in Kaotix much easier in the future?
Of course, if you don't have the time for this - or just don't know how to fix it, that is perfectly fine too. |
|
|
|
|
|
|
Titel:
Verfasst am: 28.11.2006, 13:38 Uhr
|
|
Anmeldung: 02. Feb 2006
Beiträge: 55
|
|
Hmmm, this is turning out to be quite a tricky one!
You already had ipw3945d starting at level S38, so on an earlier moment than the network comes up. Could you put it bakc this way? (so change the S39ipw3945d to S38ipw3945d ).
If this daemon is started at that time, and it apparently is running at a later time, then it must be placed in the background, still doing something or waiting for something.
Maybe the timeout it generates on start should be increased to give it more time.
In /etc/init.d/ipw3945d you'll find:
Code:
start_daemon() {
if have_sys_entries; then
remove_stale_pid
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
else
log_warning_msg "Not starting ipw3945 regulatory daemon, driver not loaded."
fi
}
Right at the end (5 lines above the end to be exact), you can see "sleep 1"
Can you change the value here? To "sleep 10" for instance?
You can play a bit with the value here, that might do the trick. |
|
|
|
|
|
|
Titel:
Verfasst am: 28.11.2006, 13:55 Uhr
|
|
Anmeldung: 26. Nov 2006
Beiträge: 85
|
|
You may be inadvertantly on to something here. My /etc/init.d/ipw3945d differs significantly from yours. There is no "sleep1" or any other sleep instruction at all:
Code:
#!/bin/sh
### BEGIN INIT INFO
# Provides: ipw3945d
# Required-Start: mountvirtfs $local_fs
# Required-Stop:
# Should-Start: udev
# Should-Stop:
# Default-Start: S
# Default-Stop: 0 6
# Short-Description: Intel PRO/Wireless 3945ABG Regulatory Daemon
# Description: A userspace regulatory daemon daemon responsible for
# controlling and configuring aspects of the hardware
# required to operate the device within compliance of
# various regulatory agencies.
### END INIT INFO
PATH=/usr/sbin:/usr/bin:/sbin:/bin
IPW3945D=/sbin/ipw3945d
NAME=ipw3945d
DESC="ipw3945 regulatory daemon"
PIDFILE="/var/run/ipw3945d.pid"
OPTIONS="--quiet --pid-file=$PIDFILE"
TEST_OPTIONS="--isrunning --pid-file=$PIDFILE"
if [ ! -x "$IPW3945D" ]; then
exit 0
fi
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting $DESC"
# daemon is already running
if start-stop-daemon --start --oknodo --quiet --name $NAME \
--startas $IPW3945D --pidfile $PIDFILE -- $TEST_OPTIONS; then
log_progress_msg "$NAME process already started"
log_end_msg 0
exit 0
fi
# ipw3945 hardware and/or module not present
if [ ! -e /sys/bus/pci/drivers/ipw3945/*/cmd ]; then
log_progress_msg "hardware or kernel module not present"
log_end_msg 0
exit 0
fi
# start daemon
if start-stop-daemon --start --oknodo --quiet --name $NAME \
--startas $IPW3945D --pidfile $PIDFILE -- $OPTIONS; then
log_progress_msg "$NAME"
log_end_msg 0
else
log_end_msg 1
exit 1
fi
;;
stop)
# check to see if daemon is running
if start-stop-daemon --start --oknodo --quiet --name $NAME \
--startas $IPW3945D --pidfile $PIDFILE -- $TEST_OPTIONS; then
log_daemon_msg "Stopping $DESC"
log_progress_msg "$NAME"
# kill the daemon
if start-stop-daemon --stop --oknodo --quiet \
--exec $IPW3945D --pidfile $PIDFILE; then
log_end_msg 0
# remove stale pidfile
if [ -f "$PIDFILE" ]; then
rm -f "$PIDFILE"
fi
else
log_end_msg 1
exit 1
fi
fi
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0
There are also a number of other diferences that you might note. |
|
|
|
|
|
|
Titel:
Verfasst am: 28.11.2006, 13:56 Uhr
|
|
Anmeldung: 02. Feb 2006
Beiträge: 55
|
|
|
|
|
|
Titel:
Verfasst am: 28.11.2006, 15:36 Uhr
|
|
Anmeldung: 26. Nov 2006
Beiträge: 85
|
|
Yes that worked beautifully, with no more errors. No need to adjust the timeout value at all.
Hopefully Kano will include this in the final release.
Issue marked as solved!
Many thanks! |
|
|
|
|
|
|
Titel:
Verfasst am: 30.11.2006, 19:10 Uhr
|
|
Anmeldung: 26. Nov 2006
Beiträge: 85
|
|
OK, can someone please explain why when I installed a new Kernel 2.6.18.1-kanotix-1 wireless networking stopped working?
Is there something I need to reinstall to get it to work again when I install each new official Kanotix kernel?
Thanks! |
|
|
|
|
|
|