Given what you just posted, I would have to agree with 0ldman. Especially when you say big city. There could be tens if not hundreds of 5 ghz signals in a 7 km radius from your broadcast point and with you include that there isn’t LOS to some areas, it gets even worse. If 41 us is what you are having success with on your longest link, you should set 41 us for everything. If you do some detailed reading on ack timeouts for madwifi drivers, you’ll find that they suggest ALL clients be static.
To cite the madwifi wiki:
"The bottom line is that you need to determine the distance between the radios (or the maximum distance in the case of a mobile installation), calculate the time of flight of the packets in microseconds, and then set the ACK timeout to a little more than a round-trip time as the CTS timeout as well as the Slot time to the one-way time. These settings are available in /proc/sys/dev/wifiX as slottime, ctstimeout, and acktimeout. The easiest way to change these settings is using the athctrl utility provided with the driver. For example, athctrl -d 15000 sets these parameters appropriately for stations located 15000 meters apart (approx 9.4 miles). Note that it is important that all stations that are communicating with each other use the same value. So if you have an access point in a point-to-multipoint set-up where one client is 10000 meters away and the other is 15000 meters away then you should run athctrl -d 15000 on all three nodes. "
While this applies to linux using the athctrl adjustment, the general idea should apply to all networks. MT plays dynamic attempts to find the idea ack for max throughput without packet loss PER CLIENT as I understand the design. That means, if you have a client at 4 km talking to your base and a client at 7 km talking, it will either switch back and forth or there will be loss to the 7 km client.
The entire network needs to have the same ack timeout and should be configured static in a multipoint network, IMHO. All of our multipoint networks are configured that way and while the closest users don’t see the maximum throughput possible, they have a solid, stable link without hurting the people at long distances. We played with dynamic in our network for a while and I wasn’t really impressed with it.
When you say lower freq gives you better results and you say big city, I’d guess once again, interference. 5.8 GHz is the most commonly used UNII band. In the US, 5725 - 5825 MHz UNII 3 - Generally used by WISPs - may not cause interference to other services, and must accept interference that may cause undesired operation. As classified by the FCC. If you check around though, cordless phones are usually 5.8 ghz, as are most other 5 ghz household devices.
There is no reason you should need static 6Mbps with the signal levels you are talking about, we have run 54 mbit links over 60km with ~-65 db signal. If you want more throughput, crank some of your locations up to at least 12. My 2 cents(which is even more worthless with the state of the US dollar).