> > Hi! > > On 12/19/2011 6:38 AM, 李刚 wrote: > > Hi everybody! > > > > My wireless card is AR9280. I set the IEEE80211_TX_CTL_NO_ACK flag before > > send a packet, but found it no use. It still wait for an ACK. Then I read > > the code, > > in ath9k_htc_tx_data(htc_drv_txrx.c) , it seems there is only two flags: > > > > #define ATH9K_HTC_TX_CTSONLY 0x1 > > #define ATH9K_HTC_TX_RTSCTS 0x2 > > > > None is about ack. > > > > Does anyone know how to make this flag work properly? > > > > As an FYI if your card is a AR9280, then you should be looking in xmit.c > and not at the HTC related code. Hi, Daniel, Thanks you ! Sorry, I didn't make it clear! My 9280 is an USB card, so the related code is htc_drv_*.c. > > I am also working on this issue to enable per-frame no-ack and have > already tracked it down to the following snippet in the function > ieee80211_tx_prepare (mac80211/tx.c). > > if (is_multicast_ether_addr(hdr->addr1)) { > tx->flags &= ~IEEE80211_TX_UNICAST; > info->flags |= IEEE80211_TX_CTL_NO_ACK; > } else { > tx->flags |= IEEE80211_TX_UNICAST; > if (unlikely(local->wifi_wme_noack_test)) > info->flags |= IEEE80211_TX_CTL_NO_ACK; > else > info->flags &= ~IEEE80211_TX_CTL_NO_ACK; > } I have seen these codes in tx.c, and at first I thought it should work, but does not. > > So if you send a unicast frame without this wifi_wme_noack_test flag set > then mac80211 will force the frame to require an ACK. To set the flag, > > # sudo -s "echo 1> /sys/kernel/debug/ieee80211/phy0/noack" > > Assuming phy0 is the wireless card with which you are wanting to do the > frame injection. The downside to this is that now every frame is passed > to ath9k with the no ack flag set. > > Daniel > > -- > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html