![]() |
New project: icd-wlan-priority, testers needed
I am about to start work on a project I call icd-wlan-priority. What is icd-wlan-priority I hear you ask? Its a way that will let you give a priority to all the WiFi networks you have connected to before. icd-wlan-priority will then ensure that at any given time (or more specifically each time a WiFi network scan is run) it will connect to the highest priority network out of all the networks (that you have seen before) that are currently visible to the phone.
How it will work is as follows: 1.There is a control panel. This will contain a check box to turn the priority feature on and off and a list of all the WiFi networks your phone has connected to before (or rather those that would be listed under "connections" in the "internet connections" control panel). Each network will have a priority assigned to it. This is just a number and can be anything (you could give one network a priority of 200 and another one a priority of 536 if you wanted to). Zero will mean "do not automatically connect to this network". 2.There will be a plugin that sits between the libicd_network_wlan plugin and the icd daemon and modifies what gets sent back and forth to implement the priority feature. 3.The plugin will maintain an internal list of all the WiFi networks you have connected to that is updated if you connect to a new network or if you use the control panel to adjust the priority of a given WiFi network. 4.As the normal WiFi scanning takes place, the plugin intercepts the results and checks them against the list of network priorities. If it detects you can see a higher priority network it will tell ICD to connect to that and disconnect from the current network. 5.If the network you are connected to goes out of range and is no longer visible to the phone, it will connect to the highest priority network it can see. If it can't see a network with a priority other than zero, it will not connect to any network. Like all my N900 work, this will be open source (LGPL specifically) What I need are testers who use multiple WiFi networks on a regular basis who can both grab some information/logs for me to help with the development and can then when its ready for testing test the plugin. Testers need to have access to/have connected to multiple WiFi networks. More specifically I need at least one person who: 1.Can see 2 or more WiFi networks (that their phone has joined before) at the same time. 2.Can also get into a position where they can see one of those networks but not the others and 3.Can move from an area where they only get cellular data into an area where they can see one or more of the WiFi networks they can connect to (the ones mentioned in #1 and #2) |
Re: New project: icd-wlan-priority, testers needed
Hello!
That sounds like a cool idea. A bit challenging to test though. I will try to give it a try maybe this weekend. I'm switching to a better AP, and that should allow to create the test conditions. Now, a few questions: 1. Could you filter by signal strength too? I use bluetooth headphones, and that creates an annoying effect: when just out of range of a known network, the phone keeps trying to connect, but fails. That creates internet connection issues and also messes up bluetooth audio (since it uses the same frequencies) 2. Any chance of this being ported for N9? |
Re: New project: icd-wlan-priority, testers needed
For signal strength, yeah, I can add an option "min signal strength" which will let you set a value in dB and if the network comes in with a dB value less than that, it will be ignored.
For N9, no, I dont own a N9 so unless someone else ports it, it wont happen. |
Re: New project: icd-wlan-priority, testers needed
That's a nice idea, also you could implement another checkbox: "Notify after connecting to this network". Well, you can just implement a checkbox for enabling/disabling /etc/network/if-*.d/*
And I've got a feature request: ability of assigning priority by ESSID (not by gconf UUID) - it will allow setting priority for free mobile providers APs. Actually I imagined myself automatically receiving a notification about reaching free wifi area on a long walk through the city ;) |
Re: New project: icd-wlan-priority, testers needed
@Jonwil - do I understand correctly that you will continue network scanning while connected to a network? Assuming yes how is that going to reflect on battery life? How often this scanning will occur?
|
Re: New project: icd-wlan-priority, testers needed
hmmm, didnt think of the battery life. considerations. This plugin is getting more and more complex as people suggest stuff :)
|
Re: New project: icd-wlan-priority, testers needed
Hmm, I will suggest to put battery life on the top of your priority list ;)
|
Re: New project: icd-wlan-priority, testers needed
Quote:
Obviously once you've scanned, you force a delay (possibly exponentially incremented) before you scan again should the dB value remain <= minimum. Edit - oh meant to say ; happy to test. I need two APs in my house (thick walls) for 100% connectivity. PITA having to swap. |
Re: New project: icd-wlan-priority, testers needed
I usually use 6 wireless networks.
I like your idea saves time. If I can help let me know. Thanks for your work .. |
Re: New project: icd-wlan-priority, testers needed
Hi,
This is exactly what i was after. I was even having wilder dreams. Also include 3G. Advanced mode using mac address of AP, allow a 'per connection' entry string to pass to CURL this to allow auto logon into captive portals. I would be in perfect position to test this but i broke my wrist Mon night and i'm nowhome bound for 6 weeks. Still i can play around using my and my neighbours wifi. Thanks for developping this. Geert |
Re: New project: icd-wlan-priority, testers needed
That's the feature that was missing! Thanks!
I'll be glad to test it. |
Re: New project: icd-wlan-priority, testers needed
Hi,
I use several wi-fi connections at home and at work. I will be happy to test this for you. Regards, Eduardo |
Re: New project: icd-wlan-priority, testers needed
ok, so going through these posts, things I will probably implement:
1.Some sort of minimum signal strength setting, not sure exactly how yet. 2.An optional shell script that will be run for each AP on connect that can do whatever you want such as displaying a notification or running a curl instance. 3.For scanning, I need to find out how wlancond and libicd-network-wlan report signal strength and detect that the network you are on is no longer visible and figure out how I can implement the "detect a higher priority WiFi network and connect to it" feature. 4.Not sure exactly how I can do priority-by-essid easily Have to figure out the best way to make all this configurable in a way that's easy to use... Must verify if lower dB means lower signal strength or higher signal strength. Not going to do anything with /etc/network/if-*.d/ or with 3G either as my project only touches the WiFi plugin and not icd2 itself. All these feature requests and options and things are making the complex more and more complex which is exactly what my copy of "User Interface Design for Programmers" says NOT to do :) As for the offers of testing (and providing useful logs), great, what I need done at this point is this: 1.Grab http://www.cncmods.net/files/icd-wlan-log.zip 2.Rename /usr/lib/libicd_network_wlan.so to libicd_wlan.so 3.Put my libicd_network_wlan.so into /usr/lib (source is included if you want to see what it does) 4.Reboot the phone to get the new logs going 5.Go to an area where there are at least 2 networks you have connected to before 6.Go to a point outside those networks where you are not connected to WiFi but instead to 2G/3G. 7.Open up xterm on the phone and delete /home/user/wlan.log so you start the test with a clean slate. 8.Move into the range of the WiFi networks 9.Wait for it to connect to WiFi. 10.Move such that you can see a different WiFi network. It should stay connected to the one you first connected to 11.Move out of range of the WiFi network you are connected to whilst still being in range of another one you can connect to automatically. It should switch and connect to that one. 12.If you can, move from where you are to an area with an AP that you can switch off (whilst still being in range of another AP) and connect to the one you can switch off. Then turn off that AP and note whether it connects to WiFi or to 3G, then 12.Move from there back to an area with only 3G visible, it should disconnect from WiFi. 13.Having done this, copy /home/user/wlan.log to some other file. Then delete libicd_network_wlan.so, rename libicd_wlan.so back to libicd_network_wlan.so and reboot the phone again. Then I need the wlan.log file you copied. Any other testing you want to do would also be appreciated, but please make a note of what steps you took in the testing. I am trying to make sure I fully understand the communications between icd2 and libicd-network-wlan in the various possible circumstances so that I can figure out the best way to implement icd-wlan-priority. |
Re: New project: icd-wlan-priority, testers needed
Quote:
Neither it is on /lib. Any idea? |
Re: New project: icd-wlan-priority, testers needed
oops, that should have been /usr/lib/icd2 and not /usr/lib. So all lib files should go in /usr/lib/icd2
|
Re: New project: icd-wlan-priority, testers needed
/usr/lib/icd2
nicolai |
Re: New project: icd-wlan-priority, testers needed
Thanks for your answers jonwil and nicolai.
I made a first try and it is not connecting to any wireless network. Neither automatically nor manually (actually, I don't even get the window with the available networks to pick one). Neither I have the /home/user/wlan.log file. |
Re: New project: icd-wlan-priority, testers needed
you should have /usr/lib/icd2/libicd_network_wlan.so (my file) and /usr/lib/icd2/libicd_wlan.so (the Nokia file).
Try doing lsof in xterm to see that icd2 has loaded both .so files. |
Re: New project: icd-wlan-priority, testers needed
OK. So that's the problem. I renamed Nokia's file to some other name, not exactly what you proposed.
Unluckily my N900 ran out of battery, so I'll have to wait until I can re-charge it again. :-( |
Re: New project: icd-wlan-priority, testers needed
I finally made it work. I sent you the log file in a private message.
|
Re: New project: icd-wlan-priority, testers needed
Quote:
If anyone wants to try it in N9, the field is called "priority" in IAP settings in gconf. Field type is integer and higher value means higher priority. |
| All times are GMT. The time now is 13:28. |
vBulletin® Version 3.8.8