I believe the acknowledgement packets are sent by the MAC controller chip,
and not by the driver since they are time sensitive packets. Most likely,
the packets you are sending are not getting there in time, and the retries
are happening before your ACK is even sent. I guess you could try setting
the ACK timeout to a really long value, but I'm not convinced that would be
enough. I don't think I've ever heard of anyone successfully sending ACK
packets from driver code.
[mailto:madwifi-devel-bounces@...] On Behalf Of Dennis
Sent: Wednesday, January 03, 2007 2:15 PM
Subject: [Madwifi-devel] acknowledging frames for spoofed MACs
I am working on a little program, that tries to improve roaming-abilities of
madwifi. My software is based on a packetinjection-patch for monitormode,
that aircrack-ng provides (I use madwifi 0.9.2 with madwifi-ng-r1816-patch).
Now I reached a point, where I definitely need to acknowledge wireless
packets on my own. The driver won't do it for me, since the packets, that I
want to acknowledge are destined for a MAC-address, that my card does not
provide. The corresponding address is on LAN-side behind the machine, that
my program is running on.
So if I start acknowledging packets for a different MAC, the accesspoint,
that I am talking to, won't accept these acknowledges. It just keeps sending
the packets on and on, since it "believes" the frame not being acknowledged
If I sniff my genereated acknowledgement-packets with wireshark, they looks
just like they would be copies of those acknowledgment packets, that a
WLAN-card in station-mode provides, meaning where an accesspoint doesn't
pump out packets again and again.
I read in the IEEE802.11-standard, that an acknowledgement-packet has a
CRC-unit at its end (32bit of data) and I tried to generate such a packet on
my own and put it at the end of my generated acknowledgement-packet. But
still, there is no effect, the accesspoint keeps sending its packet like
they wouldn't have been acknowledged yet.
By the way: shouldn't this CRC32-stuff be done by the driver itself? I mean,
if I send packets with the source MAC being the MAC of the physical card in
use, everything works fine, but if I send packets with a different MAC as
source, it stops working.
Keep in mind: the acknowledgment-packet doesn't even contain the sender's
Thanks a lot for reading and in advance for every little piece of help!
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
Madwifi-devel mailing list