WLAN Horrible Roaming Performance (N800, OS2008), Software or Hardware Problem ?

Benno Senoner benno.senoner at googlemail.com
Fri Sep 26 02:18:57 EEST 2008


Hi all,
sorry for continuing an old discussion:
http://lists.maemo.org/pipermail//maemo-developers/2008-February/032389.html

I ugraded my N800 to the latest diablo image from nokia and I still have
issues with the wi-fi connectivity dying in some situations:
basically I have local GUI app on the n800 which communicates with a linux
postgresql server on the same LAN
(network is 802.11g 54mbit WEP 128bit).
the problem is when I walk out of the access point's coverage area my app
freezes when trying to issue an sql query (which is to be expected).
when I get back within the wi-fi coverage area (let's say after 10-30secs)
sometimes the app works again, sometimes I get the
connection lost banner and then it reconnects and sometimes it disconnects
from the wlan.
if I reenable the wlan manually clicking on the network icon then after the
wlan comes up my sql app starts working again, without the
TCP connection to the SQL server breaking down.
Siarhei suggested to recompile the cx3110x driver with a patch that retries
to communicate (at that time it was for N770).
now the question is: is this patch already integrated in the cx3110x code
which comes with the latest diablo release or not ?
is there an updated patch which is specific for the n800/n810 running on
diablo ? or was it integrated in the latest cx3110x ?
if yes should I use the repository code or the latest tarball ?

Keep in mind that I am running sliderotate, a tool which allows to rotate
the screen by 90degrees
http://www.internettablettalk.com/forums/showthread.php?t=19447
I installed it using the install script and after installation the
sliderrotate setup app allows to update the kernel
in order to allow support for screen rotation with xrandr. the setup app
automatically downloads and installs the modified kernel.
(not sure what the modifications are in this case or if it is simply a
standard kernel with some options turned on)
now the question is: in order to compile the cx3110x driver what kind of
kernel headers do I need to install in order to compile it for the
kernel with screen rotation enabled ?

Or is there a simpler method to allow automatic (fast) reconnect of the wlan
when I get back into the wlan coverage area ?

thanks in advance for informations, if you need me to perform some tests on
the n800 or provide additional feedback I'll gladly do it.
best regards,
Benno



2008/2/18 Siarhei Siamashka <siarhei.siamashka at gmail.com>

> On Feb 14, 2008 8:43 AM, Kalle Valo <kalle.valo at nokia.com> wrote:
> [...]
> > > other users reported it too as Luca Olivetti pointed out. and it
> > > seems like the problem and fix is described here:
> > >
> > >
> http://internettablettalk.com/forums/showpost.php?p=134914&postcount=15
> > >
> > > at least for the 770 the fix seems to exist,
> >
> > What I read from the link, someone had written a workaround to try
> > again whenever the chip is responding. That would good a feature, but
> > I would like to get more information about what's happening in this
> > case.
>
> I'm sorry. For some unknown reason, I thought that I notified you
> about this problem long ago, but appears that we only discussed this
> issue privately with Frantisek Dufka :(
>
> I encountered this problem when I was checking what is the maximum
> McBSP clock frequency that could be used reliably on Nokia 770 to
> speed up WLAN performance. To do this stability test, I just put the
> device on charger, established wlan connection and started a test
> script which repeatedly executed wget to download a large file, piping
> it to md5sum and verifying that the file always gets received
> correctly. That's probably one of the most simple stress tests that
> can be done :)
>
> People on ITT, who are suffering from this disconnection problem are
> running bittorent client software which probably stresses network to a
> much higher extent.
>
> Having kept this simple test running, I noticed that wlan network is
> getting stuck eventually. Sometimes very soon and sometimes after a
> long time. Checking dmesg log revealed the following lines:
> [84936.145721] We haven't got a READY interrupt from WAKEUP. (firmware
> crashed?)
> [84940.419342] TX dropped
> [84940.419433] TX dropped
>
> The symptoms are similar to what other people reported as
> https://bugs.maemo.org/show_bug.cgi?id=329
>
> Initially I thought that it was the effect of overclocking, but could
> reproduce the problem even after going back to the standard frequency.
>
> With a simple patch that just retries operation on such error,
> wireless connection got stable. After a long test with the test
> script, no problems were detected. The following lines could be
> occasionally seen in dmesg log and it  proves that there were
> potential connection drops encountered, but they all did not cause any
> troubles in reality (MD5 of downloaded file was always OK):
> [50559.494232] Dynamic PSM
> [50559.494323] PSM timeout 1000 ms
> [50622.038146] We haven't got a READY interrupt from WAKEUP. (firmware
> crashed?)
> [50622.038269] Try again...
> [50622.038330] succeeded!!!
>
> I'm attaching the same patch here. It is not very clean, but it does
> the job (for Nokia 770).
>
>
> And I have encountered other problems with WLAN driver that are yet to
> be solved. For example, sometimes speed drops to ~30KB/s (that's still
> an unresolved mystery to me). Also CPU usage is very high because of
> busyloop when waiting till DMA transfer is done. Tasklet, which
> executes the code can't be easily preempted, as far as I understand
> kernel documentation. Maybe it is possible to split tasklet into
> several parts, one of them could be responsible for initiating DMA
> transfer, the other could be activated on DMA transfer completion?
> This all is important for video streaming as any excessive CPU
> resources consumption by WLAN driver negatively impacts video playback
> performance.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://garage.maemo.org/pipermail/cx3110x-devel/attachments/20080926/48a11072/attachment.htm 


More information about the cx3110x-devel mailing list