Hi Tom, > I am in an environment where I have multiple hidden access points. One is > open, and two others have security enabled on them. If my user specifies > the ssid of the hidden access point he wants to connect to, I have no way of > telling which service path I need to call connect on, so I just pick > whichever hidden service appears first. This leads the agent to sometimes > prompting for the passphrase on the open one, or not being prompted on one > that has security (and then the connection fails). Is there a way to know > which service path my users ssid matches with before hand? Examples of the > service path for my hidden access points: > > /net/connman/service/wifi_8833144faa55_hidden_managed_wep > /net/connman/service/wifi_8833144faa55_hidden_managed_none > /net/connman/service/wifi_8833144faa55_hidden_managed_psk > > If all I have is a user supplied ssid (the user shouldn't have to know in > advance what kind of security it has, should he?) how do I select the correct > service path issue connect on?
that is the problem with hidden SSID and why it is such a broken concept. So what ConnMan actually tells you here that there are at least 3 hidden access points. It could be actually more than 3 as well. So if you have 2 open ones with SSID Foo and Bar, then will only show up as one object path. What you might have seen is that once you click connect, the agent callback will ask for the SSID to input from the user and if encrypted also for the passphrase or WEP key. The difference between WEP and PSK is actually most likely a nasty one for a UI interface. Since that is a level of details not many user know. So it would be better that you only get _open and _secure as the two object path. That would be easy to display to the user as "Hidden WiFi (open)" and "Hidden WiFi (secure)". The only problem with that is that it is one of the cases where underlying WiFi technology screws with us. We need to know this information up front. This is the same as when you click "Other..." on an iOS devices, you get to input the SSID and have to choose the security. And there is goes None, WEP, WPA, WPA2 etc. So that one is still one worse than what we have since we can handle the WPA and WPA2 nicely. So no need to know that difference. My advise is to have the user interface display "Open hidden WiFi", "Secure hidden WiFi" and "WEP encrypted hidden WiFi (I am a leftover from 2002)" and just accept that in the case you have a hidden WiFi with WEP encryption that you are in a real funny spot. And that your user experience goes down the drain. These are the two worst capabilities of WiFi at the moment. And I would wish we could remove both of these from the usage patterns. Please just keep in mind that if ConnMan finds no hidden network of any kind, it will not even present these object paths. Or if it only sees one or one type, it will be a single object path. So that already improves the usability and user experience a lot. If there is none, then it will not get in your way. And users know that a hidden WiFi network is around. Other OSes keep having the "Other..." option around all the time which is actually bad as well. Since the user can not tell if they are in range or not. Regards Marcel _______________________________________________ connman mailing list [email protected] https://lists.connman.net/mailman/listinfo/connman
