June 8 2002

AP Radar is a wireless utility that stumbles, manages associations to access points, makes authorization requests to wireless gateways, reestablishes a dropped connection, and does a little peer-2-peer communication. It could possibly be a self-contained node map client, ala the boingo client.

AP Radar now has its own Source Forge project! (july 3 2002) http://apradar.sourceforge.net


The problem its trying to solve is that AccessPoint association in linux is too manual.

Lets say you want to use an access point.
Open an xterm - that right there is difficult for some
Do you know the essid?
Yes go to a1.
No go to b1.

Physical Layer

I know the essid of the access point I want to use.
a1) use iwconfig to set the essid to the essid of the access point go to step c1

I dont know the essid of the access point I want to use.
b1) use iwconfig to set the essid to any. this is usually already the case

b2) see which AP your driver/card has picked up on. shold be the strongest signal. go to step c1. If you have a rough idea of what the essid name is and this isnt it, you are screwed.

c1) is the signal strength is adequate? yes - go to step d1. no - you are screwed.

Network Layer

d1) aquire an IP address by running a dhcp client such as pump. wait for an answer.

d2) ping the gateway, test the DNS service. good - go to step e1. no - you are screwed.

Authentication Layer (future environment)

e1) send a broadcast request for the authentication server on this segment. Used to locate a nocat or metanet "gateway access service". Use BroadcastXml for this.

e2) if no broadcast answer, assume the ip of the default gateway is an 'access service'. send an xml-rpc authentication request to the server. If no answer, stop.


Once you're connected, keep a constant monitor of the associated AP. My cisco card has the very annoying habit of switching to a stronger AP, even with a different ESSID, whenever it feels the need. Also keep a constant monitor of the access points in range. OS X is a great example of how this should work.

Use BroadcastXml to have AP radar discover any other boxes on the segment that are running AP Radar.


idea 1. Have steps a through d in a Gnome component. Pro: Then it could be plugged into lots of other gnome apps easily. Con: Id have to write in c++

idea 2. A java applet. Pro: Im already proficient in java. Con: Difficult to talk to glibc/kernel. Many people dont have java installed

idea 3. a gnome toolbar applet.


Is everything linux written in 'c'?? It turns out mandrake doesnt have the gtk bindings to c++ installed, and i cant even find the rpm package for it. So how do i make a gtk app in linux? perl, python, ruby, those are options. id prefer ruby but id have to learn it. python is supposed to be good but i have an unreasonable bias against it. ive had much first hand experience in the dark, heartless evil that is object oriented perl.

Ive learned some of the ways of cisco 'monitor mode'. This sends all packets up to the kernel. It makes the cisco card a great stumbler. It also makes the card useless as a wireless client. kismet has a 'generic' stumble mode that may get a list of APs without any tricks that make the card drop the AP association. (BTW: ACX100 based cards also implement Cisco monitor mode)

Whats new in the linux kernel for wireless support:
2.5.20 and later have v14 wireless extensions

Im going to talk about AP Radar at the next PTP Meeting.



ApRadar (last edited 2012-03-10 01:50:15 by RussellSenior)