Wifi Access Gadget v0.2.0

Stuff that has yet to be sorted into a category.
Post Reply
Message
Author
keenerd

Wifi Access Gadget v0.2.0

#1 Post by keenerd »

WAG - Wifi Access Gadget

Version 0.0.0
Basic diagnostic listing
Version 0.1.0
Interactive command buttons
Version 0.2.0
Interactive scanning
Public release
Verions 0.3.0
Multiple wifi profiles/config save
Under development

Use on laptops in order to easily insert and eject your wireless card.
Originally written because standby/sleep ruined the PCMCIA setep.
Choose and connect to networks that do not require a key.
Also stores connection info for one secure network.

WAG REQUIRES A WORKING WIFI CARD!
If you don't know exactly what must be typed in to make you wifi work,
do not use this software. If you're tired of typing the same commands
every time your laptop wakes up, then WAG is for you.

WAG MUST BE MANUALLY CONFIGURED!
Shift left click on the WAG icon to open (not run) the Rox App.
Shift left click on the script called AppRun to open in a text editor.
Near the top you will see 'User Configured Data'.
Set CARDSOC to the socket number your Wifi card uses (usually 0 or 1).
Set WLAN to the name of your Wifi card (usually wlan0 or eth0).
If you have to load a (single) module, enter its name in MODDATA.
Set WIFIIP to your preference of IP address. It will be used whenever
possible.
Finally, there is a user customizable button in the WAG interface.
When clicked, it will run a script in the WAG directory called 'manuwifi'.
By default the button is called 'Secure WLAN' and the script contains a
template for connecting to a single encrypted access point. However, it
can also be used to store a single gateway and DNS configuration.

USING WAG
The program is slow. There is nothing you can do about it.
It varies from card to card and driver to driver, but all the tests
and probing take time. Scanning for availible networks is done
automatically and may disconnect an existing connection.
On first use, you will be presented with much information.
Some of it may look bad, but may also be meaningless. By default WAG
will check for ndiswrapper. If you don't use ndiswrapper, don't worry
when it says 'Module ndiswrapper not running'.
Other messages require immediate attention. 'Wireless card not
active' is bad. 'Wireless card not responding' is also bad. To fix this,
click 'Reseat'. Reseat will eject the card, reinsert the card, and
attempt to connect to a nearby network. When the WAG dialog returns after
a moment or two, your card should work and it should report how many
networks are in range. To choose from these networks, click 'Scan' and
choose your Cell. You can not connect to encrypted networks
through Scan.

DEBUGGING
WAG may not work with you wireless card or drivers. It was written
by one guy with one PCMCIA card and three different drivers, so it is
likely to not work for you. If WAG doesn't work, or presents you with
incorrect diagnostic information, first check to make sure you properly
entered your configuration. You didn't make any mistakes, you'll need to
post some information in the Puppy Linux forum. Tell me what was
supposed to happen and what actually happened. Tell me what you must
type in manually to form a connection. Mention what you have set the user
variables to. What do you have in rc.local to make wifi work? Most
importantly, open the WAG folder and run the 'debug' script. It will
generate a file (debug.txt) that I must have in order to make WAG work for
you.

Suggestions for functionality and interface are greatly appreciated.
Attachments
WAG-0.2.0.gz
Wifi Access Gadget ver 0.2.0
(4.35 KiB) Downloaded 776 times

keenerd

#2 Post by keenerd »

Some screen shots of WAG in operation:

Image
Something is not quite right, let's click 'Reseat'

Image
I've connected to my test AP. It's not connected to the internet, but normally you would click 'Dhcp Toggle' next.

Image
Just choose your cell and go!

Guest

#3 Post by Guest »

OK that's great...but

to avoid confusion is there a way for it to work with the wifi package blackadder and myself have been working on. We have a wireless.conf file that is read by rc.wireless to bring up an interface on boot. Since no-one bothers to read the manual we really need an interface to do the config.

the wireless interface device can be got by reading

