[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
modified wmwave for Aironet driver
- Subject: modified wmwave for Aironet driver
- From: khuon at NEEBU.Net (Jake Khuon)
- Date: Mon Jan 12 18:10:36 2004
When I used to have a laptop with an Orinoco card, one of my most treasured
dockapps was wmwave. Since moving on to a Cisco 350 MPI card, I have hunted
high and low for something similar to no avail. I tried wmWiFi but all it
did was spit out ioctl() failures and I really did prefer the look of
wmwave. So after looking at the differences between the driver header
files, I decided last night to just hack wmwave.
I must admit that I was lazy and didn't bother to formally convert this
port. I just simply hacked the main file. Perhaps when I have more time
I'll clean things up and make it nicer. Of course if someone wants to do
that for me, I'm not going to stop them. |8^) The file can be found at:
Here's a summary of the list of changes I made:
 I grabbed a copy of the net/wmwave ports and extracted it into /tmp to
do the work while not contaminating my own ports tree.
[a] I just performed a make (not make install) to get the files into
a state for hacking.
[b] After I finished, I renamed wmwave to wmairo and copied it
manually to /usr/local/bin instead of doing a make install. As
I said above, if I happen to find some copious free time, I'll
make this a nice and clean port.
 Most of the definitions were similar so I started out doing a global
replace on a lot of variable and structure names.
 For some reason the signal cache (ANCACHE) for the aironet drivers never
get properly populated. Either that or I'm interrogating the structure
wrong. However "ancontrol -i an0 -Q" always returns a blank for me.
After playing around with it for a while, I ditched the idea and just
grabbed the information out of the an_ltv_status structure instead.
[a] The signal quality seemed to be reversed. Even ancontrol
reports what I think is opposite. In other words, as I move
closer to the AP, I saw the value of an_cur_signal_quality going
down. I decided to do a quick hack on the value to reverse it.
It now _seems_ correct.
[b] The scaling seemed wrong with the original code. Perhaps it was
correct given values as reported in wi_sigcache. I removed all
the scaling modifiers and the values seem to line up better.
 I changed the name of the labels so that they make a little more sense.
[a] The general status label used to show either "Quality" (card
present) or "No Card" (card not available) followed by a
coloured dot to indicate general signal quality (red = bad,
yellow = mediocre, green = good). The actual "Link" bargraph
showed the quality in a more graduated manner.
I decided I could make better use of the label area so I added
some code to display the channel number (an_cur_channel)
instead. It will still display "No Card" when a card can't be
found. My intent was to give me a better sense of which AP I
was associated with. I thought about using the value of
an_ap_name but my experi4ence is that it's unreliable. Many APs
don't have it properly set and actually my config tools for my
APs don't seem to have a way to set them. Additionally, I'm not
sure they're ever transmitted. Then again I'm not an 802.11
guru. I also thought about using the MAC address off the AP but
I didn't think it would fit nicely.
[b] I renamed "Level" to say "Strength" since I'm grabbing the value
of an_normalized_strength and thus seemed to make more sense. I
also fixed scaling.
[c] I left the "Noise" label alone but I'm not sure I'm retrieving
the correct element. I'm looking at an_noise_prev_sec_pc which
should be giving me the noise in percentage but I've never seen
it anything but 1% although every once in a while I will see a
slight flash to around 20% but that may just be an anomaly in
the polling. Perhaps I should try firing up one of my cordless
phones and sticking it next to my laptop. I also added the
ability to report SNR instead of noise. Compile with -DSNR to
Well, I think that's about it... I hope it's useful to someone other than me.
/*===================[ Jake Khuon <khuon_(_at_)_NEEBU_(_dot_)_Net> ]======================+
| Packet Plumber, Network Engineers /| / [~ [~ |) | | --------------- |
| for Effective Bandwidth Utilisation / |/ [_ [_ |) |_| N E T W O R K S |