Run tcpdump and look at 'netstat -i' counters. It seems likely there is some bug in the driver, but given how much is working it seems likely that it is fixable (with code changes). In particular, it seems there is some mishandling of short packets. You might also get a USB/wifi adaptor that is known to work. I am pretty sure that the Edimax EW-7811Un is ok, and it's pretty inexpensive ($9 at amazon in the US). See urtwn(4).
Attachment:
pgpb62hK9xu_e.pgp
Description: PGP signature