-------- Original Message --------
Subject: Re: wi hostap speed
Date: Fri, 09 Jan 2004 01:37:05 +0100
From: Jiri Mikulas <kon...@mikulas.com>
To: Sam Leffler <s...@errno.com>
References: <3FFDE3A1...@mikulas.com>
<20040108153...@errno.com>
hello again ;)
>
>Let me test here. Fixing the speed is meaningless for hostap mode.
>
>
>
I don't want to use fixed speed exactly, but only try to find, where
should be problem,
because if I have media adhoc, it's running well on 11MBPs
>Can you tell me what device you're using on the station and what tool you're
>using to test with (e.g. netperf).
>
>
>
I'v used wget on linux client with IBM wifi card with Prism2.5 chipset
(sorry i dont know exact numbers of this card)
oposite to one AP (FreeBSD 5.2-CURRENT #6: Thu Jan 8 17:29:53 CET 2004)
with the same IBM card in hostap mode
wi1: <Intersil Prism2.5> mem 0xe6001000-0xe6001fff irq 10 at device 10.0
on pci0
wi1: 802.11 address: 00:10:c6:18:52:8e
wi1: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI)
wi1: Intersil Firmware: Primary (1.1.1), Station (1.7.4)
wi1: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
and i t look like this:
--00:44:33-- http://10.27.0.2/5.1-RELEASE-i386-disc1.iso
=> `/dev/null'
Navazuje se spojení s 10.27.0.2:80... connected.
HTTP požadavek odeslán, program čeká na odpověď ... 200 OK
Délka: 645,169,152 [text/plain]
0% [ ] 1,484,200 157.65K/s ETA 1:06:27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
than I tried similar test with two BSD boxes, the same BSD as on the
first test now acts as client
with Zcon XI-626 card
wi2: <Intersil Prism2.5> mem 0xe6002000-0xe6002fff irq 12 at device 11.0
on pci0
wi2: 802.11 address: 00:60:b3:69:ea:69
wi2: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI)
wi2: Intersil Firmware: Primary (1.1.1), Station (1.7.4)
wi2: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
oposite to AP 5.1-RELEASE-p11 #0: Tue Jan 6 09:14:03 CET 2004
with the same Zcom card in hostap mode
map02# wget -O /dev/null http://10.27.0.4/test.zip
--00:56:30-- http://10.27.0.4/test.zip
=> `/dev/null'
Connecting to 10.27.0.4:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 36,942,300 [application/zip]
7%
[========>
] 2,710,352 106.53K/s ETA 05:13^
when I switched mode to adhoc between this boxes it runs on 11MBPs
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (DS/11Mbps <adhoc>)
wget test was
map02# wget -O /dev/null http://10.27.0.4/test.zip
--01:11:15-- http://10.27.0.4/test.zip
=> `/dev/null'
Connecting to 10.27.0.4:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 36,942,300 [application/zip]
14% [=================> ] 5,451,776 415.03K/s ETA
01:37^
there were no other clients associated on this APs and both BSD boxes
were not hardloaded
for better concept you can see our network structure there:
http://mik.vol.cz:8082/nagios/cgi-bin/statusmap.cgi?host=all
login: guest
passw: guest
the 5.2-CURRENT box is named "MAP02" , second one with 5.1-RELEASE-p11
is "bluehillz" ,
linux client is not shown but is connected to MAP02
So it seems that is something wrong in hostap mode, because as I wrote
in first email, on FBSD 4-x hostap mode work properly on 11MBps.
My friens who uses FBSD 5.1-REL on different geographical places has
this problem too, so I think that problem is not caused by "local specifications"
Thanks for reply.
Jiri
_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"
Please provide much more information. My (slightly older) -CURRENT sees up
to 4mbit/s with (software-WEP) or without WEP with MTU size of 1900.
--
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> gr...@FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
Well ... apparently I should have suspected people to CC me
directly as I'm not on this list, but nonetheless I got some catching up
to do now :) (please CC me if you'd like a response within this next week
:>)
I'm open to suggestions - don't get me wrong, but I'm 99.9% sure
that this is a WI driver issue with 5.x and not anything else. Others have
reported this same problem over the last 6 months and I have seen
absolutely no solutions their questions. Of course, it is very easy to say
that it could be a MTU setting or interference, but I have personally
tested over two dozen Prism 2.5 based cards using a variety of
configurations, changes in settings, you name it - I've tried it
(including trying to set the MTU lower).
Something has changed since 4.9 that is causing hostap to run at
half pace while uploading to associated stations.
I guess what I'd really love to see is someone looking into the
if_wi.c code and whatever else could be affecting this.. I'd be so bold as
to offer $$ for such a fix (I am that desperate). I have, myself, spent
countless hours, heck, weekends at a time, going through the code,
removing this, changing that - with no success.. Then again, I do not
claim to be a C programmer, much less someone that writes drivers.
Just my two cents. My next step is to switch to Linux using the
hostapd project, which I really don't want to do :<..Though, it is my
understanding that OpenBSD doesn't have this problem - so I may try that
if there simply will be no resolution to this matter.
Scott
On Thu, 29 Apr 2004, Brian Fundakowski Feldman wrote:
> There are many possibilities as to why you get certain speeds (or fail to).
> There's the interface MTU size, RTS/CTS, WEP, whether your CPU can keep up
> with WEP in hostap mode (yes, it does software decryption), whether the card
> can keep up with WEP otherwise (yes, it can only do WEP at a slower speed
> than it's otherwise capable of), TCP/IP options on the socket/in sysctl/in
> the kernel compile, firewall differences, routing differences...
>
> Please provide much more information. My (slightly older) -CURRENT sees up
> to 4mbit/s with (software-WEP) or without WEP with MTU size of 1900.
>
> --
> Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
> <> gr...@FreeBSD.org \ The Power to Serve! \
> Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
>
>
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)
iD8DBQFAmrw42REUg6gjWxgRApzEAJ4rOfTaEKhaDX/HTjeE1xB+6X1xEQCgtfQ7
HNw98d5HEOOiuQV+Xd7ALmo=
=Uux9
-----END PGP SIGNATURE-----
You still haven't even said what speeds you CAN attain! Could you PLEASE
post some precise benchmarks?
--
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> gr...@FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
Unless something changed in the code that I'm not aware of, there
has been no one actively working on this problem. I checked CVS about a
day and a half ago, nothing new.. Apparently OpenBSD does not have this
problem (I have not verified this) and works equally well with hostap. I'd
hate to have to swap OS's on over a dozen machines however.
Scott
iD8DBQFApc/Y2REUg6gjWxgRAmH8AKDcdbbzn0Q3W1c6uXCDQS90xyHcOwCfW72a
ug7V99OOv9YpvzRX9BzspzU=
=0YiN
Brian, speeds are limited to under 180KBytes/sec while in hostap
mode. Take any 5.x box with the wi drivers and a prism 2.5 based card (in
order for hostap to work properly). Set it up to be an access point
(mediaopt hostap, doesn't matter what you use for media, I have used both
autoselect, 11Mbps, etc.) Use any radio equipment to connect to the access
point (from Lucent to Tranzeo to SmartBridges, you name it, doesn't matter
as long as it's 802.11b compatible obviously).. You'll get a maximum
DOWNLOAD of about 180Kbps if you're lucky.. Upload works fine at
500+Kbps.. Now, take that exact same setup without changing anything on a
4.9 system - download speeds (to the client radio) are back up to 500+
Kbps.
This is just off the top of my head, but there was some major
reconstruction in wi(4) from 4.9 to 5.x. It's been broken since day one
since the first release of 5.x.. so looking at 'what changed' in CVS
probably won't help you. My guess is that it's not going to be easily
found. Bless anyone who wants to look into this - as this has been a real
nightmare.
Scott
On Sat, 15 May 2004, Brian Fundakowski Feldman wrote:
> Jiri Mikulas <kon...@mikulas.com> wrote:
> > Hello
> > Is there any progress, please ?
>
> You still haven't even said what speeds you CAN attain! Could you PLEASE
> post some precise benchmarks?
>
> --
> Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
> <> gr...@FreeBSD.org \ The Power to Serve! \
> Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)
iD8DBQFApdHx2REUg6gjWxgRAsrTAJ90uS33fEqYashdHW0yK++VwsRQrwCfQt9e
eqPpRr7mnXt5nHdWfTaQU0g=
=LG/s
-----END PGP SIGNATURE-----
What are you testing with to get those figures? I will try this out at work
on Monday where I have umpteen boxes and PRISM 2.x cards if you can give me
even more exact reproduction steps. If you don't say anything I'm just
going to try netperf TCP stream tests on a non-WEP hostap network.
--
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> gr...@FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
Brian, try this exact setup on 5.x - this is for the hostap side,
the client side can be anything compatible. . .
The card is of course, a PRISM 2.5 chipset. To be more specific, a
Demarc PRISM 200mw PCMCIA (www.demarc.com). In case there is any question,
I've also tried non Demarc cards (still PRISM 2.5) ranging from 30mw to
200mw. The hardware varies - from a P133 to a AMD1.8, doesn't make any bit
of difference.
I've tried nearly all the public firmware releases for this
chipset. The one I'm on right now (that I'll use in this example) Primary
1.1.1, Station 1.7.4.. See output below:
dmesg output:
<snip>
wi0: 802.11 address: 00:60:b3:..:..:..
wi0: using RF:PRISM2.5 MAC:ISL3873
wi0: Intersil Firmware: Primary (1.1.1), Station (1.7.4)
wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
</snip>
The setup of the system doesn't seem to matter either. I have
tried with BRIDGE(4) enabled between the interfaces, I've tried setting
the system up to be a router (and route the packets to someplace else),
and just for testing, I've tried not having the system route packets or
bridge packets, instead just ftp directly from the associated client to
the hostap station itself - the speeds do not change. Everything works -
the bridging, the routing, the ftping to the station, but the speeds are
less than half of what they should be during downloads - upload FROM
client TO station works at full 500+KB/sec.
(in this example, I'll use 192.168.0.1 for the hostap station and .2 for
the client)
<snip>
ifconfig 192.168.0.1 netmask 255.255.255.0 media DS/11Mbps mediaopt hostap
ssid test channel 1 stationname test-system
</snip>
Obviously the channel will be up to you, as well as the IP address
of the system. I've also used media DS/2Mbps as well as media autoselect -
DS/11Mbps gets the better speeds typically (well, what you could call
'better' compared to the other settings, but not full speeds like in
FBSD-4.x).
I tested this with WEP, long long ago, but I don't currently run
it. The type of traffic does not matter. I have tried FTP, I've tried java
web-based "speed test" type software, I've tried downloading in browsers
from associated stations, again - it doesn't matter. The speeds do not
change. At average, the maximum speed is about 160-170KB/sec.
Again, using this exact same setup line-for-line, booting with BSD
4.x (and throwing in older firmware as 4.x does not support this PRISM 2.5
firmware) gets full 500+KB/sec up and down.
I've gone as far as .. I want to say, flash version 1.3.6 on the
PRISM 2.5 card, no change at all.
If you figure this out, you're better than I am :)...Short of
re-writing the wi driver I'm out of ideas.
Scott
On Sat, 15 May 2004, Brian Fundakowski Feldman wrote:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)
iD8DBQFApixj2REUg6gjWxgRAtW7AJ4/4+VQJKk4aNZ47CLP7lts/s0RegCg85di
m1EXEpWGTMQFuSklbXngzYo=
=z2vm
-----END PGP SIGNATURE-----
Verified (using the quick hack below): download speed geoes up from 170
kbytes/sec to 470 kbytes/sec, which is what I'd expect on an 11Mbps network.
If anyone's interested, here it is:
The Intersil manual on page 4-28 says that transmit packets need to have their
TxRate field filled in with 10,20,55 or 110, depending on the transmission speed.
The 4.X driver sets the field tx_frame.wi_tx_rate in function
wihap_check_tx(), called from wi_start().
The 5.X driver calls this field frmhdr.wi_tx_rate, but leaves it zero.
If you want to run at 11MBps, add a line
frmhdr.wi_tx_rate = 110;
in wi_start(), just before the call to wi_write_bap().
(Obviously, this is just a cheesy hack. The real code would have to find the
actual tx rate. I just want to point out where the problem lies).
Who normally works on the wi driver? "frmhdr.wi_tx_rate = 110"
works great (thanks James) but I am unable to find the syntax/variable
where the current TX-RATE is stored. A simple if tx-rate=11 {
frmhdr.wi_tx_rate = 110; } would keep auto-fallback working. Currently the
system works great (I seen as far as 600KB/sec last night during testing)
but when the signal drops and the driver tries for 5.5 or 2, packets are
lost. I recall in earlier releases of 5.x there was a 'DataRate' display
on 'wicontrol -l', however in CURRENT this seems to be missing.
Scott
On Mon, 17 May 2004, Jiri Mikulas wrote:
> Thanks!
> for your time ;)
> Jiri
>
> James Bowman wrote:
>
> >I spent a few hours tinkering (tampering?) with this driver, and have not
> >exactly a fix, but a clear indication of what the problem is.
> >
> >Verified (using the quick hack below): download speed geoes up from 170
> >kbytes/sec to 470 kbytes/sec, which is what I'd expect on an 11Mbps network.
> >
> >If anyone's interested, here it is:
> >
> >The Intersil manual on page 4-28 says that transmit packets need to have their
> >TxRate field filled in with 10,20,55 or 110, depending on the transmission speed.
> >
> >The 4.X driver sets the field tx_frame.wi_tx_rate in function
> >wihap_check_tx(), called from wi_start().
> >
> >The 5.X driver calls this field frmhdr.wi_tx_rate, but leaves it zero.
> >If you want to run at 11MBps, add a line
> > frmhdr.wi_tx_rate = 110;
> >in wi_start(), just before the call to wi_write_bap().
> >
> >(Obviously, this is just a cheesy hack. The real code would have to find the
> >actual tx rate. I just want to point out where the problem lies).
> >_______________________________________________
> >freebsd...@freebsd.org mailing list
> >http://lists.freebsd.org/mailman/listinfo/freebsd-current
> >To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"
> >
> >
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)
iD8DBQFAqKRF2REUg6gjWxgRAi0WAKCgT5XHRwG9SBv98ZWo30He0jJARwCeP/TH
eUBACKIWA6becWNCP6Ka5Pw=
=u/SC
-----END PGP SIGNATURE-----
In that case, I'd try adding this line where the frmhdr is being set up:
frmhdr.wi_tx_rate = ni->ni_rates.rs_rates[ni->ni_txrate] * 5;
I haven't tested it other than it compiles, but if it seems to work for you
I'll of course verify that I can/cannot get those speeds with/without this
change, using hostap.
--
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> gr...@FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\