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

Reply via email to