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

Reply via email to