<div dir="ltr">Hi Siarhei, thanks alot for the tips, here are my findings:<br><br>2008/9/26 Siarhei Siamashka <span dir="ltr">&lt;<a href="mailto:siarhei.siamashka@gmail.com">siarhei.siamashka@gmail.com</a>&gt;</span><br><div class="gmail_quote">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">On Friday 26 September 2008, Benno Senoner wrote:<br>
&gt; Hi all,<br>
&gt; sorry for continuing an old discussion:<br>
&gt; <a href="http://lists.maemo.org/pipermail//maemo-developers/2008-February/032389.htm" target="_blank">http://lists.maemo.org/pipermail//maemo-developers/2008-February/032389.htm</a><br>
&gt;l<br>
&gt;<br>
&gt; I ugraded my N800 to the latest diablo image from nokia and I still have<br>
&gt; issues with the wi-fi connectivity dying in some situations:<br>
&gt; basically I have local GUI app on the n800 which communicates with a linux<br>
&gt; postgresql server on the same LAN<br>
&gt; (network is 802.11g 54mbit WEP 128bit).<br>
&gt; the problem is when I walk out of the access point&#39;s coverage area my app<br>
&gt; freezes when trying to issue an sql query (which is to be expected).<br>
&gt; when I get back within the wi-fi coverage area (let&#39;s say after 10-30secs)<br>
&gt; sometimes the app works again, sometimes I get the<br>
&gt; connection lost banner and then it reconnects and sometimes it disconnects<br>
&gt; from the wlan.<br>
&gt; if I reenable the wlan manually clicking on the network icon then after the<br>
&gt; wlan comes up my sql app starts working again, without the<br>
&gt; TCP connection to the SQL server breaking down.<br>
<br>
</div>Is manual reconnection always &#39;transparent&#39; for your application (albeit with<br>
delays) even if you try to issue sql queries when outside of wi-fi coverage<br>
area? Can you precisely describe steps that you do to reproduce problem in a<br>
more formal way (what you do, what you get, what you expect)?<br>
</blockquote><div><br>Basically this is a data entry app, a GUI with a listview, you press a button and <br>it performs an SQL query and it fills the data in the listview. the user can manipulate it locally<br>and then send the updated data back to SQL by pressing a button on the GUI.<br>
If I don&#39;t press any button (= no data transfered) and walk out of the wlan coverage area for let&#39;s say 1 min<br>and then return to the coverage area and try to use my application (pressing the button on the GUI which<br>
issues a SQL query), then often it does not work (react) anymore because the nokia lost the wlan connection and does not<br>automatically reconnect. if I reactivate the wlan using the wlan icon on the taskbar then my application after 10-30 sec wakes up.<br>
today I tried walking out of coverage area for 1-2min with the data entry app started but I did not perform any operations, when<br>I walked back within the coverage area the wlan connection died. it could probably be due to the fact that the SQL tcp connections sends<br>
some keep alive packets anyway even without the user not issuing any sql queries. reactivating the wlan connection with the taskbar<br>unfroze the app (although only after 20-30sec, which is a long time).<br>I find this behaviour totally unacceptable (that the nokia does not reconnect automatically when whitin coverage range as hinders the user<br>
reliably running such apps like data entry apps which are always on etc.<br>I am surprised that Nokia engineers did not test this in a more extensive way.<br>BTW my WLAN router is an asus wl-520gc<br><a href="http://www.asus.com/products.aspx?l1=12&amp;l2=43&amp;l3=0&amp;l4=0&amp;model=1672&amp;modelmenu=1">http://www.asus.com/products.aspx?l1=12&amp;l2=43&amp;l3=0&amp;l4=0&amp;model=1672&amp;modelmenu=1</a><br>
<br>but as I wrote in my old message a few months ago the same problems did occur using Buffalo wlan routers, so the problem is not the wlan router.<br><br>The operator of this data entry app is supposed to know nothing about the nokia, it starts at boot time and goes fullscreen so for me <br>
it is not an option expecting the user to restart the wlan manually each time he accidentally walks out of coverage area.<br>in the past I had the same data entry app running on a linux server which communicates with a windows ce ipaq which runs a small X11 server.<br>
and it worked flawlessly though more data is transmitted than in the case of the nokia.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
You can try to use tcpdump to watch all the TCP communication to get better<br>
understanding of the problem.</blockquote><div><br>thanks for the tip, what specifically should I do ? run tcpdump on the n800 before walking out of the coverage range ?<br>Anyway, I think analyzing the TCP flow is not the first step to do since as mentioned above the WLAN connection dies&nbsp; by merely walking<br>
out of coverage for 1-2min and when I return within the coverage range it does not reconnect automatically (sometimes it does but not always)<br>So perhaps I should first focus on the driver ?<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<div class="Ih2E3d"><br>
&gt; Siarhei suggested to recompile the cx3110x driver with a patch that retries<br>
&gt; to communicate (at that time it was for N770).<br>
<br>
</div>That&#39;s was a completely different problem (communication between different<br>
chips in your device and not TCP communication between some application over<br>
the network).</blockquote><div><br>the TCP communication between my GUI SQL app on the nokia and the server cannot<br>occur if the networking wlan connection dies outside coverage range and does not reconnect when I return<br>
within coverage range.<br>&nbsp;So I think it is something related either to the driver or the networking subsystem.<br>In network icon -&gt; connectivity settings&nbsp; there is a <br>Search interval combobox (default 10 minutes, minimum value to which you can set it is 5min).<br>
would it make sense to decrease this time (to a few secs using some system file or syscall) in order to the nokia trying to reconnect more often ?<br>or is there a better way to do it ?<br><br>when the wlan dies I seem to get this error in dmesg (on the nokia):<br>
[&nbsp; 328.460937] cx3110x: WARNING sm_drv_transmit: prism_softmac_frame_tx()&nbsp; returned error -9.<br><br><br>returning to the cx3110x patch, do you know which patch I should use to fix the problem you mentioned at that time (communication<br>
between chips). was the patch designed to work only for the N770 or does it work on the N800 too ? <br>Which version of the cx3110x sources should I use ? latest tarball or repository ?<br>if someone has a working patch could he kindly post it here ?<br>
<br>I even tried a WLAN auto reconnect script which was posted as follow up of my old message on maemo-developers but it does not work,<br>nothing happens, here is his old email with the script:<br>---------------------------------<br>

