Hi Adrian,

It really works!  When adding
the REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_ACK_DIS)
after ath9k_hw_process_ini(), Wireshark monitors no IEEE ACK any more.

There is another question. It is found the transmission rate is really low
even with UDP packets after disable the ACK. Does it mean some related
setting/code is needed in the transmitter side to cooperate the receiver's
no ACK?

Thank you.

Best,
Leon


On Thu, Jun 9, 2011 at 10:05 PM, Adrian Chadd <[email protected]> wrote:

> I'd likely slide it in somewhere after ath9k_hw_process_ini() in
> ath9k_hw_reset().
>
> Good luck!
>
>
> Adrian
>
> On 9 June 2011 21:54, Liang <[email protected]> wrote:
> > Hi,
> > There are three functions where AR_DIAG_SW is set with REG_SET_BIT(), but
> > I'm not sure in which function I should add REG_SET_BIT(ah,
> > AR_DIAG_SW, AR_DIAG_ACK_DIS). Do you have any suggestions?
> > function1: ath9k_hw_abort_tx_dma()
> >   REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_FORCE_CH_IDLE_HIGH);
> > function2: ath9k_hw_setrxabort()
> >   REG_SET_BIT(ah, AR_DIAG_SW, (AR_DIAG_RX_DIS | AR_DIAG_RX_ABORT));
> > function3: ath9k_hw_abortpcurecv()
> >   REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_RX_ABORT | AR_DIAG_RX_DIS);
> > Thank you.
> > Best,
> > Liang
> >
> >
> > On Thu, Jun 9, 2011 at 4:07 PM, Adrian Chadd <[email protected]> wrote:
> >>
> >> Best thing to do is look at the code that disables ACK in the TX
> >> descriptor and set that.
> >>
> >> There's also the DIAG register, as mentioned. For ath9k:
> >>
> >> reg.h:#define AR_DIAG_SW                  0x8048
> >> reg.h:#define AR_DIAG_ACK_DIS             0x00000002
> >>
> >> Find where AR_DIAG_SW is set in the ath9k code (it's fiddled with in a
> >> few places) and call the REG_SET_BIT() appropriately.
> >>
> >> Do the same for ath5k once you find the right register/field definition.
> >>
> >> HTH,
> >>
> >>
> >>
> >> Adrian
> >>
> >> On 9 June 2011 15:03, Liang <[email protected]> wrote:
> >> > Hi Adrian,
> >> > Thank you. May I ask how to set these registers to disable the ACK in
> >> > the
> >> > ath5k/ath9k driver?
> >> > Best,
> >> > Leon
> >> >
> >> > On Thu, Jun 9, 2011 at 2:32 PM, Adrian Chadd <[email protected]>
> wrote:
> >> >>
> >> >> No, retry doesn't stop ack's, it just stops the hardware from
> retrying
> >> >> a packet if it hasn't heard an ACK.
> >> >>
> >> >> You can fiddle with the diag register, or you can just ensure that
> the
> >> >> relevant bit in the TX descriptor isn't set.
> >> >>
> >> >> fgrep NOACK ath9k/*.h
> >> >> mac.h:#define ATH9K_TXDESC_NOACK                0x0002
> >> >>
> >> >> fgrep NOACK ath5k/*.h
> >> >>
> >> >> fgrep NOACK *h
> >> >> desc.h:#define AR5K_2W_TX_DESC_CTL1_NOACK_5211          0x00800000 /*
> >> >> [5211] no ACK */
> >> >> desc.h:#define AR5K_4W_TX_DESC_CTL1_NOACK               0x01000000 /*
> >> >> no
> >> >> ACK */
> >> >> desc.h:#define AR5K_TXDESC_NOACK        0x0002  /*[5211+]*/
> >> >>
> >> >> There's likely some API you can use at a higher level to signify to
> >> >> the TX code that no, you don't want an ACK for the packet.
> >> >>
> >> >> Eg, look at ath9k/setup_tx_flags():
> >> >>
> >> >>        struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
> >> >> ...
> >> >>        if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK)
> >> >>                flags |= ATH9K_TXDESC_NOACK;
> >> >>
> >> >> HTH,
> >> >>
> >> >>
> >> >> Adrian
> >> >>
> >> >> On 9 June 2011 13:55, Liang <[email protected]> wrote:
> >> >> > Hi,
> >> >> > I want to know if the ACK at 802.11 MAC layer can be turned off in
> >> >> > the
> >> >> > ath5k/ath9k, and how can it be done?
> >> >> > On the other hand, does the command "iwconfig wlan0 retry 0"
> disable
> >> >> > the
> >> >> > MAC
> >> >> > retransmission? Is it the same to turnoff the ACK?
> >> >> > Thank you!
> >> >> > Best,
> >> >> > Leon
> >> >> > _______________________________________________
> >> >> > ath5k-devel mailing list
> >> >> > [email protected]
> >> >> > https://lists.ath5k.org/mailman/listinfo/ath5k-devel
> >> >> >
> >> >> >
> >> >
> >> >
> >
> >
>
_______________________________________________
ath5k-devel mailing list
[email protected]
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to