Description: If this app segfaults, please mail the output of "iwlist scan", "iwconfig" and the contents of "/proc/net/wireless". It's important for improvement, as I don't have access to a lot of wlan-cards. If it fails to build, please mail me the output of the "make" process, along with distro/compiler-version. Thanks in advance
Waveselect was first thought of as a replica of the Windows XP wlan-connection tool. It makes it a snap to discover local wlans, and connect to them. It depends on QT-3.x (3.3.3 was used to develop it), and wireless-tools (iwlist, iwconfig). It should work with every card that works with wireless-tool. Use of the great KNemo-tool: ( HTTP://kde-apps.org/content/show.php?content=12956 ) as a companion is recommended, for extra comfort.
Future releases of waveselect will support more features, as long as it can be implemented while still keeping a simple and easy GUI. So please hammer me with all the things you think suck about the UI. (user-friendlyness is high priority)
Features planned for future releases: - Profile-creation for often used AP's (home/work/school/etc) - Automatically roaming between AP's defined by a profile - Integration with kismet/gpsd/mysql, for showing ESSID's kismet have previously decloaked. - Support alternative dhcpd-clients other than dhcpcd - Support for non-dhpcd networks. Letting the user specify ip, gateway, dns, proxy, etc. manually. - Configure-dialog for specifying paths etc. - KDE integration (KDE-classes, KDE-systray))
This tool must be run as root, unless your user have access to change driver-parameters with iwconfig, and start dhcpcd.Last changelog:
v0.1.2 - GUI improvements. Options are no longer available if no network is selected. Also beautify the "scan-results" if no networks are found. - Do an "ifconfig up" on the selected device before scanning. (some?) cards using the madwifi-driver does not return scan-data unless this is done (reported by TMS) - Instead of killing all dhcpcd instances before associating, check if the /var/run/dhcpcd-.pid exists. If it does, get the pid of the cards current dhcpcd-process from this file, and kill only this process. If file does not exist, assume dhcpcd is not running for the card. (reported by TMS) - This time, it handles a notebook with several wlan-cards better. In fact, it handles them at all. - Improved parsing once again to make it even more fault-tolerant. Don't know about any way to segfault it now. But if you find one, be sure to mail me and let me know. - Manage encryption-settings better. It will now manage to set four different encryption keys. You select which one should be the transmitted key, by selecting the key you want to be active in the "key index" combo-box before pressing associate. - The "security-mode" option was actually connected to code this time, so it will now have effect.
Paths to ifconfig, iwconfig, iwlist, kill and dhcpcd are hardcoded. Theese paths will match the Gentoo-distribution. If your distro use others, it should be a breeze to grep the dlgmain.ui.h file, and replace them to suit your settings. Although, this is not a permanent solution!!
I nearly had the v0.2.0 complete, which was a MAJOR improvement compared to this version. Rewritten using the KDE libraries, proper build system, cleaned up UI, and lots of new functionality. Unfortunately I lost the sourcecode before I finished it for release. Currently I'm not working on this project. See a lot of "new" similar apps have appeared after this one.
But I have not given up I guess. I really want to do this program, because I have plenty of GREAT power-user ideas I've never seen in any other similar apps do.
If I ever do a rewrite, (which I hope I do), It'll probably wait for KDE4, and I will probably start with it Christmas 2007. (due to work issues)
The "Just around the corner" release went down the drain when my laptop-screen took a capital hit from airline handling.. I have not forgot about the project though, and I'm still working on it from time to time when I have free time. Won't promise anything about the next release, but 0.2 will be released "sometime in the future", as it's almost ready..
Don't know what's going on there. Back in the army from my christmas-leave now. Will try to correct the issues asap, but probably it'll take a day or two. The new version 0.2 is "just around" the corner also, supporting a bunch of bugfixes, a proper build-system, no more hardlinked binary paths, support for dhcpcd, pump, dhcilent, etc,etc..
use some configure tool. the tool does not compile at all for now. I've changed moc/gmake.conf/qt header path on every file you have even on some system headers and it still does not compile.
It helps if you tell what distro you're trying to compile it on...compiled fine under Suse 9.2 after I made the changes I indicated (the qt path and using -lqt-mt instead of -lqt which is for qt multi threaded)
Oh...and the only changes I made were to the Makefile for path and the -lt...I did change the path of killall in a file with a ui.h extension from /bin to /usr/bin
I haven't tried it yet, but what comes to my mind is the huge diversity of wlan implementations considering the different drivers, userspace scripts and distribution dependant rc-scripts.
Gentoo has a very good wlan script that allows easy configuration and fullfills nearly all needs (it's currently unstable). Other distributors have different solutions.
So my point is: it will be fairly easy to scan for access points through iwlist, etc, but how do you want to save the configuration the user selects? By dealing with distribution specific implementations or by creating your own interface for this.
Imho none of these is a clean solution, but I don't expect the distributors to agree on a standardised way for their configurations (I don't know when LSB will be reality).
I really like the idea of this but I doubt that it will fit perfectly into existing distributions.
Yeah that's a challenge. For myself, I ignore the distro-way of bringing up my wlan-card. I'm using gentoo-scripts for my ethernet-card, but use my wlan-card manually with dhcp. Your point is a good one, things might change, but trying to support every distro might be a challenge. Might look a bit into how pcmcia-cs works. IIRC, they support quite a few distros native methods for dealing with bringing cards up/down.
To compile on Suse 9.2 all references in makefile to:/usr/qt/3/mkspecs/linux-g++/have to be changed to:/usr/lib/qt3/mkspecs/linux-g++ however I still got the following compile error:g++ -c -pipe -Wall -W -O3 -mcpu=i686 -DQT_NO_DEBUG -I/usr/lib/qt3/mkspecs/linux-g++ -I. -I. -I/usr/lib/qt3/include -o moc_dlgmain.o moc_dlgmain.cppg++ -Wl,-rpath,/usr/lib/qt3/lib -o waveselect main.o strings.o wlans.o dlgconnect.o dlgmain.o moc_dlgconnect.o moc_dlgmain.o -L/usr/lib/qt3/lib -L/usr/X11R6/lib -lqt -lXext -lX11 -lm/usr/lib/gcc-lib/i586-suse-linux/3.3.4/../../../../i586-suse-linux/bin/ld: cannot find -lqtcollect2: ld returned 1 exit statusmake: *** [waveselect] Error 1i4000:/home/famewolf/waveselect # Not sure how to fix this one....
Ratings & Comments
15 Comments
Is the project alive? Or what would you recommend as an alternative for Qt4 or KDE4?
Hey there, I can't download wave select. Seems to be a dead link. Do you got an alternative link? Thanks, Ron
I nearly had the v0.2.0 complete, which was a MAJOR improvement compared to this version. Rewritten using the KDE libraries, proper build system, cleaned up UI, and lots of new functionality. Unfortunately I lost the sourcecode before I finished it for release. Currently I'm not working on this project. See a lot of "new" similar apps have appeared after this one. But I have not given up I guess. I really want to do this program, because I have plenty of GREAT power-user ideas I've never seen in any other similar apps do. If I ever do a rewrite, (which I hope I do), It'll probably wait for KDE4, and I will probably start with it Christmas 2007. (due to work issues)
Any idea how things are going? how about a link to the old sources? The program looks wonderful but I haven't seen anything in a while. Bobby
The "Just around the corner" release went down the drain when my laptop-screen took a capital hit from airline handling.. I have not forgot about the project though, and I'm still working on it from time to time when I have free time. Won't promise anything about the next release, but 0.2 will be released "sometime in the future", as it's almost ready..
The kernelpanic.no link appears to be down. Does anyone have this on a mirror?
Don't know what's going on there. Back in the army from my christmas-leave now. Will try to correct the issues asap, but probably it'll take a day or two. The new version 0.2 is "just around" the corner also, supporting a bunch of bugfixes, a proper build-system, no more hardlinked binary paths, support for dhcpcd, pump, dhcilent, etc,etc..
I'm running FedoraCore 3 on an IBM Thinkpad A30p with the built-in wireless card. You asked for feedback if it didn't work. Here goes: [root@a30p kifi-0.2.4]# iwlist eth1 scan eth1 Interface doesn't support scanning : Operation not supported [root@a30p kifi-0.2.4]# iwconfig eth1 IEEE 802.11-DS ESSID:"Quantum_Network" Nickname:"Prism I" Mode:Managed Frequency:2.437 GHz Access Point: 00:06:25:C0:0A:39 Bit Rate:11 Mb/s Tx-Power=15 dBm Sensitivity:1/3 Retry min limit:8 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=28/92 Signal level=-89 dBm Noise level=-144 dBm Rx invalid nwid:0 Rx invalid crypt:63 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 [root@a30p kifi-0.2.4]# more /proc/net/wireless Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 16 eth1: 0000 28. 166. 112. 0 63 0 0 0 0 Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 16 eth1: 0000 28. 166. 112. 0 63 0 0 0 0
use some configure tool. the tool does not compile at all for now. I've changed moc/gmake.conf/qt header path on every file you have even on some system headers and it still does not compile.
It helps if you tell what distro you're trying to compile it on...compiled fine under Suse 9.2 after I made the changes I indicated (the qt path and using -lqt-mt instead of -lqt which is for qt multi threaded)
Oh...and the only changes I made were to the Makefile for path and the -lt...I did change the path of killall in a file with a ui.h extension from /bin to /usr/bin
I haven't tried it yet, but what comes to my mind is the huge diversity of wlan implementations considering the different drivers, userspace scripts and distribution dependant rc-scripts. Gentoo has a very good wlan script that allows easy configuration and fullfills nearly all needs (it's currently unstable). Other distributors have different solutions. So my point is: it will be fairly easy to scan for access points through iwlist, etc, but how do you want to save the configuration the user selects? By dealing with distribution specific implementations or by creating your own interface for this. Imho none of these is a clean solution, but I don't expect the distributors to agree on a standardised way for their configurations (I don't know when LSB will be reality). I really like the idea of this but I doubt that it will fit perfectly into existing distributions.
Yeah that's a challenge. For myself, I ignore the distro-way of bringing up my wlan-card. I'm using gentoo-scripts for my ethernet-card, but use my wlan-card manually with dhcp. Your point is a good one, things might change, but trying to support every distro might be a challenge. Might look a bit into how pcmcia-cs works. IIRC, they support quite a few distros native methods for dealing with bringing cards up/down.
To compile on Suse 9.2 all references in makefile to:/usr/qt/3/mkspecs/linux-g++/have to be changed to:/usr/lib/qt3/mkspecs/linux-g++ however I still got the following compile error:g++ -c -pipe -Wall -W -O3 -mcpu=i686 -DQT_NO_DEBUG -I/usr/lib/qt3/mkspecs/linux-g++ -I. -I. -I/usr/lib/qt3/include -o moc_dlgmain.o moc_dlgmain.cppg++ -Wl,-rpath,/usr/lib/qt3/lib -o waveselect main.o strings.o wlans.o dlgconnect.o dlgmain.o moc_dlgconnect.o moc_dlgmain.o -L/usr/lib/qt3/lib -L/usr/X11R6/lib -lqt -lXext -lX11 -lm/usr/lib/gcc-lib/i586-suse-linux/3.3.4/../../../../i586-suse-linux/bin/ld: cannot find -lqtcollect2: ld returned 1 exit statusmake: *** [waveselect] Error 1i4000:/home/famewolf/waveselect # Not sure how to fix this one....
had to change "-lqt" to "-lqt-mt" and it compiled.