<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://www.marcelpost.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Wifi-startstop</id>
	<title>Wifi-startstop - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.marcelpost.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Wifi-startstop"/>
	<link rel="alternate" type="text/html" href="https://www.marcelpost.com/wiki/index.php?title=Wifi-startstop&amp;action=history"/>
	<updated>2026-05-17T04:18:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://www.marcelpost.com/wiki/index.php?title=Wifi-startstop&amp;diff=355&amp;oldid=prev</id>
		<title>Admin at 00:34, 29 September 2011</title>
		<link rel="alternate" type="text/html" href="https://www.marcelpost.com/wiki/index.php?title=Wifi-startstop&amp;diff=355&amp;oldid=prev"/>
		<updated>2011-09-29T00:34:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This script uses the &amp;#039;expect&amp;#039; program to interact with my router to automatically start and stop the Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
To automatically initiate either a start or a stop I have the following crontab entries:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#start wireless at 18:30 during weekdays&lt;br /&gt;
30 18 * * 1-5 /root/bin/start-wifi.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
#turn off wireless at 23:00 every day&lt;br /&gt;
0   23 * * * /root/bin/stop-wifi.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Wi-Fi Start==&lt;br /&gt;
&lt;br /&gt;
The start-wifi.sh script contains the following lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
EXPECT=/usr/bin/expect&lt;br /&gt;
EXP_SCRIPT=/root/bin/wifi-start.exp&lt;br /&gt;
LOG=/dev/shm/expect.log&lt;br /&gt;
&lt;br /&gt;
if $EXPECT -f $EXP_SCRIPT&lt;br /&gt;
then&lt;br /&gt;
  echo &amp;quot;`date` Wireless Network started by Expect script&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;`date` Wireless Network already active&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The wifi-start expect script looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;set timeout 5&lt;br /&gt;
set PASS &amp;quot;secretpw&amp;quot;&lt;br /&gt;
set ROUTER &amp;quot;http://192.168.0.1/xslt?PAGE=C04&amp;amp;amp;THISPAGE=C01&amp;amp;amp;NEXTPAGE=C04&amp;amp;amp;DEVNAME=wave0&amp;quot;&lt;br /&gt;
set OPTIONS &amp;quot;-anonymous&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn /usr/bin/links $ROUTER $OPTIONS&lt;br /&gt;
expect {&lt;br /&gt;
           &amp;quot;2701HGV-W&amp;quot;   {&lt;br /&gt;
                    set CONTINUE 1&lt;br /&gt;
         } timeout  {&lt;br /&gt;
                    exit 1&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#search for the password field&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sleep 1&lt;br /&gt;
# enter password&lt;br /&gt;
send &amp;quot;$PASS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# jump down to the submit button&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#press enter&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# acknowledge to post form data&lt;br /&gt;
#press enter&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
           &amp;quot;You are about to enable the following &amp;quot;   {&lt;br /&gt;
                    set CONTINUE 1&lt;br /&gt;
         } timeout  {&lt;br /&gt;
                    exit 1&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sleep 1&lt;br /&gt;
&lt;br /&gt;
# jump down to the confirm button&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# press &amp;#039;enter&amp;#039;&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# acknowledge to post form data&lt;br /&gt;
#press enter&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect &amp;quot;Refresh&amp;quot;&lt;br /&gt;
# press enter to refresh the page&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect &amp;quot;View Network Summary&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Wi-Fi Stop==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The stop-wifi.sh script contains the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
EXPECT=/usr/bin/expect&lt;br /&gt;
EXP_SCRIPT=/root/bin/wifi-stop.exp&lt;br /&gt;
LOG=/dev/shm/expect.log&lt;br /&gt;
&lt;br /&gt;
if $EXPECT -f $EXP_SCRIPT&lt;br /&gt;
then&lt;br /&gt;
  echo &amp;quot;`date` Wireless Network stopped by Expect script&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;`date` Wireless Network already disabled&amp;quot; &amp;gt;&amp;gt; $LOG&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The wifi-stop expect script looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;set timeout 5&lt;br /&gt;
set PASS &amp;quot;secretpw&amp;quot;&lt;br /&gt;
set ROUTER &amp;quot;http://192.168.0.1/xslt?PAGE=C04&amp;amp;amp;THISPAGE=C01&amp;amp;amp;NEXTPAGE=C04&amp;amp;amp;DEVNAME=wave0&amp;quot;&lt;br /&gt;
set OPTIONS &amp;quot;-anonymous&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn /usr/bin/links $ROUTER $OPTIONS&lt;br /&gt;
expect {&lt;br /&gt;
           &amp;quot;2701HGV-W&amp;quot;   {&lt;br /&gt;
                    set CONTINUE 1&lt;br /&gt;
         } timeout  {&lt;br /&gt;
                    exit 1&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#search for the password field&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sleep 1&lt;br /&gt;
# enter password&lt;br /&gt;
send &amp;quot;$PASS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# jump down to the submit button&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#press enter&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# acknowledge to post form data&lt;br /&gt;
#press enter&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
           &amp;quot;You are about to disable the following &amp;quot;   {&lt;br /&gt;
                    set CONTINUE 1&lt;br /&gt;
         } timeout  {&lt;br /&gt;
                    exit 1&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sleep 1&lt;br /&gt;
&lt;br /&gt;
# jump down to the confirm button&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
send -- &amp;quot;\033\[B&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# press &amp;#039;enter&amp;#039;&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# acknowledge to post form data&lt;br /&gt;
#press enter&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect &amp;quot;Refresh&amp;quot;&lt;br /&gt;
# press enter to refresh the page&lt;br /&gt;
send &amp;quot;\r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect &amp;quot;View Network Summary&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>