Dear Sujith, It works perfectly by manipulating AR_DurUpdateEna.
Thank you so much : ) Best, -Yi-Hung On Thu, Jul 3, 2014 at 12:39 PM, Sujith Manoharan <suj...@msujith.org> wrote: > Yi-Hung Wei wrote: > > I am doing some experiments about virtual carrier sense that I > manipulate the > > duration field in RTS/CTS frames. I manually inject CTS frames, set the > > duration field to a specific number (i.e. 2000), and use a sniffer to > monitor > > those frames. However, the duration filed is not the desired number as I > > filled in. The duration filed is always 0. > > Try manipulating the usage of AR_DurUpdateEna in the TX descriptor > in ar9002_set_txdesc() @ ar9002_mac.c > > This field controls whether the HW MAC overwrites the duration field in > the frame when it is sent out. > > > I also observed that to enable CTS for regular data frame (by > > setting ATH9K_TXDESC_CTSENA in xmit.c). Hardware generate a CTS frame > for the > > data frame, and the hardware sets the duration field of > the corresponding CTS > > frame automatically. I am wondering if there is some way to force the > hardware > > to send out CTS frames with manually configured duration field. > > You can try experimenting with the AR_RTSCTSRate field in the TX > descriptor. I think the MAC uses this field to fill the duration > for RTS/CTS frames. > > Sujith >
_______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel