Thread: [Ndiswrapper-general] Ralink ra2500 & Broadcom Corporation BCM4306 802.11b/g - bad performance, hi
Status: Beta
Brought to you by:
pgiri
From: Robin <ro...@ex...> - 2005-03-12 16:45:11
|
I've spent the last forty something hours tinkering with kernels, drivers, ndiswrapper & cards ... I'm just about at my wits ends .. HELP! :o) With both cards, I get max ~500-600kb/sec sustained transfer via ftp or sftp between two hosts connecting via the same AP. The client isWinXP with a Dlink G650C, on the server end I have tried both the ra2500 and (currently) the BCM4306. Regardless of settings I'm never able to break past 700kb/sec during file transfers -- I eventually intend to run a VPN over the wlan to connect two distinct LAN's however this performance is just too sluggish to make it worth contemplating. Here's the current config: # lspci 0000:01:04.0 Ethernet controller: Marvell Technology Group Ltd. Gigabit Ethernet Controller (rev 13) 0000:01:06.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03) # ndiswrapper -l Installed ndis drivers: bcmwl5 driver present, hardware present # uname -a Linux <REMOVED> 2.6.11.2-hg-2 #1 Tue Mar 15 19:20:22 UTC 2005 i686 AMD Athlon(tm) XP 1800+ AuthenticAMD GNU/Linux (have also tried every stable kernel from 2.6.9 upwards, both vanilla and distro patched... no change) # iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11g ESSID:"TESTWLAN" Mode:Managed Frequency:2.462 GHz Access Point: 00:A0:C5:64:D4:17 Bit Rate:54 Mb/s Tx-Power:25 dBm RTS thr:2347 B Fragment thr:2346 B Encryption key:off Power Management:off Link Quality:98/100 Signal level:-55 dBm Noise level:-256 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:2982 Invalid misc:196966 Missed beacon:0 Note the "Invalid Misc" and "Tx Excessive Retries", this machine has only been booted 2.5 hrs .... Im using the following to bring the wlan0 if up: #!/bin/bash iwconfig wlan0 essid "TESTWLAN" channel 11 rate Auto commit ifconfig wlan0 up 192.168.5.1 The only relevant entries I can see in the logs are: Mar 16 11:33:08 HeavensGate ndiswrapper version 0.12 loaded (preempt=yes,smp=no) Mar 16 11:33:08 HeavensGate loadndisdriver: loadndisdriver: main(479): version 0.12 started Mar 16 11:33:08 HeavensGate devfsd[1161]: error calling: "unlink" in "GLOBAL" Mar 16 11:33:09 HeavensGate devfsd[1161]: error calling: "unlink" in "GLOBAL" Mar 16 11:33:09 HeavensGate ACPI: PCI interrupt 0000:01:06.0[A] -> GSI 9 (level, low) -> IRQ 9 Mar 16 11:33:09 HeavensGate ndiswrapper: using irq 9 Mar 16 11:33:10 HeavensGate wlan0: ndiswrapper ethernet device 00:12:17:94:1e:8b using driver bcmwl5 Mar 16 11:33:10 HeavensGate wlan0: encryption modes supported: WEP, WPA with TKIP, WPA with AES/CCMP Mar 16 11:33:10 HeavensGate ndiswrapper: driver bcmwl5 (Linksys,02/19/2004, 3.50.21.11) added (ignore skewed clock/date) # ping -f 192.168.5.3 PING 192.168.5.3 (192.168.5.3) 56(84) bytes of data. ....................................... --- 192.168.5.3 ping statistics --- 3761 packets transmitted, 3722 received, 1% packet loss, time 6477ms rtt min/avg/max/mdev = 0.974/1.607/54.903/2.091 ms, pipe 4, ipg/ewma 1.722/1.429 ms (pinging client from server) Is this normal? I have no idea what's wrong, all I can do is describe the problem, I need the throughput to at least exceed 5,000 kb/sec -- any help at all would be extremely appreciated. Regards, Robin |
From: Georg S. <dan...@gm...> - 2005-03-13 12:17:57
|
Robin wrote: > The only relevant entries I can see in the logs are: > Mar 16 11:33:08 HeavensGate ndiswrapper version 0.12 loaded > (preempt=yes,smp=no) First of all use always latest version of ndiswrapper, i guess you are using gentoo on x86 stable so 0.12 is the latest version in cvs but use 1.1 instead, source is on the homepage. > Mar 16 11:33:08 HeavensGate devfsd[1161]: error calling: "unlink" in > "GLOBAL" > Mar 16 11:33:09 HeavensGate devfsd[1161]: error calling: "unlink" in > "GLOBAL" That's why i guess you are using gentoo ;) I know those errors. use udev to get them away. > Is this normal? I have no idea what's wrong, all I can do is describe > the problem, I need the throughput to at least exceed 5,000 kb/sec -- > any help at all would be extremely appreciated. 5MB/s is quite a high rate, ever tried to reach it under windows? It's almost not ndiswrapper's fault if you are not getting the rate you like but the ndis-driver's. As i said already above use latest ndiswrapper and then maybe try another driver, maybe an other channel is better too, lots of other hardware (bluetooth maybe, DECT-phones, ...) interferes with wifi and so changing the channel can produce miracles ;) regards Georg Schild |
From: Robin <ro...@ex...> - 2005-03-13 19:36:47
|
Georg Schild wrote: > First of all use always latest version of ndiswrapper, i guess you are > using gentoo on x86 stable so 0.12 is the latest version in cvs but > use 1.1 instead, source is on the homepage. Sorry I forgot to mention that I tried the latest tarball from the site, then I down graded to the Gentoo portage version to see if there was any difference in performance (I figured perhaps it was patched or something .. ) > That's why i guess you are using gentoo ;) I know those errors. use > udev to get them away. You are absolutely correct :-) > 5MB/s is quite a high rate, ever tried to reach it under windows? It's > almost not ndiswrapper's fault if you are not getting the rate you > like but the ndis-driver's. As i said already above use latest > ndiswrapper and then maybe try another driver, maybe an other channel > is better too, lots of other hardware (bluetooth maybe, DECT-phones, > ...) interferes with wifi and so changing the channel can produce > miracles ;) So are you telling me that this is the best performance I can expect? If this is the case then I have to begin looking into multipath routing several wifi connections. I have already tried all the channels and there were very small margins of difference. I have no other gear turned on (as far as I know) that could interfere. But as I said under Windows I am able to sustain 2,200 and above kb/sec with the same hardware, which I why I think there is a problem either with my configuration. Cheers, Robin |
From: Jonathan B. <be...@gm...> - 2005-03-14 05:09:59
|
On Sun, 13 Mar 2005 20:36:00 +0100, Robin <ro...@ex...> wrote: > Georg Schild wrote: [snip] > > 5MB/s is quite a high rate, ever tried to reach it under windows? It's > > almost not ndiswrapper's fault if you are not getting the rate you > > like but the ndis-driver's. As i said already above use latest > > ndiswrapper and then maybe try another driver, maybe an other channel > > is better too, lots of other hardware (bluetooth maybe, DECT-phones, > > ...) interferes with wifi and so changing the channel can produce > > miracles ;) > > So are you telling me that this is the best performance I can expect? If > this is the case then I have to begin looking into multipath routing > several wifi connections. I have already tried all the channels and > there were very small margins of difference. I have no other gear turned > on (as far as I know) that could interfere. But as I said under Windows > I am able to sustain 2,200 and above kb/sec with the same hardware, > which I why I think there is a problem either with my configuration. > > Cheers, > > Robin Hi Robin, First of all, let's be careful with our bits and Bytes. "kb" means kilobits and "kB" means kilobytes (note the latter is 8 times the former). That said, I have the same chipset card, and in Windows I was able to sustain about 20% network usage copying an iso file over the wireless network with scp on MinGW (according to system manager). At 54 Mb/s, that is about 10.8 Mb/s or 1.35 MB/s, which is consistent with calculating the throughput using the file size and time to transmit. This is with 128-bit WEP enabled. So if you want 5 Mb/s (625 kB/s), I think this should be an attainable goal, if you want 5 MB/s (40 Mb/s) of throughput then I don't see how you will attain this with a 54 Mb/s link. I have seen similar transfers on a 100 Mb/s wired LAN have about 55-60% usage for copying one iso file. Interestingly, the usage goes up to about 70% if I copy two isos at the same time. There is an inherent latency involved with networking because of buffer copying, which adversely affects actual throughput. ndiswrapper adds yet another layer, so I think it would be safe to assume a slight performance drop is possible (I don't know the details of the inner workings, though). Now, I am using 64-bit Fedora, so I don't know how that affects things (certainly using a different driver), but scp is reporting from 2.7 to 2.9 MB/s copying a similar sized iso file over the wireless in Linux. Using the time and size, that comes out to about 2.9 MB/s as well, which is 23.5 Mb/s. That is over 2x faster than on Windows, so I'm not sure what is going on there. Probably has something to do with being 64-bit and perhaps the Windows port of scp is not as efficient. I need to try direct copying from one Windows machine to another using Explorer. That isn't nearly as easy to time, but I can still look at utilization numbers and guess a rough average, which seems to be reasonable. Anyway, I say all this to say, I think you should be able to get better throughput, but don't expect to use anywhere close to the full 54 Mb/s theoretical bandwidth available to you. I think Lars is right though, you should upgrade your Windows driver (in Linux :)). It has been interesting gathering this data. Hope this helps, Jonathan |
From: Lars T. <ls...@gm...> - 2005-03-13 23:33:27
|
Hi Robin, R> So are you telling me that this is the best performance I can expect? you may try another driver for this chipset (v. 3.100.35): http://tinyurl.com/6w4b6 This one works perfectly for me with Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02) and WEP enabled with ndiswrapper 1.1. I get about 2,2 - 2,3MB/s on a Gentoo box with vanilla 2.6.11. The connection is perfectly stable. Don't forget to remove all entries in /etc/ndiswrapper when changing versions. After installing udev, ndiswrapper 1.1 and the driver version mentioned above (I use the european version of this package) all my very high "invalid misc"/"tx excessive retries" completely disappeared. Good luck, Lars |
From: <ro...@ex...> - 2005-03-15 08:47:51
|
Hi, > you may try another driver for this chipset (v. 3.100.35): > > http://tinyurl.com/6w4b6 Thanks! I upgraded back to the current ndiswrapper & tried this last nigh= t and the "invalid misc" and "tx excessive retries" are now both zero and the connection seems much more stable, however I'm getting warnings that the driver causes memory leaks (and the machine kernel panics with a "not syncing" error shortly after) -- did you encounter this? Performance has improved to about 700 KB/sec, so I have the feeling I'm o= n the right track now. Just for comparison, I'm configuring a clean gentoo box, and going to attempt to install both the cards in there for comparison. Also, does have the kernel pre-emptible options enabled affect ndiswrappe= r? Thanks again to everyone for the comprehensive replies. Cheers, Robin |
From: Lars T. <ls...@gm...> - 2005-03-14 00:08:35
|
Hi Robin, this might be the problem: > Mar 16 11:33:10 HeavensGate ndiswrapper: driver bcmwl5 use bcmwl5a, not bcmwl5! Good luck, Lars |
From: Georg S. <dan...@gm...> - 2005-03-14 07:34:10
|
Lars Tewes wrote: > > use bcmwl5a, not bcmwl5! > No! only difference is that the one with the a is ascii afaik and the other one is unicode. If I remember right this was a problem in ndiswrapper <0.8 but above the drivers can be used the same since they are internally the same |
From: Jonas P. <za...@xm...> - 2005-03-14 08:05:26
|
Georg Schild wrote: > Lars Tewes wrote: >> use bcmwl5a, not bcmwl5! >> > No! only difference is that the one with the a is ascii afaik and the > other one is unicode. If I remember right this was a problem in > ndiswrapper <0.8 but above the drivers can be used the same since they > are internally the same I don't have exactly the same chipset (b only), but I use (maybe) the same driver. I find this line from dmesg more informative: ndiswrapper: driver bcmwl5 (ASUS,09/23/2002, 3.08.37.0) loaded As I have an ASUS box, I fetched the latest XP driver from their site. My colleague (who runs "true" XP) had problems with the driver that came preinstalled. I initially used this with LinuxAnts driver (before Pontus got started with ndiswrapper - my laptop is identical to Pontus') under debian and then pulled it along when I installed gentoo+ndiswrapper. This is my card: 0000:00:0c.0 Network controller: Broadcom Corporation BCM4303 802.11b Wireless LAN Controller (rev 02) It might not help at all, but... / Jonas -- Jonas Petersson | XMS Penvision | mailto:Jon...@xm... Box 3294, Västgötegatan 13, S-600 03 Norrköping | http://www.xms.se/ Tel: +46 11 400 13 00 | Dir: +46 11 400 13 05 | Fax: +46 11 10 30 50 |