Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
SOLVED: iwl3945 performance
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Networking & Security
View previous topic :: View next topic  
Author Message
gw
Apprentice
Apprentice


Joined: 03 Dec 2006
Posts: 215

PostPosted: Sat Aug 02, 2008 1:32 am    Post subject: SOLVED: iwl3945 performance Reply with quote

Setup:
card: Intel Corporation PRO/Wireless 3945ABG
drivers:
  • A) ipw3945-1.2.2 with kernel linux-2.6.26-gentoo
  • B) iwl3945 with newest git wireless-testing kernel 2.6.27-rc1-wl

You get the latter (B) by:
Code:
git-clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git

This gives you the complete kernel snapshot of the main linux wifi developper (John Linville).
Compile and install this wireless testing kernel; if you get an error while trying to rebuild the nvidia module, act according to this:
Quote:
http://www.nvnews.net/vbulletin/showthread.php?p=1730295

Given the grotesque way to apply the patch, it is kind of a hack; but it works.
Here are some relevant kernel configs:
Code:
zcat /proc/config.gz| egrep  -i "iwl|mac8|wirel"

CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_MAC80211=m
CONFIG_MAC80211_RC_PID=y
CONFIG_MAC80211_RC_DEFAULT_PID=y
CONFIG_MAC80211_RC_DEFAULT="pid"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUG_MENU is not set
# Wireless LAN
# CONFIG_MAC80211_HWSIM is not set
CONFIG_IWLWIFI=m
CONFIG_IWLCORE=m
# CONFIG_IWLWIFI_LEDS is not set
CONFIG_IWLWIFI_RFKILL=y
# CONFIG_IWLWIFI_DEBUG is not set
# CONFIG_IWLAGN is not set
CONFIG_IWL3945=m
CONFIG_IWL3945_RFKILL=y
CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
CONFIG_IWL3945_LEDS=y
# CONFIG_IWL3945_DEBUG is not set
# CONFIG_IPWIRELESS is not set


Testing:
I transfer data between two computers on the same LAN (and room), laptop and desktop, laptop has the wifi card: laptop <---wireless---> wlan router <---wired---> desktop.
I used two programs for checking the throughput of each driver
  • net-analyzer/netperf-2.4.4
  • simple scp
I give the client-server based netperf (netserver on the corresponding machine) a 100 seconds run. With scp I transferred a file sized 730787830 bytes.

Results:
A) Using the old deprecated driver ipw3945
Receiving data:
Quote:
root@desktop:~> netperf -l 100 -H laptop
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to laptop (192.168.1.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 100.05 18.31


And:
Quote:
time scp film.avi me@laptop:/tmp
Password:
film.avi 100% 697MB 1.8MB/s 06:23
scp film.avi me@laptop:/tmp 17,66s user 6,25s system 6% cpu 6:37,12


Sending data:
Quote:
root@laptop:~> netperf -l 100 -H desktop
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to desktop (192.168.1.1) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 100.66 23.11

And:
Quote:
time scp film.avi me@desktop:/tmp
Password:
film.avi 100% 697MB 2.7MB/s 04:18
scp film.avi me@desktop:/tmp 21,39s user 12,61s system 12% cpu 4:23,02 total


Brandnew iwl3945 driver and 2.6.27 wireless-testing kernel:
Receiving data:
Quote:
root@desktop:~> netperf -l 100 -H laptop
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to laptop (192.168.1.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 100.05 18.00

And:
Quote:
time scp film.avi me@laptop:/tmp
Password:
film.avi 100% 697MB 2.1MB/s 05:40
scp film.avi me@laptop:/tmp 18,37s user 6,07s system 7% cpu 5:45,59 total


Sending data:
Quote:
root@laptop:~> netperf -l 100 -H desktop
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to linux (192.168.14.1) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 102.35 9.34

And:
Quote:
time scp film.avi me@desktop:/tmp [1:28]
Password:
scp film.avi me@desktop:/tmp 15,24s user 12,20s system 4% cpu 10:23,71 total


To sum it up:
When receiving data, both drivers give roughly the same (mediocre) performance, about 18Mbit/s, which is considerably below the 25Mbit/sec that should be possible.
When sending data the picture ist completely different:
  • the old ipw3945 has a very good performance of 23Mbit/s
  • the new iwl3945 completely breaks down and gives only 10Mbit/s

Could you provide comparable numbers, preferably with netperf.
And how come that performance differs so dramatically between sending/receiving data? How can I check if this is due to driver, wlan hardware or whatever?

Thanks

gw


Last edited by gw on Sun Apr 12, 2009 8:31 am; edited 2 times in total
Back to top
View user's profile Send private message
gw
Apprentice
Apprentice


Joined: 03 Dec 2006
Posts: 215

PostPosted: Sun Apr 12, 2009 8:29 am    Post subject: Reply with quote

Now after a very long time and several kernels on:
Code:

uname -a                                                                                     
Linux linux 2.6.29-gentoo #1 SMP


the wlan performance problem nearly vanished, I almost get the transfer rates of the old ipw3945 driver, especially when sending data: from 2.6.26 on it came down to about 1MB/s but now -- with 2.6.29 and probably the new firmware! -- it is miraculously up again at ca 2.5MB/s! I didn't change anything on my router configuration so it has to be something with the driver/firmware/kernel.

gw
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Networking & Security All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum