So, the default behaviour of ROS is to not use RTS/CTS?No RTS/CTS in the past and polling was only used when Nstream was enabled.
Right now, in the Wireless Test package, we have also included RTS support for the RouterOS client, but you have to configure it:
http://wiki.mikrotik.com/wiki/Wireless_ ... S.2FCTS.29
And what about ROS AP with many ordinary radios (not ROS) connected to it (without NStreme)?OK, it's like this:
Previously RouterOS AP always replied with CTS to those who asked RTS, but RouterOS client never asked for RTS. Ie. the support was not in the client. Then we introduced NStreme polling to solve the hidden node problem.
Right now, in the Wireless Test package, we have also included RTS support for the RouterOS client, but you have to configure it:
http://wiki.mikrotik.com/wiki/Wireless_ ... S.2FCTS.29
Sorry, but this is not (100%) true.ROS AP with non-ROS clients always worked with RTS/CTS if the CLIENT REQUESTED RTS
Anyone troubleshooting wireless - a method to see what is on the air - is to use a wireless sniffer that captchures all packets from air and all frames actually - analyze probably with Wireshark, and please, when you are sure, submit probles to support@mikrotik.com and supports of other manufacturers if other equipment is part of the problematic setup. Post on the forums as well, so we Know that there is a problem and know to avoid it.Sorry, but this is not (100%) true.ROS AP with non-ROS clients always worked with RTS/CTS if the CLIENT REQUESTED RTS
Mikrotik 2.9.x on Routerboards 532 with CM9 cards in AP mode would never reply to RTS packets. We have tested this with various stations (WA2204, Ovislink 1120, ...) and it never worked.
The RTS started working in Mikrotik 3.x, but: on the same HW, Mikrotik 3.1x in AP B-only mode does not send CTS. We are also suspicious that Mikrotik in AP B/G mode does not send CTS to stations using 802.11B rates, but this is very hard to track.
These bugs are very annoying, because the proper RTS/CTS implementation is very important for exterior wifi networks with many hidden nodes.
I don't understand how could Mikrotik neglect such a fundamental feature for such a long time...
1.: "RTS/frag settings only on the client side." Does this mean the AP's don't need the wireless-test package and can be left working as they are? (What is then the use of the CTS-to-itself example given here: http://wiki.mikrotik.com/wiki/Wireless_ ... S.2FCTS.29 ?)From what I understand, the RTS/frag settings are set on the client side. You would never set this on the AP. Also, RTS/frag settings seem to be in the realm of voodoo science... some swear by it, others never use it and do just fine. As mentioned above, with nstream preventing the hidden node problem, there's no need to tweak the RTS/frag settings.
We have AP's running clients with RTS/frag settings, and some without. We have seen no noticeable improvement. In some cases if the client's RTS/frag settings are too low (256/512 or lower), it will result in poor performance for that client.
There are many reports stating that nstreme in the point-to-multipoint network with hidden nodes only make things worse. I found only this one report saying that in Nov 2008, Mikrotik made new p2mp nstreme polling algorithm which works well in point-to-multipoint.As mentioned above, with nstream preventing the hidden node problem, there's no need to tweak the RTS/frag settings.
See my comment on this here.1.: "RTS/frag settings only on the client side." Does this mean the AP's don't need the wireless-test package and can be left working as they are?
Just use google! Or read this and this document.(What is then the use of the CTS-to-itself example given here: http://wiki.mikrotik.com/wiki/Wireless_ ... S.2FCTS.29 ?)
Let say that the length of the RTS frame, transmitted on 1Mbit/s (802.11b) or 6Mbit/s (802.11g-only) is X micro seconds.4.: So, who can give me a nice guideline in which rts frame size to use?
You would use Fragmentation as last chance for transfering data over very noisy or weak links. Because the shorter the packet is, the bigger is the probability that it would be transfered without error on a bad link.5.: Packet fragmentations. What relation does this have in respect to frame protection and frame size? Can somebody give me some explanations here?
Exactly!I m a little confused.
I must activate RTS/CTS on all client?
Exactly!I m a little confused.
I must activate RTS/CTS on all client?
By the way, using the internal RouterOS sniffer tool gives me some Wi-Fi specific frames/packets, which is very good. No time to investigate further but will some day.
Specialized equipement: ROS wireless sniff + wireshark?The more clients have RTS enabled, the better. As I said, sniff frames off of the air and see for yourself (is done with specialized equipment). Since each manufacturer could make their device transmit crazy stuff, it depends a lot of factors, in every single case, as well as, what antennas the clients are using, what fw versions, how far are they, ....
And then we have this:OK, it's like this:
Previously RouterOS AP always replied with CTS to those who asked RTS, but RouterOS client never asked for RTS. Ie. the support was not in the client. Then we introduced NStreme polling to solve the hidden node problem.
Right now, in the Wireless Test package, we have also included RTS support for the RouterOS client, but you have to configure it:
http://wiki.mikrotik.com/wiki/Wireless_ ... S.2FCTS.29
Basically we want a conclusive answer now for the AP.dulik wrote:
normis wrote:
ROS AP with non-ROS clients always worked with RTS/CTS if the CLIENT REQUESTED RTS
Sorry, but this is not (100%) true.
Mikrotik 2.9.x on Routerboards 532 with CM9 cards in AP mode would never reply to RTS packets. We have tested this with various stations (WA2204, Ovislink 1120, ...) and it never worked.
The RTS started working in Mikrotik 3.x, but: on the same HW, Mikrotik 3.1x in AP B-only mode does not send CTS. We are also suspicious that Mikrotik in AP B/G mode does not send CTS to stations using 802.11B rates, but this is very hard to track.
These bugs are very annoying, because the proper RTS/CTS implementation is very important for exterior wifi networks with many hidden nodes.
I don't understand how could Mikrotik neglect such a fundamental feature for such a long time...
Our test of the current wireless-test package had mixed results.But I still don't know what is the situation after installing wireless-test on the AP!OK, it's like this:
Previously RouterOS AP always replied with CTS to those who asked RTS, but RouterOS client never asked for RTS. Ie. the support was not in the client. Then we introduced NStreme polling to solve the hidden node problem.
I would do this in case of an open source project like Madwifi. Even if it is quite tough job, because you need an AP with 2 stations and you need a hidden node. How to produce a hidden node on a office table? I thought about closing the AP and a node into a metal box, but letting the AP antena go through the box so the 2 other stations can hear it. But I haven't had the time to try so don't know if the metal box would really produce hidden node.Anyone troubleshooting wireless - a method to see what is on the air - is to use a wireless sniffer that captchures all packets from air and all frames actually - analyze probably with Wireshark, and please, when you are sure, submit probles to support@mikrotik.com and supports of other manufacturers if other equipment is part of the problematic setup. Post on the forums as well, so we Know that there is a problem and know to avoid it.
This is what we found: with wireless test, enabling RTS/CTS on our 5GHz AP with 4 clients did not improve anything. But I don't blame Mikrotik here, the clients are very far from the AP (3km) and this is absolutely outside of WiFi specification scope - WiFi was specified with propagation delay<1us in mind, and 3km is 10us - the same time as SIFS... So aside of hidden node problem, there may also be a timing problem.I only don't notice any differences when I enable or disable the rts/cts in the AP. But then again, I don' have the ability to really check or test that.
I am sure they must be testing also on x86, because things like nstreme2 does not work reasonably on something like RB532.MT is probably only testing in an environment with their own hardware which is, no surprise, routerboard!
We also have RBs on almost all our APs. There are various versions of MK running of them 2.9.x-3.22), but RTS/CTS is not working on any of them if the mode is 802.11b-only and clients are 802.11b/g.I have rb for all my AP's and 4 of them (rb500, rb433 and rb333) running wireless-test now seem not to have problems.
My impression about Mikrotik is falling rapidly since last year.You obviously work with other hardware for AP's and that might have compatibility problems.
You can't expect MT-ROS to work on all hw in the world flawless.
I bought 4 years ago two WRAP board based AP's. One failed already after some weeks. That's a 50% failure rate! (A bit unfair maybe, you can also call it bad luck. On my approx 200 rb`s I have a failure rate of less then 2% so far which is not bad. In reliability they outperform lmost other IT related hardware I purchased in the last 10 years with ease!This is what we found: with wireless test, enabling RTS/CTS on our 5GHz AP with 4 clients did not improve anything. But I don't blame Mikrotik here, the clients are very far from the AP (3km) and this is absolutely outside of WiFi specification scope - WiFi was specified with propagation delay<1us in mind, and 3km is 10us - the same time as SIFS... So aside of hidden node problem, there may also be a timing problem. Well, I am referring to a close quarter densily populated (antenas) environment with both ´hidden nodes´and lots of interference, even in the 5Ghz. (use of 10 different freqs. in small area with lots of concrete house blocks and low antenna's). I also have a network in the country side were clients are on average 1 to 5 km's away. I don't use rts/cts here and due the lesser interference levels I actually have much better link quality here. In my humble opinion rts/cts makes no difference if there are only a handfull clients to an AP. CSMA/CA works fine under such condition and how big is the change you have a ´hidden node´ problem if you only have 4 clients?I only don't notice any differences when I enable or disable the rts/cts in the AP. But then again, I don' have the ability to really check or test that.
We are still testing how the new nstreme polling improves the behaviour of the p2mp with long links, but it is very new thing, so sorry for not being able to tell you now. Well, there is plenty info on that in this forum. The bottom line I distilled is that it is great on heavy use links and off course on a MT platform consistent network only. I run it without polling on my back hauls and it actually improved the throughput. I ran some load tests and the throughput was increased by 1 to 1,5Mb on average with nstream.
I am sure they must be testing also on x86, because things like nstreme2 does not work reasonably on something like RB532. Well, they must be. But how reliable will that be when it comes to hardware compatebility? x86 is probably the heaviest differentiated platform you can imagine! And why should RB532 not work with nstreme2? nstreme2 will do fine on it but probably the cpu just cant process the increased data flow. I have been reading several success stories in the past on this forum on the nstreme2 protocol use on 5xx boards. So if set up properly it works....MT is probably only testing in an environment with their own hardware which is, no surprise, routerboard!
You asked for the status of wireless-test and in my reply, I gave you a link to the thread in this forum where the people are reporting their success and failures when testing it. I have added our report about another failure similar to what has already been reported, proposing that wireless-test is still unstable and should not be taken as "life-saving equipment". If MT has implemented the IEEE 802.11 MAC protocol when it comes to DCF accordingly (and I would not see why they shouldn't) then I see actually no reason why it should not work. But, time will tell, I just changed a complete AP-CPE network towards it to see how it behaves.
We also have RBs on almost all our APs. There are various versions of MK running of them 2.9.x-3.22), but RTS/CTS is not working on any of them if the mode is 802.11b-only and clients are 802.11b/g. I can't say nothing on that since I use the 802.11a only. But the DCF handshaking rts/cts routine should work for both the same according one of the links you gave me yourself. http://www2.tku.edu.tw/~tkjse/6-1/6-1-8.pdfI have rb for all my AP's and 4 of them (rb500, rb433 and rb333) running wireless-test now seem not to have problems.
My impression about Mikrotik is falling rapidly since last year.You obviously work with other hardware for AP's and that might have compatibility problems.
You can't expect MT-ROS to work on all hw in the world flawless.
With 3.x, they have introduced many subtle improvements, but also many bugs and the importand things are still missing. My experience is that 3.x is a great improvement in managing routers. OK, I also have been driven mad in the early versions because there were so many upgrades needed. But from a complicated and extended OS you can't expect so much different. I work with several other operating systems for PC's, domestic indoor routers, and other equipments and they all need regular sw updates. What version is the latest Linux distribution? And in which flavour you want it? Personally I think MT is not doing any worse then the industry in general. And if you look at the enormous amount of new users they made the last year you can't defend they make a poor product.
I also think they have made a great mistake by making Routerboards with completely different HW architectures. Now, aside of x86 which is their original platform, they must support also PPC8547 (RB1000), MIPS Atheros AR7130 (RB411-433AH), Freescale Power Quick MPC8343E (RB600), PowerPC E300 (RB333), MIPS32 aca Infineon 5120 (RB133, RB532), ... Same story again, which vendor works with the same hardware as 5 years ago and still goes strong? I am not saying users are always happy with choices made. But every vendor makes choices upon market expectations and hardware availability that later might prove to be wrong. But they still have to keep their bookkeepers happy and try to sell what they can of their not so popular stocks... It counts for the auto mobile, domestic house hold, or whatever industry.... why should MT do better?
This is not just about CPUs, these are really completely different board architectures, which means - what works on RB532, does not necessarily works on RB600...etc.
If you know Linux a bit, you know how much work it is to compile and test just one stupid SW package. Now, Mikrotik must do this for so many different architectures!!
And this trend will certainly continue. Example: all the current Routerboards are useless when it comes to 802.11n, because most of the 802.11n dual-band cards mass-produced for notebooks has the Mini Card (PCI Express) form. So we are looking forward to a brand new Routerboard with Mini Card, but the same time, we are sure that the new architecture will bring a new set of problems. Doesn't that count for the whole industry?
If I'd be Mikrotik, I would stop developing all those different HW branches. I would concentrate on the SW and I would support only the platform which is most easy for any Linux development: x86. I would make partnership with somebody like PCEngines to get their WRAP/Alix boards for such a price that the Mikrotik licence could be included in the end-user price similar to the current Routeboards.
Thanks for the confirmation!By the way, I can confirm CTS does not work when in Wi-Fi 802.11b rates and I can also confirm that in 802.11g there are more retransmits than in 802.11b even with 54,48 Mbits disabled. I also have come to believe that MikroTik Latvia should work harder! And what dulik is saying - I think he is right.
I have not tried this. But I have the vague impression that RouterOS sniffer works only on the ethernet MAC layer, not 802.11 MAC (ethernet frames are carried in the 802.11 frames as the data payload). The RTS/CTS belongs to the WiFi layer.About testing: Will it be enough to sniff from the AP interface with the RouterOS sniffer tool and then analyze with Wireshark? I should try this... to see if I can see RTS and CTS frames etc.
Sorry from me too, the last paragraphs from my last post are irrelevant in the thread.Oh yeah, by the way. I think we are drifting from the topic here. Sorry.
I sniffed a client in RTS/CTS mode, but I don't see this type of frames...By the way, I can confirm CTS does not work when in Wi-Fi 802.11b rates and I can also confirm that in 802.11g there are more retransmits than in 802.11b even with 54,48 Mbits disabled. I also have come to believe that MikroTik Latvia should work harder! And what dulik is saying - I think he is right.
About testing: Will it be enough to sniff from the AP interface with the RouterOS sniffer tool and then analyze with Wireshark? I should try this... to see if I can see RTS and CTS frames etc.
I m a little confused.
I must activate RTS/CTS on all client?
Yes, this option is called "RTS Threshold" in all other WiFi devices/drivers.I just want to add one remark to this; Yes, best is to enable hw-protection-mode=rts-cts on all clients. BUT, ALSO set the hw-protection-threshold! the actual working of the rts-cts is triggered by this setting.
Yes, I confirm this, I have noticed this bug also on the x86 version.IMPORTANT!
Together with this I think I found a bug in the MT software as well!
The "Hw. Fragmentation Threshold" in Winbox sets actually the HW. Protection-threshold.
Thus, by setting the "hw-protection-threshold=256" you will see in winbox the "Hw. Fragmentation Threshold" jump to that value!
These settings are not the same! I took me hours before I realised that something weird was happening!
This happens on a rb500. Can anyone of you confirm this bug? If so I will report it to MT.
Rudy
I don't know if this is a result of my bug report (I have not received any feedback from Mikrotik), but look what I found in the Mikrotik 3.23 change log:OK, so here is my bug report:
I am going to try if this solved our problem with RTS/CTS not working with the B-only APs.What's new in 3.23:
...
*) wireless - fix for RTS/CTS when used together with dynamic ACK timeout;
Yes, this option is called "RTS Threshold" in all other WiFi devices/drivers.
(why Mikrotik always rename things to some self-invented names, when the terminology is existing and widely used for so many years? Another example: HTB "rate" vs. Mikrotik "limit-at". HTB "ceil" vs. Mikrotik "max-limit", ... many other examples can be found in all GPL packages Mikrotik uses...)
They should file it under "Advanced GPL-itis"
Should we report their strange terminology in the "-test" packages as bugs?
Which ROS version?RTS/CTS has ALWAYS been on the AP's. You don't want to change the settings on your AP's. Only enable on the Clients.
jwcn, we are discussing MT wireless solution. CTS will not perform unless client supported RTS.Incorrect. ROS has always support RTS/CTS in the AP. No need to upgrade, install wireless-test or anything else.
In fact, you don't want to change the AP settings for RTS/CTS - only enable and tweak in the CPE.
I'm getting a little confused why it's important to know that it was always available on AP when CPE was ignoring CTS until wireless test package was rolled out. Doesn't it take two to tango?I have to agree with jwcn, it was always available in AP.
I mend to say in my earlier post I have it now enabled on all my clients. AP settings are just default.
Sorry for the confusion, it was late at night...
The AP has to support RTS/CTS by default just because if one connect a non MT CPE to the AP it will not probably work - because the CPE will use RTS/CTS probably. If the AP has RTS/CTS disabled (i.e. it doesn't respond to RTS requests with appropriate CTS) the CPE (which is sending the RTS and is waiting for CTS) will not work. It saved Mikrotik company many support calls, IMHO.I'm getting a little confused why it's important to know that it was always available on AP when CPE was ignoring CTS until wireless test package was rolled out. Doesn't it take two to tango?I have to agree with jwcn, it was always available in AP.
I mend to say in my earlier post I have it now enabled on all my clients. AP settings are just default.
Sorry for the confusion, it was late at night...
The HW protection threshold defines a packet size which is allowed to sent without asking for the permission to sent. It means packets shorter than the limit are sent immediately by the client station. Larger ones has to use RTS and wait for CTS. So if you use 2346byte limit it is the same as dissabling the RTS/CTS on the client. In our network we use 512 bytes as the limit.Sorry to revive this 'beaten to death' subject...
So I get it, only enable rts/cts on clients.
But what value for HW protection threshold is optimum? 2346(default on UBNT devices)? But with MTU at 1500, would any packet ever reach that size? (Permission to flame me for ignorance is granted) The 'default' when enabling it is 0, does that mean it is always enabled, or never? Assuming all AP & clients are on ROS 4.5
While I've got you here now, can someone explain where frame-lifetime would be of any use or need tweaking?
Ekkas
The HW. Fragmentation Threshold has nothing to do with RTS/CTS. It should affect the maximum wireless frame size (http://wiki.mikrotik.com/wiki/Manual:Interface/Wireless). If you enable it (it means define a value between 256-3000) the MT will divide large frames into sequence of smaller ones (max size defined by hw. frag threshold). If you have this option disabled IMHO the size of the frames is in most cases defined by wireless interface MTU (1500 bytes by default) - the IP system will not generate larger packets or will fragment larger ones.So...leave the AP RTS/CTS alone. This is how our AP is set at present. If I click on the Hardware Frag Threshold drop down it shows 256 (default) but I have not applied that, just left it like you see here.
Is this correct? Everything else looks fine?
Thanks
I didnt make good experience using RTS/CTS. Used it on ROS4.5 and things areI just have to put in my two cents here.........
I am a WISP with long range clients. I have several Mikrotik APs with around 100 (+/- 80 clients) where all of the clients are hidden from each other. AKA - no client can hear another client talking to the AP.
What I have found works best for APs in my network is the following:
All client APs are set to use RTS/CTS with a hardware-protection-threshold set at 32
- note 100% of nearly 1,000 clients system wide all use RTS/CTS and the RTS threshold is set at 32. Any client wanting to send anything bigger than 32 must use RTS first and wait for a CTS from the AP.
My APs do have hardware-protection-mode set to NONE.
note - do not even try using "cts to self" or "rts cts" on an AP like my load/distance because it will kill the throughput for everybody.
edit - add another note--- APs set to not use RTS/CTS will still respond to clients asking for a RTS by sending the requesting client a CTS. When a CTS is sent to a client, all clients on the AP stop transmitting which gives the client a clear and clean channel to send data to the AP (the client does not get stepped on). Without this RTS/CTS setup in place - there can be a ton of clients all transmitting at the same time and then nothing makes it to the AP from clients or from clients to the AP.
RTS/CTS does slow down the network - but - if you have a serious hidden node problem (where clients on your AP can not hear other clients on your AP) and you have more than 20ish clients, then give this a try.
I have played around with RTS/CTS settings for more than 5 years on large WISP networks and this is the only thing I have found that really works.
FYI - I have about 100 APs which range from customer connection counts from 30 to 150+ clients each
Tom Jones - a WISP up here in North Idaho
The ap was congested. All Clients had Big latency.re:I didnt make good experience using RTS/CTS. Used it on ROS4.5 and things are
getting worse. One client managed to reduce the performance of the whole
network to a minimum. Disabling RTS/CTS on this client made things better.
May be an implementation problem or an older atheros card who did not behave
well.
Questions:
#1 Was the AP congested
#2 Were there 20+ish clients
#3 Was RTS/CTS turned off in the AP
#4 Were all clients set to use RTS/CTS with a small frame size to trigger a RTS request from each client
#5 Was the RTS/CTS threshold set to a low number on all clients (I use 32)
If #1 is no and#2 is less than 20 - then using RTS/CTS could actually slow down the network because the additional client timing delays to send RTS to the AP and receive back a CTS from the AP could actually take longer than just letting RED take care of the congestion. However - if you have more than 20ish clients then client RTS/CTS may actually be faster than RED
If #3 is if no/off - An AP should never be set for RTS/CTS. It just takes up a bunch of air time for the AP to send a RTS and wait for a CTS back from a client - never use RTS/CTS on an AP.
If the AP is set for CTS-to-Self - this will also slow down the network. With this setting in an AP, the AP is forced to send out a CTS at the highest rate that all clients can listen to. If you have a B connection to your AP, then the AP is forced to send a CTS at 1 or 2 or 5.5 or 11 meg rates. So if you have an AP with a client at a 54 meg connection and a B client with a 1 meg connection, your AP is forced to send a CTS at 1 meg rate for every client it talks to. This slows down the throughput for the entire network.
#4 - If using RTS/CTS in your client radios - all clients must use RTS/CTS. If you have a mix of some clients using RTS/CTS and some clients not using RTS/CTS then you are giving a poteintial unfair advantage for clients not using RTS/CTS to talk to the AP.
Example - An AP has 100 clients. 99 of the clients are set to use RTS/CTS and one client does not have RTS/CTS enabled. If this one non RTS/CTS client is trying to upload a large amount of data, then it will be stepping on the 99 other clients which must ask RTS and wait for CTS from the AP. When a client steps on another client then both clients loose there data they are sending/receiving and it takes some retries and more air time to correct the problem. If this happens in a congested network then you only add more congestion to the allready congested network.
#5 - small client RTS/CTS threshold settings are important. If a clinet has a large RTS/CTS threshold then the clients may have the ability to start talking to the AP without first sending a RTS and waiting for a CTS from the AP. So, in a congested network which uses RTS/CTS, a single client with a large RTS/CTS threshold can again cause collisions and add more congestion to an already congested network.
NOTE - in my opinion - RTS/CTS should only be used on larger networks with congestion and hidden nodes. Also if you use RTS/CTS it needs to be every client and not just some clients.
You considered using nstreme or nv2?im caught in the hidden node problem,having 20+clients in coverage of 1.5 km
using tplink 501g as cpe, got collision by some clients.
sing 433 ah 5.6 router os in bts
By last post in the forum,
i came to know.
1.To enable rts/cts nothing to change ap end settings.
2.Enable rts setting on all Client CPE's
but, i want know how do select the value of rts/cts mentioned in cpe.
may i use same value on all cpe's means which value is preferrable..?
if different values between cpe's means how do i select it ..?
help me solve the hidden node issue
no nstream or nv2You considered using nstreme or nv2?im caught in the hidden node problem,having 20+clients in coverage of 1.5 km
using tplink 501g as cpe, got collision by some clients.
sing 433 ah 5.6 router os in bts
By last post in the forum,
i came to know.
1.To enable rts/cts nothing to change ap end settings.
2.Enable rts setting on all Client CPE's
but, i want know how do select the value of rts/cts mentioned in cpe.
may i use same value on all cpe's means which value is preferrable..?
if different values between cpe's means how do i select it ..?
help me solve the hidden node issue