[maemo-developers] WLAN Horrible Roaming Performance (N800, OS2008), Software or Hardware Problem ?

From: Benno Senoner benno.senoner at googlemail.com
Date: Sat Feb 2 18:06:11 EET 2008
Hi all,

I am trying to solve a big WLAN roaming problem which the N800 experiences
and I think it is of
interest to many as good WLAN responsiveness for the N800(and successors) is
the key
for smooth user experience, so please chime in with your experiences, ideas
how to solve
those problems etc.

Some background:

As WLAN access points we use 2 Buffalo Technology WHR-HP-AG108
http://www.buffalo-technology.com/products/wireless/wireless-ag-mimo-performance/wireless-ag-mimo-performance-broadband-router-and-access-point-with-high-gain-antenna/
using only the 802.11g radio (802.11a is disabled)

We are trying to use the N800 with OS2008 for a data entry application which
runs on
a linux server. Basically in order to keep things simple we run the maemo
vncclient
on the N800 and the linux server simply provides a 800x480 VNC screen where
the app runs in. It works fine and the speed is more than adequate BUT
since the area the data entry operators work in cannot be covered by a WLAN
single access point
we set up 2 APs on different frequences (for example 1 and 11).

The problem we have is that even though within the working area you always
get a strong signal
from at least 1 AP the N800 sometimes behaves very erratic.
For example when moving from AP1 to AP2
It seems like the N800 tried to stay associated as long as possible with
AP1 even though
AP2 is much stronger and AP1 can barely exchange any data at all with the
N800 as it
is at the border of the coverage area.
VNC will become very slow and impossible to work with. Sometimes it takes
1-2 minutes
for the nokia to realize that it should roam, totally unacceptable for
smooth operation.

I disable wlan power saving (in the maemo control panel)
in order to avoid problems when the n800 wakes up from standy,
keep in mind the operators move alot on the area and often they will not
touch the
n800 for several minutes.
I even ping the IPs of the n800 from the linux server in order to make sure
that they don't sleep.

Sometimes it even happens that the operator when roaming and wanting to use
the N800
the VNC session got stuck and nothing works, so he has to power cycle it.

VNC uses a single TCP socket to exchange data between server and client.
The question is could it be that the socket remains stuck due to the roaming
and is not able
to recover ? I could try to add an external watchdog which keeps a socket
open with the server
and in case that this happens restart the vnc client, but I am not sure if
this will work.

Keep in mind that using a Windows laptop and the same vnc client code in the
same area
where the N800 are employed works perfectly,
so the network coverage, bandwidth and server speed is excellent.

I tried to install wireless-tools and play with both
iwconfig sens (sensivity) parameter
http://maemo.org/development/documentation/man_pages/iwconfig.html

and with
iwpriv  parameters:
http://maemo.org/development/documentation/man_pages/iwpriv.html

testing the follwing commands:
set_scanthres (scan threshold) and  set_scanint (scan interval)

iwconfig sens seems to have no effect at all

iwpriv set_scanthres as well does not seem to produce any improvement
(tried with values ranging from -100 to 0)

set_scanint  seems to make some difference but it does not solve the
problem.
the default value is 60000 which means as far as I understand that the wlan
card in the N800
tries to scan for new APs each 60 secs.
I tried to lower this value to 25000 , it sometimes leads to faster roaming
but since
the scanning takes about 1 sec it is very disturbing that during that time
you cannot
transmit any data (because the radio tries all frequencies from 1 to 11) and
the VNC GUI
thus freezes.
Is it possible to specify which frequencies the N800 should scan when
roaming ?
i think this is a very important feature as it can speed up roaming speed
considerably.
There are only 3 non overlapping frequencies anyway (1,6,11) and usually 2
frequencies
are enough so if the n800 had a setting  scanfrequencies=1,11 we could scan
much more
frequently without disrupting the data flow for a long time.
if the seleciton of scan frequencies is not implemented in maemo yet please
do it ASAP
as it make it more smooth to use of the N800 in larger WLANs.

Any other wlan software parameters that I perhaps missed which could improve
the situation.

So any idea how to make sure that the N800 roams smoothly ?

What are your experiences ? I can change the access point model without
problem if you
tell me what access points provide good roaming performance in conjunction
with the N800.
Any access points brands,models which gave you good experience while roaming
?

years ago I used a HP IPAQ and regular 802.11g access points (DI serie) and
the roaming
was excellent, so I can hardly believe that Nokia did not do its homework
and did not
think about this problem.
After all the N800 is an internet tablet and good and smooth WLAN
connectivity is the key
selling point for smooth internet experience.

Imagine if an N800 user roams through an university campus and wants to
listen
web radio or stream a video from the web. If the N800 behaves like in my
case
(which is a simple network with 2 APs) the radio and the vide owill
constantly freeze
leaving the user pissed off.  The same happens if the user wants to use
some VOIP client like skype, SIP clients etc.
I know that for pure web page viewing roaming speed is not that important
but
the N800 is a multimedia tablet and smooth multimedia performance is a must.

I hope the N800 hardware is not flawed and that a fix can be found,
thanks everyone in advance for your advices and help !

I think this kind of roaming performance tuning is important to many others
too
and I hope that they can profit from the discussion that will come out too.

best regards,
Benno
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maemo.org/pipermail/maemo-developers/attachments/20080202/33615f6f/attachment.htm 
More information about the maemo-developers mailing list