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