[Kde-hardware-devel] Wifi interface
Stefan Winter
swinter at kde.org
Wed Aug 16 18:05:12 CEST 2006
> Just a minute! Solid itself isn't a background process, it's just a
> library that wraps a backend. In the case of NetworkManager there is a
> daemon that runs all the time and Solid uses for information.
Ah, ok. Hm, my understanding is if you want to do anything WPA-related, even
WPA-PSK, you will always need to have something running constantly in the
background, because of re-keying issues etc. So, even if Solid is just a
library that passes things onto a backend, this backend needs to do the job
of keeping the WiFi connection up. Or better put, every backend that claims
to be able to handle WiFi must have a daemon that takes care of the ongoing
connection.
In an earlier post I wrote what I think is a way out for this: Solid could
provide a slot testConnectivity(), where backend implementations do their
stuff to find out if the connection still works (which means doing a ping in
IP networks, but it could be anything else on other networks). If you now add
some signal to inform of changes on ISO/OSI layer 2 (in the WiFi case:
APChanged() or similar), and connect the two together, you're through:
whenever something on the MAC layer changes, Solid asks the backend to check
if things still work alright. If not, either the backend or Solid take
action.
> Could you explain what it is that you want it to achieve and that pissed
> off your research project (coming from another ex wlan researcher)?
The idea of the project is to provide seamless roaming in [academic] WLAN
networks with strong authentication and encryption, i.e. WPA1/2-Enterprise
with mutual authentication methods like EAP-TLS, EAP-TTLS, PEAP-MSCHAPv2.
This in itself is already pretty hard to configure for a user. To keep the
barrier as low as possible, we'd like to have the user configure the stuff
only _once_ and then forget about it, but that requires that the SSID is the
same on each PoP (encryption and auth properties are tied to the SSID and if
the user would discover a new SSID he would have to go through the entire
stuff again).
I.e. the goal is to just open the laptop and wherever you are on the world,
you'll get an instant connection, just like you are used to with your cell
phone. [If you're curious, the credential verification is done with a
hierarchy of RADIUS servers and the usernames contain realms that enable us
to route your auth request to your home, wherever you are].
This is all fine and good and mostly works, but we face one problem: when two
of the eduroam PoPs are close to each other (but independent, i.e. different
IP subnets), and both emit "eduroam" as SSID, the client may jump back and
forth but will keep its IP address, subnet and default gateway because the IP
layer doesn't notice (or care) that something chagned. Connectivity is lost
if he's at the "wrong" PoP, and his client won't issue a new DHCP request
until it's lease has expired. And this is where testConnectivity() would jump
in, make the backend detect that something's wrong and issue a new DHCP
request (but that's of course the backend's job).
To get back to "what pissed us off": it took a time to realize that
a) some of our clients get really BAD connectivity, or none at all
b) to get around it we have to set non-obvious SSIDs on places where PoPs
overlap. Our current policy is that one of the overlapping sites can keep
eduroam as SSID, all others in the vicinity need to go
to "eduroam-institutionname" which is highly unsatisfactory for both users
(need to reconfigure) and admins (need to explain).
Greetings,
Stefan
--
The K Desktop Environment
- Stefan Winter -
Areas of Activity:
kdenetwork/wifi (KWiFiManager)
kde-i18n/de (German translation)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-hardware-devel/attachments/20060816/12eb5f35/attachment.pgp
More information about the Kde-hardware-devel
mailing list