I just got started using the driver. In the README section "Known Problems" No.5 you mention the suboptimal
performance of the driver.
I noticed that in the latest implementation the headroom in the sk_buff to be transmitted is too small to fit the LLC+SNAP
plus WLAN header. As a result a new sk_buff is allocated and the whole frame is copied to the new new sk_buff (ieee80211_encap()->pskb_expand_head())). Not sure how much the performance penalty is but it is definitely
The copying of the frame can be avoided by either using a separate descriptor for the WLAN header (see comment in
A quick fix would be to set the net_device->hard_header_len to 32 (LLC+SNAP+WLAN header) after ether_setup()
was called in ath_attach(). ether_setup() [net_init.c] sets it to ETH_HLEN, i.e. 14.
just an idea.