Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Aug 2005 18:12:45 +0200
From:      "[LoN]Kamikaze" <LoN_Kamikaze@gmx.de>
To:        freebsd-mobile@freebsd.org
Subject:   wlan autoconnection skripts
Message-ID:  <430F3F7D.60109@gmx.de>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------050102010904020200060106
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

I made a little script to autmatically connect to known wireless
networks. I'd like to have some people help me with testing. I'm running
it on FreeBSD 5.4 with the ipw driver.

If it works satisfactory for everyone I'd like to write a manpage and
maybe turn it into a port.

INSTALLATION
Put the attached files somewhere and cd into that folder. Don't forget
to become root.
# cp wi.sh /usr/local/etc/rc.d/
# cp wi /usr/local/sbin/
# mkdir /etc/wi.conf
# chmod 0700 /etc/wi.conf

BASIC CONFIGURATION
You require the following entries in your /etc/rc.conf file to use the
script.
wi_enable="YES"
wi_device="devicename"

Further there are 2 optional entries:
wi_module="kernelMod"
wi_loadfirmware="command"

wi_enable enables the script. wi_device is the name of the wireless
network device as seen by ifconfig. wi_module is optional and the name
of the kernel module for the wireless device. wi_loadfirmware is for
wireless devices that need to load a firmware after the kernel module
has been loaded. As an example here is an excerpt from my rc.conf.

wi_enable="YES"
wi_device="ipw0"
wi_module="if_ipw"
wi_loadfirmware="/usr/sbin/ipwcontrol -i ipw0 -f
/usr/local/libdata/if_ipw/ipw2100-1.3.fw"

Now you have the commands
/usr/local/etc/rc.d/wi.sh start
/usr/local/etc/rc.d/wi.sh stop
/usr/local/etc/rc.d/wi.sh status
available. Or if you want it short
wi start
wi stop
wi status


The following step is optional:
I added the command
"/usr/local/etc/rc.d/wi.sh stop"
at the appropriate places in the files /etc/rc.suspend and
/etc/rc.shutdown .
To /etc/rc.resume I added the command
"/usr/loca/etc/rc.d/wi.sh start".

CONFIGURATION OF NETWORKS
If you did everything described above the script will be able to look
for networks. Unfortunately it won't connect to any... that is what the
folder /etc/wi.conf/ is meant for.

Simply add a file with the name of the network you want to connect to.
An example for such a file would be

MYNET

/sbin/ifconfig ipw0 ssid MYNET wepkey MYKEY weptxkey 1 wepmode on
/sbin/dhclient ipw0

Optionally you can add the file MYNET_stop and enter commands that
should be executed before the script tries to terminate a connection. In
most cases this won't be necessary. The script will automatically
terminate the dhcp client, bring the device down and unload the kernel
module.

Thank you for your time.

Dominic Fandrey

--------------050102010904020200060106
Content-Type: text/plain;
 name="wi"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="wi"

IyEvYmluL3NoCgojIEF1dGhvcjogICAgICAga2FtaWthemUKIyBDb250YWN0OiAgICAgIExv
Tl9LYW1pa2F6ZUBnbXguZGUKCiMKIyBQbGVhc2UgcmVhZCB0aGUgY29tbWVudHMgaW4gL3Vz
ci9sb2NhbC9ldGMvcmMuZC93aS5zaCBpZiB5b3UKIyByZXF1aXJlIGRvY3VtZW50YXRpb24u
CiMKCiMgVGhlIGRlc2lyZWQgYWN0aW9uLgpjb21tYW5kPSQxCgojIFRoZSBlcnJvciBudW1i
ZXIgdG8gcmV0dXJuLgplcnJvcj0wCgojIFRoZSBjaGFyYWN0ZXJzIHdpcmVsZXNzIG5ldHdv
cmsgbmFtZXMgbWF5IGNvbnNpc3Qgb2YuCm5ldG5hbWVfY2hhcnM9ImFBYkJjQ2REZUVmRmdH
aEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZelowMTIzNDU2Nzg5IgoKIyBU
aGUgcGF0aCBmb3IgdGhlIG5ldHdvcmsgaW5pdCBzY3JpcHRzLgpuZXR3b3JrX3NjcmlwdHM9
Ii9ldGMvd2kuY29uZiIKCiMgTmV0d29yayBwcm9maWxlLgpuZXR3b3JrX3Byb2ZpbGU9Ii92
YXIvcnVuL3dpIgoKIyBTY2FuIHJlc3VsdHMuCm5ldHdvcmtfc2Nhbj0iL3Zhci9ydW4vbmV0
d29ya3MiCgojIERlZmF1bHQgc2V0dGluZ3MuCndpX2VuYWJsZT0iTk8iCndpX21vZHVsZT0i
Igp3aV9kZXZpY2U9IiIKd2lfbG9hZGZpcm13YXJlPSIiCgojIEdldCBzZXR0aW5ncyBmcm9t
IHJjLmNvbmYuCi4gL2V0Yy9yYy5zdWJyCgpuYW1lPSJ3aSIKcmN2YXI9YHNldF9yY3ZhcmAK
CmxvYWRfcmNfY29uZmlnICRuYW1lCgojIENoZWNrIGlmIHRoZSB3aSBzZXJ2aWNlIGlzIGVu
YWJsZWQuCmlmIFsgIiR3aV9lbmFibGUiID0gIk5PIiBdOyB0aGVuCiAgICAgICAgZWNobyAi
d2lfJGNvbW1hbmQ6CVRoZSB3aSBzZXJ2aWNlIGlzIG5vdCBlbmFibGVkLiIKICAgICAgICBl
eGl0IDEKZmkKCiMgQ2hlY2sgaWYgYSBkZXZpY2UgaGFzIGJlZW4gZGVmaW5lZC4KaWYgWyAi
JHdpX2RldmljZSIgPSAiIiBdOyB0aGVuCgllY2hvICJ3aV8kY29tbWFuZDoJTm8gZGV2aWNl
IGhhcyBiZWVuIGNvbmZpZ3VyZWQgZm9yIHRoZSB3aWluaXQgc2VydmljZS4iCglleGl0IDEK
ZmkKCndpX3N0YXJ0KCkKewoJaWYgWyAiJHdpX21vZHVsZSIgXTsgdGhlbgoJCSMgQ2hlY2sg
aWYgdGhlIHdpcmVsZXNzIGRldmljZSBtb2R1bGUgaXMgbG9hZGVkLgoJCS9zYmluL2tsZHN0
YXQgLW4gJHdpX21vZHVsZSAyPiAvZGV2L251bGwgPiAvZGV2L251bGwKCQlpZiBbICQ/IC1l
cSAxIF07IHRoZW4KCQkJZWNobyAid2lfJGNvbW1hbmQ6CUxvYWQga2VybmVsIG1vZHVsZSBm
b3Igd2lyZWxlc3MgbmV0d29yayBkZXZpY2UuIgoJCQkvc2Jpbi9rbGRsb2FkICR3aV9tb2R1
bGUgMj4gL2Rldi9udWxsID4gL2Rldi9udWxsCgkJCSR3aV9sb2FkZmlybXdhcmUKCQlmaQoJ
ZmkKCgkjIEZpbmQgbmV0d29ya3MuCgllY2hvICJ3aV8kY29tbWFuZDoJU2VhcmNoaW5nIGZv
ciB3aXJlbGVzcyBuZXR3b3Jrcy4iCgkvc2Jpbi9pZmNvbmZpZyAkd2lfZGV2aWNlIHVwCgkv
dXNyL3NiaW4vd2ljb250cm9sICR3aV9kZXZpY2UgLUwgPiAvZGV2L251bGwKCW5ldHdvcmtz
PSQoL3Vzci9zYmluL3dpY29udHJvbCAkd2lfZGV2aWNlIC1sIHwgZ3JlcCBuZXRuYW1lIHwg
Z3JlcCAtRW8gIlskbmV0bmFtZV9jaGFyc10rIiB8IGdyZXAgLXYgU1NJRCB8IGdyZXAgLXYg
bmV0bmFtZSkKCgkjIFNhdmUgc2NhbiByZXN1bHRzLgoJZWNobyAiJG5ldHdvcmtzIiA+ICRu
ZXR3b3JrX3NjYW4KCgkjIFByYWN0aWNhbGx5IHdpY29udHJvbCByZXR1cm5zIG5ldHdvcmtz
CgkjIGluIHRoZSBvcmRlciBvZiB0aGVpciBzaWduYWwgcXVhbGl0eS4KCWZvciBuZXR3b3Jr
IGluICRuZXR3b3JrczsgZG8KCQlzY3JpcHQ9JChjYXQgIiRuZXR3b3JrX3NjcmlwdHMvJG5l
dHdvcmsiIDI+IC9kZXYvbnVsbCkKCQlpZiBbICQ/IC1lcSAwIF07IHRoZW4KCQkJZWNobyAi
d2lfJGNvbW1hbmQ6CVJ1biBpbml0IHNjcmlwdCBmb3IgJG5ldHdvcmsuIgoJCQllY2hvICIk
c2NyaXB0IiB8IC9iaW4vc2gKCQkJaWYgWyAkPyAtZXEgMSBdOyB0aGVuCgkJCQllY2hvICJ3
aV8kY29tbWFuZDoJSW5pdCBzY3JpcHQgJG5ldHdvcmsgZmFpbGVkLiIKCQkJCWNvbnRpbnVl
CgkJCWVsc2UKCQkJCWVjaG8gIndpXyRjb21tYW5kOglEb25lLiIKCQkJCWVjaG8gJG5ldHdv
cmsgPiAkbmV0d29ya19wcm9maWxlCgkJCQlleGl0ICRlcnJvcgoJCQlmaQoJCWZpCglkb25l
CgoJIyBDaGVjayB3ZWF0aGVyIGFueSBuZXR3b3JrcyBoYXZlIGJlZW4gZm91bmQuCglpZiBb
ICIkbmV0d29ya3MiID0gIiIgXTsgdGhlbgoJCWVjaG8gIndpXyRjb21tYW5kOglObyB3aXJl
bGVzcyBuZXR3b3JrcyBoYXZlIGJlZW4gZm91bmQuIgoJZmkKCgkjIEZpbmRpbmcgYSBuZXR3
b3JrIGRpZCBub3Qgc3VjY2VlZC4KCWVycm9yPTEKCWV2YWwgd2lfc3RvcAp9Cgp3aV9zdG9w
KCkKewoJIyBHZXQgdGhlIGN1cnJlbnQgcHJvZmlsZS4KCW5ldHdvcms9JChjYXQgJG5ldHdv
cmtfcHJvZmlsZSAyPiAvZGV2L251bGwpCgoJaWYgWyAkPyAtZXEgMCBdOyB0aGVuCgkJc2Ny
aXB0PSQoY2F0ICRuZXR3b3JrX3NjcmlwdHMvJG5ldHdvcmtfc3RvcCAyPiAvZGV2L251bGwp
CgkJaWYgWyAkPyAtZXEgMCBdOyB0aGVuCgkJCWVjaG8gIndpXyRjb21tYW5kOglSdW4gZGVh
Y3RpdmF0aW9uIHNjcmlwdCBmb3IgJG5ldHdvcmsuIgoJCQllY2hvICIkc2NyaXB0IiB8IC9i
aW4vc2gKCQlmaQoJZmkKCgllY2hvICJ3aV8kY29tbWFuZDoJVGVybWluYXRlIGRoY2xpZW50
IHNlc3Npb25zIG9uICR3aV9kZXZpY2UuIgoJL3NiaW4vZGhjbGllbnQgLXIgJHdpX2Rldmlj
ZQoKCSMgQ2hlY2sgaWYgdGhlIGRldmljZSBpcyBydW5uaW5nIGFuZCBzaHV0IGl0IGRvd24u
Cgkvc2Jpbi9pZmNvbmZpZyAkd2lfZGV2aWNlIHwgZ3JlcCBVUCB8IGdyZXAgUlVOTklORyAy
PiAvZGV2L251bGwgPiAvZGV2L251bGwKCWlmIFsgJD8gLWVxIDAgXTsgdGhlbgoJCWVjaG8g
IndpXyRjb21tYW5kOglTaHV0aW5nIGRvd24gJHdpX2RldmljZS4iCgkJL3NiaW4vaWZjb25m
aWcgJHdpX2RldmljZSBkb3duCglmaQoKCSMgQ2hlY2sgaWYgdGhlIGtlcm5lbCBtb2R1bGUg
aXMgbG9hZGVkIGFuZCB1bmxvYWQgaXQuCgkvc2Jpbi9rbGRzdGF0IC1uICR3aV9tb2R1bGUg
Mj4gL2Rldi9udWxsID4gL2Rldi9udWxsCglpZiBbICQ/IC1lcSAwIF07IHRoZW4KCQllY2hv
ICJ3aV8kY29tbWFuZDoJVW5sb2FkaW5nICR3aV9tb2R1bGUga2VybmVsIG1vZHVsZS4iCgkJ
L3NiaW4va2xkdW5sb2FkICR3aV9tb2R1bGUKCWZpCgoJIyBSZW1vdmUgdGhlIHByb2ZpbGUg
cmVjb3JkLgoJL2Jpbi9ybSAkbmV0d29ya19wcm9maWxlIDI+IC9kZXYvbnVsbCA+IC9kZXYv
bnVsbAoKCSMgVGVybWluYXRlIHByb2dyYW0uCglleGl0ICRFUlJPUgp9Cgp3aV9zdGF0dXMo
KQp7CgkjIENoZWNrIHdlYXRoZXIgYSB3aXJlbGVzcyBuZXR3b3JrIGlzIGNvbmZpZ3VyZWQu
CgluZXR3b3JrPSQoY2F0IC92YXIvcnVuL3dpIDI+IC9kZXYvbnVsbCkKCQoJaWYgWyAkPyAt
ZXEgMSBdOyB0aGVuCgkJZWNobyAid2lfJGNvbW1hbmQ6CU5vdCBjb25uZWN0ZWQuIgoJZWxz
ZQoJCWVjaG8gIndpXyRjb21tYW5kOglwcm9maWxlOiAkbmV0d29yayIKCQlzdGF0dXM9JCgv
c2Jpbi9pZmNvbmZpZyAkd2lfZGV2aWNlIHwgZ3JlcCBzdGF0dXMpCgkJZWNobyAid2lfJGNv
bW1hbmQ6JHN0YXR1cyIKCWZpCgoJZWNobyAid2lfJGNvbW1hbmQ6CUF2YWlsYWJsZSBuZXR3
b3JrczoiCgljYXQgJG5ldHdvcmtfc2NhbiAyPiAvZGV2L251bGwKCglleGl0ICRlcnJvcgp9
CgojIFJ1biBkZXNpcmVkIGNvbW1hbmQuCndpXyRjb21tYW5kCgo=
--------------050102010904020200060106--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?430F3F7D.60109>