Reply
Thread Tools
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#1
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)
 

The Following 20 Users Say Thank You to jonwil For This Useful Post:
Posts: 1 | Thanked: 0 times | Joined on Nov 2011
#2
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?
 
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#3
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.
 

The Following User Says Thank You to jonwil For This Useful Post:
Posts: 48 | Thanked: 32 times | Joined on Dec 2010 @ Russia, Moscow
#4
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
 

The Following User Says Thank You to Bad_Habit For This Useful Post:
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#5
@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?
 
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#6
hmmm, didnt think of the battery life. considerations. This plugin is getting more and more complex as people suggest stuff
 
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#7
Hmm, I will suggest to put battery life on the top of your priority list
 
Posts: 244 | Thanked: 354 times | Joined on Jul 2010 @ Scotland
#8
Originally Posted by jonwil View Post
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.
If that's the case, might it make more sense (following freemangordon's comment later in the thread) to define a min dB value to subsequently trigger a rescan rather than rescan every N seconds?

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.

Last edited by gregoranderson; 2011-12-01 at 10:56. Reason: Added offer to test
 
Posts: 561 | Thanked: 75 times | Joined on Jan 2010 @ Spain
#9
I usually use 6 wireless networks.

I like your idea saves time.

If I can help let me know.

Thanks for your work ..
 
Posts: 323 | Thanked: 180 times | Joined on Oct 2009 @ Gent, Belgium
#10
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
 

The Following User Says Thank You to Netweaver For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 15:14.