On Wed, Jun 23, 2010 at 1:32 AM, Bob Copeland <m...@bobcopeland.com> wrote: > On Tue, Jun 22, 2010 at 3:21 AM, Jin YunYe <yunye...@gmail.com> wrote: >> Thanks for your reply, Bob. >> >> My problem is not exactly compatibility of hardware. Instead, I want >> the driver to send out the response as soon as it receives a packet >> (when notified by interrupt ath5k_intr() ). >> >> I am thinking of calling ath5k_tx(struct ieee80211_hw *hw, struct >> sk_buff *skb) inside ath5k_tasklet_rx(). However, I have difficulty in >> passing the correct skb. >> >> If I am not wrong, struct sk_buff *skb should point to a complete WLAN >> packet. Could anyone please advise on how to prepare such a packet. > > You are correct, it is a complete packet. The best advice I can give is > to look at the IEEE 802.11 standard for the packet format. Create such > a packet in the skb->data (see documentation for dev_alloc_skb, skb_put, > etc.) and then you can invoke ath5k_tx(). Note, however, that locking may > be tricky; you might want to do all rx/tx processing in the irq with a > single lock for this particular task. > > When you call ath5k_tx, the packet is put on a queue. The queue control > unit (QCU) determines when this packet is ready according to a qdisc, and > the DCF control unit (DCU) determines when it is actually sent according > to 802.11 medium access controls, so things like contention window settings > on the queue will have an impact on the delay from hardware to the air. > You'll have to read the source to see how those parameters are programmed. > > The hardware itself handles control frames such as ACK/RTS/CTS, so we > don't generate those. > > -- > Bob Copeland %% www.bobcopeland.com > Some updates... I have been reading and trying to change the source code these few days. I found that by changing the "rfilt" value in "ath5k_configure_filter()" for the case of NL80211_IFTYPE_STATION, control packets such as CTS and ACK can be received by the hardware.
I will be looing at qcu and dcu codes to see if there is a way to compute the queuing time for the packet. Thanks. YY _______________________________________________ ath5k-devel mailing list ath5k-devel@lists.ath5k.org https://lists.ath5k.org/mailman/listinfo/ath5k-devel