Thanks much for the detailed instructions. This worked for me.
Whenever either of the interface is up, I see that ifplugd gets a
notification (I see the messages in /var/log/messages). It worked
consistently or wired and wireless both - so far.
The only issue I have is that when an interface goes down, the script
doesn't reach after
/sbin/ip route | grep -q "$SLOW_INTERFACE"
I put echo statement before and after this statement like
echo before
/sbin/ip route | grep -q "$SLOW_INTERFACE"
echo after
Only the before is seen in /var/log/messages, after is not. I also see
a message saying the script exited with exit status 1 or 2.
If I execute the same /sbin/ip route | grep -q eth0 or /sbin/ip route
| grep -q eth1 command on the command line - I never see that it exits
with some other status. So, I removed that check and the script now
kinda works.
Any idea what could be wrong?
thanks,
Rajnish
On Thu, 7 Oct 2004 14:15:18 -0300, James Oakley
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Thursday 07 October 2004 11:49 am, Osho GG wrote: ...
to enable wired ethernet. I read somewhere than ifplugd can be used to do something like this.
Yes, ifplugd can do this. Here's how to set it up:
- - Edit the configuration files for both interfaces under /etc/sysconfig/network/ifcfg-* and set STARTMODE=manual
- - Edit /etc/ifplugd/ifplugd.conf and put both interfaces in INTERFACES
- - Start ifplugd
You may have a couple of problems:
- - ifplugd cannot detect when my wireless interface goes up. I haven't had the time to figure it out. You might not have this problem
- - dhcpcd will not set a default route if another dhcpcd is already running. I dealt with this by modifying /etc/ifplugd/ifplugd.action to look like this::
- ------ cut here ------ set -e
if [ -z "$1" ] || [ -z "$2" ] ; then echo "Wrong arguments" > /dev/stderr exit 1 fi
FAST_INTERFACE="eth0" SLOW_INTERFACE="wlan0"
if [ "$2" = "up" ] ; then /sbin/ifup $1
# If this is the fast interface, we want to make sure the default route # is going through it if [ "$1" = "$FAST_INTERFACE" ] ; then if [ -r /var/lib/dhcpcd/dhcpcd-$FAST_INTERFACE.info ] ; then . /var/lib/dhcpcd/dhcpcd-$FAST_INTERFACE.info /sbin/ip route del default 2> /dev/null || true /sbin/ip route add default via $GATEWAY dev $FAST_INTERFACE fi fi fi
if [ "$2" = "down" ] ; then /sbin/ifdown $1
# If this is the fast interface, we want to switch the default route to # the slow interface, if it's active if [ "$1" = "$FAST_INTERFACE" ] ; then # Is the slow interface active? /sbin/ip route | grep -q "$SLOW_INTERFACE" if [ "$?" = 0 ] ; then if [ -r /var/lib/dhcpcd/dhcpcd-$SLOW_INTERFACE.info ] ; then . /var/lib/dhcpcd/dhcpcd-$SLOW_INTERFACE.info /sbin/ip route del default 2> /dev/null || true /sbin/ip route add default via $GATEWAY dev $SLOW_INTERFACE fi fi fi fi
exit 0 - ------ cut here ------
Hope that helps,
- -- James Oakley Engineering - SolutionInc Ltd. joakley@solutioninc.com http://www.solutioninc.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFBZXm04U2uQswGyDcRAs9DAJ9s+NX/j16X5dL7kDlTkLoY13cgSwCdEQdl yaF1vAb8v6JPjQ4TTG7AAoc= =kTS1 -----END PGP SIGNATURE-----
-- Check the headers for your unsubscription address For additional commands send e-mail to suse-linux-e-help@suse.com Also check the archives at http://lists.suse.com Please read the FAQs: suse-linux-e-faq@suse.com