/proc/net/wireless (at least on 2.4 kernels I don't know about 2.6)


I think too that it would need to tell the diff between a driver brought by the pcmcia subsystem, those by ndiswrapper, those brought up by modprobing another module and those compiled into the kernel.

But good work, I'd just hate to see 2 projects for wireless config\setup and confusing users.

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#4 Post by Flash »

Bladehunter, have you posted the program you're working on? If so, what's its name and URL?

Edit: is this it?

keenerd

#5 Post by keenerd »

Bladehunter:

I think integrating with the conf would be pretty good. I'll take a look at it. Here are my present thoughts.

My main issue was not one of wireless configuration, as I never had to configure anything. I had hardware issues instead.

Every single time I closed my laptop, I lost my PCMCIA. I made a script that would reset it. Eject, insert, and re-dhcpcd. Then I manually command line to look for networks. My card would usually automatically connect to whatever it could find. I was using ndiswrapper at the time, and my ndis didn't support 'iwlist ap' or 'iwlist scan', so I was grateful for the zero connection configuration. A config at boot wouldn't help me at all.

Next, I try the second atheros build. The kernel atheros driver does scanning, so I add in the scan command. I'm still running the atheros/fb from the CD, and I'll try an Option 2 Upgrade soon. Until then, I'll keep the modprobe line for backwards compatability with my hard drive install. Maybe someone else will find it useful.

With the new kernel atheros drivers, a wireless boot conf doesn't help. PCMCIA still dies when the laptop goes into standby. And the fixed settings are no good when I need to connect to a random AP.

You've said yourself - your WifiBeta is not for people running your atheros/fb ISO. Therefore, I can only test it if I revert back to my original ndiswrapper configuration.

I do have a possible point of insertion for your script, assuming it can be run at times other than boot. There is an undocumented user configured script in WAG. It is named 'autowifi'. Right now it is blank, but WAG calls it whenever connecting to a network. Maybe autowifi could call rc.wireless?

Guest

#6 Post by Guest »

I know there is a whole list of iwpriv parameters for the madwifi driver.....But I haven't really looked into them and I think madwifi still has issues when unloading the modules.....you have to remove them one at a time.

I can take the madwifi kernel code out and have the driver as modules and redo the iso.....not such a great prob.

Or if you want to I'll upload a new kernel and ramdisk image so that you can remaster or run a type 1 install (which is great for testing). Would cut the download down to about 8 or 8.5 Meg.

But I think the close the laptop lose the connection is going to be an issue for a while.......unless there is a "hook" or "signal" the kernel gives on these events.

keenerd

#7 Post by keenerd »

Bladehunter, you are too generous. I only have to click twice and I'm online. It doesn't justify building whole kernel.

In months past, there has been some desire for a Net Stumbler sort of app. WAG aims to do that. You do have a lot of experience with Wifi, and I would really appreciate it if you could take a glance at my code. You'll find it quite funny. The documentation on ash is very vague, and most of the code was generated by trial & error. I still can't make a real if statement. The whole thing is nothing but null tests.

keenerd

#8 Post by keenerd »

Bladehunter, I looked at the wifi beta package. WAG is very similar, but works for arbitrary access points, assuming `iwlist scan` gives useful information. Maybe WAG could generate a wireless.conf and then calls rc.wireless? Is there anyway you could make rc.wireless call an arbitrary conf file? Otherwise, WAG would wipe out your previous settings.



It took me about half an hour to figure it out, but I can now write a real if statement. Expect a cleaned up version of WAG soon.

If you're curious, was was writing like this:

Code: Select all

TESTDATA="thisthat"
if ["$TESTDATA" = "thisthat"]; then
	xmessage -center "iffed!"
else
	xmessage -center "elsed!"
fi
And this code always branches to the else, regardless of input.

However,

Code: Select all

TESTDATA=""
if ["$TESTDATA" = ""]; then
would branch properly. So, I used null tests.

The error? Spaces! Proper form:

Code: Select all

if [ "$TESTDATA" = "thisthat" ]; then
In fact, you don't even need the spaces around the equals sign. Random.

Guest

#9 Post by Guest »

Bladehunter, I looked at the wifi beta package. WAG is very similar, but works for arbitrary access points, assuming `iwlist scan` gives useful information. Maybe WAG could generate a wireless.conf and then calls rc.wireless? Is there anyway you could make rc.wireless call an arbitrary conf file? Otherwise, WAG would wipe out your previous settings.
Yep like a profile type setup ?

Just have to make sure that the driver isn't reloaded that's all.

I was thinking of adding these variables to wireless.conf

IP_ADDRESS
IP_NETMASK
IP_GATEWAY
IP_DHCP
DRIVER

All pretty self explantry

DHCP takes either Y or N. A Y will overide the rest....There is some code in rc.wirless to bring up interfaces but they are not currently implemented.

I'll come up with a rough draft and post it up for you to look at.

keenerd

#10 Post by keenerd »

New version! Lots and lots of bug fixes. I let some really sad code out in the previous release. Scanning didn't work at all. I've tested everything, this one is fully functional.

Two new features. First, there is some basic integration with Wifi Beta. WAG checks for Wifi Beta and gives you the option to run it. Second, I've made the option buttons intelligent. If there is something you absolutely should not do, WAG will not let you do it. For example, if you don't have Wifi Beta, you can't try to run it. The button disapears. Also, the intelligent buttons give suggestions, by presenting in full caps. If your card is unresponsive, "Reseat" will instead say "RESEAT".
Attachments
WAG-0.2.1.gz
This one actually works.
(5.01 KiB) Downloaded 707 times

Post Reply