I have faced the same problem with rooming. In addition, my situation was complicated by presence of others wireless networks.<br>
So basicaly I&#39;m using sort of ping over UDP to determine existence/quality of wireless link.<br>
<br>
I&#39;m also using this simple script to force connection to specified
network ( and force disconnect before if it is actually connected to
wrong network ). You can easily adapt it to suit your needs ....<br>
<br>
#get authorized network name<br>
E3G_NET=`cat bindata/authorized_network`<br>
<br>
NET=`dbus-send --type=method_call --system --print-reply
--dest=com.nokia.icd /com/nokia/icd com.nokia.icd.get_ipinfo | grep
string | head -1 | cut -d&#39;&quot;&#39; -f2`<br>
if [ &quot;x$NET&quot; != &quot;x$E3G_NET&quot; ]<br>
then<br>
# &nbsp;echo disconnecting $NET ....<br>
 &nbsp;dbus-send --system --dest=com.nokia.icd /com/nokia/icd_ui com.nokia.icd_ui.disconnect boolean:true<br>
fi<br>
#echo connecting to #E3G_NET<br>
dbus-send --type=method_call --system --dest=com.nokia.icd /com/nokia/icd com.nokia.icd.connect string:&quot;$E3G_NET&quot; uint32:0<br>
<br>
Hope this can help ....<br>
<br>
&nbsp;Jan<br><font color="#888888">
--------------------------------------------<br></font><br>thanks again Siarhei and everyone for the informations and help, I hope we get this problem solved because <br>it will come handy to many.<br>best regards,<br>Benno<br>
<br></div></div><br></div>