FC2 Ethernet and Wireless settings

Peter Smith pasmith at wbmpl.com.au
Wed Aug 11 23:15:35 UTC 2004


Kevin Wang wrote:

>So my general modus operandi is to boot the laptop, suspend using the
>/root/idle script, and resume.  Lid close is set to do nothing, so
>there's really no other way to suspend.
>
>Note that tihs script is highly customized for my environment, so it
>may not fit yours.  But the ideas are all good, so feel free to pick
>and choose the pieces you need/want.
>
>IMPORTANT: I am running rh8 on this laptop, so the actual suspend
>method will vary.  I currently cannot suspend, due to acpi not doing
>the right thing in 2.4.
>
>one last note before I paste in the script.  I also put in a "killall
>-STOP mozilla-bin" into the acpi scripts, and triggered it off the lid
>switch detection.  killall -CONT mozilla-bin afterwards.  mozilla
>still has the insane bookmark code from netscape that writes out its
>bookmark file EVERY MINUTE. keeping the disk spinning, plus eating up
>of cpu from animated gif's, flash, etc.
>
>   - Kevin
>
>also available at http://rightsock.com/~kjw/Tech/idle.sh.txt to get
>the tabs right.
>
>#!/bin/sh
>
># usage: $0 [-f] [-n]
># -f = force. no network checks
># -n = not really. do everything but actual suspend
>
># presumption: eth0 is always the pcmcia.
># my config: builtin ethernet isn't insmod'ed by default, so the system
># just doesn't know it's there.
>if ifconfig eth0 >/dev/null 2>&1 ; then
>
>    # check if there is any pending network activity
>    if [ " $1" = ' -f' ] ; then
>        # -f is specified, skip the network checks
>        echo 'Skipping network checks'
>        shift 1
>    else # no -f found; normal code path
>
>        # check mailq
>        MAILQ=`mailq -Ac`
>        # rh6.2: while [ "$MAILQ" != 'Mail queue is empty' ] ; do
>        # rh7.0: while [ "$MAILQ" != '/var/spool/mqueue is empty' ] ; do
>        # rh8.0: while [ "$MAILQ" != '/var/spool/mqueue is empty
>#       Total requests: 0' ] ; do
>        # rh8.0 client mqueue: (yes, multiline. WHITESPACE IMPORTANT)
>        while [ "$MAILQ" != '/var/spool/clientmqueue is empty
>        Total requests: 0' ] ; do
>            echo 'mail pending. press enter to retry, or -f to override'
>            echo "$MAILQ"
>            read LINE
>            if [ "$LINE" = '-f' ] ; then break ; fi
>            MAILQ=`mailq -Ac`
>            done
>        service sendmail stop
>
>        # check for active tcp connections
>        # ignore :25 connections, as the mailq test has that covered
>        # ignore web, other 'pending close' states
>        # ignore X11 connections. only thing I ever use is x2x
>        NETSTAT="`netstat -n --inet 2>&1 | egrep -v '(:25
>|TIME_WAIT|FIN_WAIT|CLOS|LAST_ACK|127.0.0.1:|:80 |:443 |:6000 )' `"
>        while [ `echo "$NETSTAT" | wc -l` != 2 ] ; do
>            echo 'network connections still active. press enter to
>retry, or -f to override'
>            # by default, only print out the filtered netstat
>            echo "$NETSTAT"
>            read LINE
>            if [ "$LINE" = '-f' ] ; then break ; fi
>            NETSTAT="`netstat -n --inet 2>&1 | egrep -v '(:25
>|TIME_WAIT|FIN_WAIT|CLOS|LAST_ACK|127.0.0.1:|:80 |:443 |:6000 )' `"
>            done
>        fi # endif cmd line -f
>
>    # shut down networking
>    killall dhcpcd
>    ifconfig eth0 down
>    # sometimes the wired ethernet is there, but since it's not my
>    # normal connection, it must've been temporary
>    ifconfig eth1 >/dev/null 2>&1 && ifconfig eth1 down
>    rmmod 3c59x
>else
>    echo 'No network; skipping checks'
>    fi
>
># since I can't suspend with 2.4 acpi, additionally disable certain
># daemons because they eat cpu, and thus power
># lpd reads from disk every minute
>service lpd stop
># fetchmail is how I get my mail. obviously useless if the network is down.
># PAUSE it only
>killall -STOP fetchmail
>
># if I can suspend
>if false ; then
>    # eject card if possible
>    #cardctl eject
>
>    # report on battery condition
>    apm
>
>    # suspend
>    if [ " $1" != ' -n' ] ; then
>        sleep 2
>        # -n not found; normal code path
>        apm --suspend
>    else # -n is specified, skip the actual suspend process
>        echo 'Not really suspending...'
>        fi
>
>    # TODO: wait for eth0 to be up! else all below will fail
>
>    fi
>
># if I can acpi low-power
>if true ; then
>    # enter low power state
>    echo 4 >/proc/acpi/sleep
>
>    echo "Press enter to revive"
>    read
>
>    echo "Getting new dhcp lease"
>
>    # Work network is doubled, because sometimes the dhcp server
>    # isn't responsive.
>    # NOTE: you can press ctrl-c to skip over various networks
>    # without interrupting this script
>    for TRY in any Work Work any Work Work any Work Work
>        do
>        echo "Looking for $TRY network"
>        /usr/local/etc/iwkey $TRY
>        if dhcpcd -t 10 eth0 ; then break ; fi
>        done
>
>    fi
>
># communicate to the user that eth0 is up now
>ifconfig eth0
>
># resume fetchmail
>killall -CONT fetchmail
>
># kjw hack - I can't send mail directly from my laptop any more because
># of 1- dynamic addresses being blocked and 2- firewall at work, so
># sm-client starts the sendmail client, and an ssh-tunnel to my colo box,
># listening on 127.0.0.1:25.  This way I can locally queue messages for
># later delivery, yet still deliver through the colo, which is a trusted
># mail server.
>#service sendmail start
>service sm-client start
>
>service lpd start
>
># immediately switch back into X
>chvt 7
>
>exit 0
>
>
>On Wed, 11 Aug 2004 14:18:15 +1000, Peter Smith <pasmith at wbmpl.com.au> wrote:
>  
>
>>I would like to see Kevin's scripts too.  Is there anything on ifconfig,
>>iwconfig and route for beginners?  Google helped me get this far, but I
>>don't really know what I am doing :-).
>>    
>>
>
>
>  
>
Thanks Kevin,

That will be a great help!

Peter





More information about the fedora-list mailing list