From mboxrd@z Thu Jan 1 00:00:00 1970 From: Federico Tramarin Date: Fri, 05 Dec 2014 07:31:30 +0100 Subject: [ath9k-devel] help to keep a fixed rate with broadcast packets Message-ID: <54815142.70200@dei.unipd.it> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ath9k-devel@lists.ath9k.org Hello everyone, first of all thank you very much for the support this mailimg list provides to the users/developers of ath9k drivers. I am a PostDoc researcher, and I am working on a project related to an experimental IEEE 802.11n performance analysis. For purposes of research, in my experimental session I need to be able to purposely set the tx rate (MCS) of packets sent in broadcast, and keep it fixed (no rc). More in detail, I need to sent packets between two nodes (say, a client server UDP application), and to this aim I am using 'scapy' for transmission at level 2, or even at level 3 of the stack. I need the packet have a broadcast L2 dest address, since this way the retransmission/backoff algorithm will be avoided. The problem is that broadcast L2 packets are sent always at a very low tx rate (typically 1 MBit/s, strange!) with respect to unicast packets, even if I indicate the frame is of type data. It seems that being a broadcast packet it is treated af a typical management/no-ack/control frame, hence resorting to the using of a rate picked from a basic rate set. The possible solutions I tried are: - use of iw -> I (with much difficulties) can control the tx rate (actually I need to specificy the MCS), but have not control of the rate used for broadacst packets. Also, I have no way to change the rate in the basic rates set. - use of (old) iwconfig -> I have control of the tx rate, honestly more reliably that with iw. However, iwconfig does not allow to specify the MCS, and I am stuck to b/g tx rates. The rate set with iwconfig is used both for data and for broadcast packets! - use the fixed_rate_idx in the debugfs. The index introduced is used quite immediately if I use unicast. Has no effect on broadcast frames. Looking at the code, this behavior is quite obbvious. So I have actually two questions: 1) What is the correct/possible way to control the MCS for broadcast L2 frames? 2) Why iwconfig allowed me to change flawlessly their rate, while iw didn't? What is the difference? Couls I reproduce the same behavior with iw, which in turn knows about MCS? 2b) Ok, I said two :)... Can I extend the functionalities of fixed_rate_idx also to broadcast packets, bypassing the rc? Hope someone very kind could help me with this problem. And hope to have been sufficiently clear in my description. Thanks in advance for any precious help Kind regards Federico Tramarin, PhD National Research Council of Italy, CNR-IEIIT University of Padova, Italy