maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Nokia N810 (https://talk.maemo.org/forumdisplay.php?f=28)
-   -   Poor wifi performance? (https://talk.maemo.org/showthread.php?t=12898)

ag2 2007-12-09 01:25

Poor wifi performance?
 
If I ping my router from N810, I see fairly substantial delays:

/home/user # ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: seq=0 ttl=64 time=8.6 ms
64 bytes from 192.168.0.1: seq=1 ttl=64 time=17.7 ms
64 bytes from 192.168.0.1: seq=2 ttl=64 time=17.7 ms
64 bytes from 192.168.0.1: seq=3 ttl=64 time=17.7 ms
64 bytes from 192.168.0.1: seq=4 ttl=64 time=67.9 ms
64 bytes from 192.168.0.1: seq=5 ttl=64 time=59.3 ms
64 bytes from 192.168.0.1: seq=6 ttl=64 time=41.8 ms
64 bytes from 192.168.0.1: seq=7 ttl=64 time=42.0 ms
64 bytes from 192.168.0.1: seq=8 ttl=64 time=44.9 ms
64 bytes from 192.168.0.1: seq=9 ttl=64 time=43.6 ms
64 bytes from 192.168.0.1: seq=10 ttl=64 time=103.1 ms
64 bytes from 192.168.0.1: seq=11 ttl=64 time=44.0 ms
64 bytes from 192.168.0.1: seq=12 ttl=64 time=44.9 ms
64 bytes from 192.168.0.1: seq=13 ttl=64 time=60.6 ms

I am literally 10 feet away from the router. Occasionally, there is also packet loss.

ifconfig reports some TX errors:

wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx
inet addr:192.168.0.80 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2525 errors:0 dropped:0 overruns:0 frame:0
TX packets:1379 errors:14 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1209590 (1.1 MiB) TX bytes:329245 (321.5 KiB)

For comparison, my Ubuntu laptop has a consistent ping time of 1.2 ms.

Things are even worse when pinging N810 from another device on the local network.

ping 192.168.0.80
PING 192.168.0.80 (192.168.0.80) 56(84) bytes of data.
64 bytes from 192.168.0.80: icmp_seq=1 ttl=64 time=168 ms
64 bytes from 192.168.0.80: icmp_seq=2 ttl=64 time=81.7 ms
64 bytes from 192.168.0.80: icmp_seq=3 ttl=64 time=107 ms
64 bytes from 192.168.0.80: icmp_seq=4 ttl=64 time=130 ms
64 bytes from 192.168.0.80: icmp_seq=5 ttl=64 time=153 ms
64 bytes from 192.168.0.80: icmp_seq=6 ttl=64 time=74.7 ms
64 bytes from 192.168.0.80: icmp_seq=7 ttl=64 time=98.1 ms
64 bytes from 192.168.0.80: icmp_seq=8 ttl=64 time=123 ms
64 bytes from 192.168.0.80: icmp_seq=9 ttl=64 time=147 ms
64 bytes from 192.168.0.80: icmp_seq=10 ttl=64 time=67.6 ms

This is pretty bad. I wonder if the problem is specific to my device, or if all N810's are affected. If anyone has root access, can you please ping your router a few times and post the results in this thread?

Thanks!

sparkling 2007-12-09 02:43

Re: Poor wifi performance?
 
Similar here: PC ping time 2ms, N810 ping 18ms or longer.

zerojay 2007-12-09 06:00

Re: Poor wifi performance?
 
The tablet's a much slower machine than your PC is, so it's normal that a ping is longer. Also, if you have QoS, it's possible that your ping packets are receiving lower priority than it really takes to go back and forth to the server, throwing the numbers off completely.

Moonshine 2007-12-09 06:12

Re: Poor wifi performance?
 
FWIW, I see 10-25ms ping times to my wifi router. I wouldn't worry about slightly elevated times, but packet loss is another story. You might want to try another wifi channel or see if any form of "turbo" mode can be disabled.

technut 2007-12-09 06:37

Re: Poor wifi performance?
 
N800 here, running OS2008 beta.

When pinging tablet to PC, I get times between 2.5 to 68ms, but mostly around 15ms.

However, when pinging PC to tablet, I'm seeing a pattern of increasing ping times up to 100ms or so, then the patterns starts over again. Nothing else running on the N800. Good Wi-Fi signal. And the pattern is unique to pinging the tablet, nothing else.

Weird.

Quote:

Pinging 192.168.1.121 with 32 bytes of data:

Reply from 192.168.1.121: bytes=32 time=24ms TTL=64
Reply from 192.168.1.121: bytes=32 time=32ms TTL=64
Reply from 192.168.1.121: bytes=32 time=54ms TTL=64
Reply from 192.168.1.121: bytes=32 time=78ms TTL=64
Reply from 192.168.1.121: bytes=32 time=101ms TTL=64
Reply from 192.168.1.121: bytes=32 time=20ms TTL=64
Reply from 192.168.1.121: bytes=32 time=44ms TTL=64
Reply from 192.168.1.121: bytes=32 time=67ms TTL=64
Reply from 192.168.1.121: bytes=32 time=90ms TTL=64
Reply from 192.168.1.121: bytes=32 time=10ms TTL=64
Reply from 192.168.1.121: bytes=32 time=33ms TTL=64
Reply from 192.168.1.121: bytes=32 time=56ms TTL=64
Reply from 192.168.1.121: bytes=32 time=79ms TTL=64
Reply from 192.168.1.121: bytes=32 time=102ms TTL=64
Reply from 192.168.1.121: bytes=32 time=22ms TTL=64
Reply from 192.168.1.121: bytes=32 time=45ms TTL=64
Reply from 192.168.1.121: bytes=32 time=68ms TTL=64
Reply from 192.168.1.121: bytes=32 time=91ms TTL=64
Reply from 192.168.1.121: bytes=32 time=11ms TTL=64
Reply from 192.168.1.121: bytes=32 time=33ms TTL=64
Reply from 192.168.1.121: bytes=32 time=56ms TTL=64
Reply from 192.168.1.121: bytes=32 time=78ms TTL=64
Reply from 192.168.1.121: bytes=32 time=100ms TTL=64
Reply from 192.168.1.121: bytes=32 time=20ms TTL=64

Ping statistics for 192.168.1.121:
Packets: Sent = 24, Received = 24, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 102ms, Average = 54ms

Milhouse 2007-12-09 06:58

Re: Poor wifi performance?
 
Ubuntu Gutsy Gibbon w/Intel 10/100 PRO NIC pinging N800:

Code:

neil@nm-tyan:~$ ping n8dev
PING n8dev (192.168.0.19) 56(84) bytes of data.
64 bytes from n8dev (192.168.0.19): icmp_seq=1 ttl=64 time=72.8 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=2 ttl=64 time=96.1 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=3 ttl=64 time=17.2 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=4 ttl=64 time=40.8 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=5 ttl=64 time=65.3 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=6 ttl=64 time=89.4 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=7 ttl=64 time=112 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=8 ttl=64 time=35.0 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=9 ttl=64 time=56.0 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=10 ttl=64 time=81.2 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=11 ttl=64 time=105 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=12 ttl=64 time=27.1 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=13 ttl=64 time=50.7 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=14 ttl=64 time=74.5 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=15 ttl=64 time=98.5 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=16 ttl=64 time=20.3 ms

--- n8dev ping statistics ---
16 packets transmitted, 16 received, 0% packet loss, time 15000ms
rtt min/avg/max/mdev = 17.254/65.246/112.847/30.098 ms


Ubuntu PC ----- [Gig Switch] ----- [WRT54GS AP] ~~~Wi-Fi~~~ N800

Average: 65ms

N800 pinging Ubuntu Gutsy Gibbon PC:

Code:

/home/user # ping 192.168.0.12
PING 192.168.0.12 (192.168.0.12): 56 data bytes
64 bytes from 192.168.0.12: seq=0 ttl=64 time=27.6 ms
64 bytes from 192.168.0.12: seq=1 ttl=64 time=20.5 ms
64 bytes from 192.168.0.12: seq=2 ttl=64 time=19.5 ms
64 bytes from 192.168.0.12: seq=3 ttl=64 time=20.6 ms
64 bytes from 192.168.0.12: seq=4 ttl=64 time=19.6 ms
64 bytes from 192.168.0.12: seq=5 ttl=64 time=19.8 ms
64 bytes from 192.168.0.12: seq=6 ttl=64 time=19.7 ms
64 bytes from 192.168.0.12: seq=7 ttl=64 time=20.7 ms
64 bytes from 192.168.0.12: seq=8 ttl=64 time=19.6 ms
64 bytes from 192.168.0.12: seq=9 ttl=64 time=20.5 ms
64 bytes from 192.168.0.12: seq=10 ttl=64 time=19.6 ms
64 bytes from 192.168.0.12: seq=11 ttl=64 time=20.5 ms
64 bytes from 192.168.0.12: seq=12 ttl=64 time=19.5 ms
64 bytes from 192.168.0.12: seq=13 ttl=64 time=20.6 ms
64 bytes from 192.168.0.12: seq=14 ttl=64 time=19.6 ms
64 bytes from 192.168.0.12: seq=15 ttl=64 time=20.5 ms
64 bytes from 192.168.0.12: seq=16 ttl=64 time=19.6 ms
64 bytes from 192.168.0.12: seq=17 ttl=64 time=20.9 ms

--- 192.168.0.12 ping statistics ---
18 packets transmitted, 18 packets received, 0% packet loss
round-trip min/avg/max = 19.5/20.4/27.6 ms


N800 ~~~Wi-Fi~~~ [WRT54GS AP] ----- [Gig Switch] ----- Ubuntu PC

Average: 20.4ms

Ubuntu Gutsy Gibbon pinging a TiVo Series 1 over a bridged wireless connection:

Code:

neil@nm-tyan:~$ ping tivo
PING tivo (192.168.0.7) 56(84) bytes of data.
64 bytes from tivo (192.168.0.7): icmp_seq=1 ttl=255 time=3.25 ms
64 bytes from tivo (192.168.0.7): icmp_seq=2 ttl=255 time=3.28 ms
64 bytes from tivo (192.168.0.7): icmp_seq=3 ttl=255 time=3.23 ms
64 bytes from tivo (192.168.0.7): icmp_seq=4 ttl=255 time=3.24 ms
64 bytes from tivo (192.168.0.7): icmp_seq=5 ttl=255 time=3.22 ms
64 bytes from tivo (192.168.0.7): icmp_seq=6 ttl=255 time=4.19 ms
64 bytes from tivo (192.168.0.7): icmp_seq=7 ttl=255 time=4.15 ms
64 bytes from tivo (192.168.0.7): icmp_seq=8 ttl=255 time=3.13 ms
64 bytes from tivo (192.168.0.7): icmp_seq=9 ttl=255 time=3.12 ms
64 bytes from tivo (192.168.0.7): icmp_seq=10 ttl=255 time=3.25 ms
64 bytes from tivo (192.168.0.7): icmp_seq=11 ttl=255 time=3.14 ms
64 bytes from tivo (192.168.0.7): icmp_seq=12 ttl=255 time=3.36 ms
64 bytes from tivo (192.168.0.7): icmp_seq=13 ttl=255 time=3.35 ms
64 bytes from tivo (192.168.0.7): icmp_seq=14 ttl=255 time=3.37 ms
64 bytes from tivo (192.168.0.7): icmp_seq=15 ttl=255 time=3.65 ms
64 bytes from tivo (192.168.0.7): icmp_seq=16 ttl=255 time=3.39 ms

--- tivo ping statistics ---
16 packets transmitted, 16 received, 0% packet loss, time 15005ms
rtt min/avg/max/mdev = 3.129/3.400/4.192/0.317 ms


Ubuntu PC ----- [Gig Switch] ----- [WRT54GS AP] ~~~Wi-Fi~~~ [WRT54GS Bridge] ----- TiVo

Average: 3.4ms

The TiVo Series 1 is using a 50mhz PowerPC processor, connected by wired ethernet to a Linksys WRT54GS (200mhz Broadcom CPU) which is bridged (11g, WPA PSK/TKIP) to another WRT54GS Access Point, to which the Ubuntu PC is connected via a Gig ethernet switch.

The TiVo connection is a far more convoluted route than that taken by the N800, yet the TiVo - a far less poweful device than the N800 - responds in a fraction of the time taken by the N800.

The N800 has a more powerful CPU than either of the Linksys wireless routers and the TiVo, so I can't believe the poor ping time is due to CPU issues on the N800.

Pinging *FROM* the N800 to the Ubuntu PC results in a better ping time - less than a third of that when going the other way - which suggests something odd is going on (power saving?)

I've suspected for some time that the WiFi speed on N800s (also 770s) is poor, but doubt we'll see any improvement due to the open/closed nature of the WiFi stack and the lack of apparent care/importance Nokia give to the wireless side of things. I don't think the problem is with the CPU, more likely a poor or duff implementation.

dblank 2007-12-09 08:16

Re: Poor wifi performance?
 
I think the latency is due to the power saving mode, I seem to remember ping times going down when I started a SIP call, or some other task that needed low latency.

Or maybe I had switched it into power sucking mode manually :)

fanoush 2007-12-09 08:21

Re: Poor wifi performance?
 
This is most probably caused by the power saving feature. If you are bothered by this try to increase PSM timeout to something longer than your ping interval.

EDIT: oops, dblank was faster

Milhouse 2007-12-09 09:06

Re: Poor wifi performance?
 
Ping results for different power saving settings (from Ubuntu Gutsy Gibbon w/Intel 10/100 PRO NIC to N800).

Power Saving OFF

Code:

neil@nm-tyan:~$ ping n8dev
PING n8dev (192.168.0.19) 56(84) bytes of data.
64 bytes from n8dev (192.168.0.19): icmp_seq=1 ttl=64 time=11.8 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=2 ttl=64 time=5.43 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=3 ttl=64 time=5.78 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=4 ttl=64 time=6.01 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=5 ttl=64 time=6.03 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=6 ttl=64 time=6.03 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=7 ttl=64 time=5.89 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=8 ttl=64 time=6.01 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=9 ttl=64 time=14.0 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=10 ttl=64 time=5.93 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=11 ttl=64 time=5.82 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=12 ttl=64 time=6.85 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=13 ttl=64 time=5.79 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=14 ttl=64 time=5.94 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=15 ttl=64 time=6.33 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=16 ttl=64 time=6.51 ms

--- n8dev ping statistics ---
16 packets transmitted, 16 received, 0% packet loss, time 15000ms
rtt min/avg/max/mdev = 5.433/6.894/14.073/2.349 ms

Average: 6.8ms

Power Saving On (INTERMEDIATE)

Code:

neil@nm-tyan:~$ ping n8dev
PING n8dev (192.168.0.19) 56(84) bytes of data.
64 bytes from n8dev (192.168.0.19): icmp_seq=1 ttl=64 time=72.0 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=2 ttl=64 time=4.92 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=3 ttl=64 time=5.55 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=4 ttl=64 time=5.73 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=5 ttl=64 time=6.25 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=6 ttl=64 time=5.18 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=7 ttl=64 time=6.37 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=8 ttl=64 time=5.56 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=9 ttl=64 time=6.19 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=10 ttl=64 time=5.21 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=11 ttl=64 time=5.34 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=12 ttl=64 time=5.33 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=13 ttl=64 time=5.05 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=14 ttl=64 time=5.13 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=15 ttl=64 time=5.33 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=16 ttl=64 time=5.72 ms

--- n8dev ping statistics ---
16 packets transmitted, 16 received, 0% packet loss, time 15000ms
rtt min/avg/max/mdev = 4.926/9.686/72.044/16.106 ms

Average: 9.6ms

Power Saving On (MAXIMUM)

Code:

neil@nm-tyan:~$ ping n8dev
PING n8dev (192.168.0.19) 56(84) bytes of data.
64 bytes from n8dev (192.168.0.19): icmp_seq=1 ttl=64 time=61.8 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=2 ttl=64 time=94.9 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=3 ttl=64 time=109 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=4 ttl=64 time=31.5 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=5 ttl=64 time=54.5 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=6 ttl=64 time=74.9 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=7 ttl=64 time=102 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=8 ttl=64 time=24.2 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=9 ttl=64 time=48.2 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=10 ttl=64 time=72.6 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=11 ttl=64 time=95.5 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=12 ttl=64 time=17.3 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=13 ttl=64 time=41.0 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=14 ttl=64 time=66.9 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=15 ttl=64 time=88.9 ms
64 bytes from n8dev (192.168.0.19): icmp_seq=16 ttl=64 time=115 ms

--- n8dev ping statistics ---
16 packets transmitted, 16 received, 0% packet loss, time 14999ms
rtt min/avg/max/mdev = 17.389/68.824/115.931/29.966 ms

Average: 68.8ms


So it's definitely due to the power saving feature - with the default maximum power save setting (200ms?) latency increases dramatically. It's hard to say how much battery life is gained by using the maximum setting, but I guess increased latency is the price to be paid for a slight increase in battery life. If low latency is required, reduce or disable the power saving setting. Turning the power saving feature off entirely probably isn't a good idea but it's interesting to note that with power saving disabled entirely the latency of the N800 is still twice that of a TiVo.

technut 2007-12-09 10:18

Re: Poor wifi performance?
 
Same results here. Thanks!


All times are GMT. The time now is 01:42.

vBulletin® Version 3.8.8