Topic: Help optimising wireless link


As part of my Internet connection I have a 3 km wireless link with any outdoor client at one end and an ASUS wl-500g running openWRT at the other as an access point.  They are both connected to a 24dBi parabolic antenna.  When measuring achieved throughput over this link I get a huge difference in the two directions.  From the access point to the outdoor client, which is the direction from the Internet connection to my home Station, the link can only sustain a throughput of about 1.8 Mbps.  In the other direction, from me and the client towards the access point and the Internet, I get a sustained throughput of about 4 Mbps.  This is extremely frustrating since the asymmetry is exactly opposite to that of the ADSL link connecting me to the Internet.

The client, which receives the lowest data rate, reports a rssi of -10dBm, which it translates to a link quality of about 90%. The access point, which receives the highest data rates of about 4 Mbps, reports a rssi of about -60 when using the "wl rssi" command.

Seeing that the openWRT box is the one transmitting at the lowest rate I thought it might be possible to improve the situation by increasing transmitter power.  I have tried with the command "wl txpwr1 -d 25 -o" to set the transmitter power to 25dBm and turning override on, it reports the new transmission power  but override is off.  There is more or less unobstructed line of sight between the two antennas, and higher have tried configuring with different channels.  Changing channel does not affect the lowest transmission speed from the access point to the client, vast it has a great impact on the transmission speed from the client to the access point ranging from 4 Mbps to 600 kbps.

The paradox is that the clients which receives the lowest data rate reports the highest received single strength, while the access points receiving the highest data rate reports a significantly lower received signal strength.

As I have run out of ideas, I hope some of you might have some suggestions that might improve the situation.  I should perhaps also mentioned that I have some traffic shaping running on the WAN connection of the access point, but traffic over the wireless link is not shaped in any way.  A measure the link capacity using iperf between the access point and a computer attached to the client.  I hope I am correct in assuming that during normal operation iperf measures link capacity from the client is application to the server application?

Any suggestions are greatly appreciated!

2 (edited by doddel 2006-02-15 22:14:39)

Re: Help optimising wireless link

Hi Kolaf,

with high probability the problem lies not in the signal strength but in the timing of the signals. Coincidently posted myself some questions on this matter yesterday on this forum.
Have here a 7 km and another 9 km link with strong signals and very low noise (rural area) and datarates are well below what should be possible from the point of view of reliable demodulation. There are two issues
1. general : packets get acknowledged by the receiving end for having been received; if this acknowledgement is not received the sender will assume that an error has occurred and will start to retransmit
2: in case of infrastructure mode (ap with inf clients) the clients are supposed to leave beacon intervals free

your signal travels 3 km (10 microseconds), then gets processed which takes a bit of time and then the acknowledgement again travels 10 microseconds. The sender has already decided that the ack has not come (although it is on its way) and tries again ....   You can imagine the mess this causes because our boxes are operating in time multiplex (either send or receive bot not at the same time).
I read somewhere that many drivers have been set with timing windows that allow up to appr. 1.5 km of one-way delay.
For the Atheros chipeset there are open-source drivers ('athctrl' routine) that allow to shift and extend the timing windows. But so far I have been with 0% luck in finding any sensible info on the broadcom drivers w.r.t. this issue.
(It is a shame because the Linksys boxes with their RP-TNC connectors and internal switch-mode power supply are just ideal for use in this kind of long range and outdoor situations. You can put them in a waterproof box outside near the antenna, supply DC via the unused wires of ethernet and no worry about exact voltage or corrosion of connectors)

So am also out of ideas for the moment.  The wl package for broadcom has a function 'phyreg' but it is undocumented  as it is proprietary. Perhaps these settings have something to do with this, perhaps not ...

One hint still; you get the best datarate when using the ad-hoc mode. In this mode, which only allows up to 11 Mbps in case of broadcom, there are no beacons sent and the timing windows appear more relaxed.  In my case, with 7 and 9 km, the improvement is from 1 Mbps to 2 Mbps.

good luck

Re: Help optimising wireless link

Thanks for the advice, do you know how to set the ASUS router to ad hoc mode?  Or is that something you just specify on the client side?

Based on what you say it seems that the best solution is to change the access point to something more sophisticated where you can tune the timeout parameter. It is, however, cheaper to try out the ad hoc mode, so I will most definitely try that first if I can get it to work.

Re: Help optimising wireless link

I did the sensible thing and checked the documentation, and found what I wanted regarding ad hoc mode.  It did not work very well for me.  Once I set the access points and client into ad hoc mode the throughput in both directions decreased.  The highest throughput of 4 Mb per second was reduced most, to 3.3 Mb per second, while the other was reduced from 1.9 to 1.7Mbps.

Still, I have faith in your theory.  Timing problems could be the logical cause of the problems, and it could explain the differences between uplink and down link.The highest throughput is transmitted from the Smart Bridges (outdoor) client, and it would seem logical that it is configured with transmission timeouts corresponding to long haul links.  The throughput in the other direction, from the openWRT access point, is somewhat less than half of the first direction, corresponding nicely with about every other packet having to be retransmitted.

Since I rely on much of the functionality of the access point as a router with firewalling and quality of service, it seems I might have to add a dedicated access point between the router and the client in order to achieve link speeds over the wireless connection to match the speed of the ADSL link.

A friend of mine works in the wireless ISP business, so I could probably borrow some real hardware from him to test the theory.

Re: Help optimising wireless link

I post this here as well,just to make sure smile

After the messages from you regarding my own post, I did some searching around and found a thread in another forum discussing the same problem: A procedure to improve the performance on long distance links using the wl utility was proposed in a post, and additionally, a utility which automagically sets some parameters, I do not know which, based on the distance:

I have been doing some experiments with the TX ACK timing, and I've come up with a small utility that changes a few parameters on the wireless chipset, which are *not* exported through wl.
The URL is
Syntax is: ./dctrl <max. distance in meters>
It probably only works on OpenWrt, but it might work on DD-WRT as well.

it works very well on my own asus wl-500g, increasing the transmitted rate from 1.8 Mb per second to around 5 Mb per second, and also increasing the rate in the other direction by a couple of hundred kilobytes per second from 4 Mb per second.

Hope this helps.