cvs commit: src/sys/dev/ral if_ral.c src/sys/dev/usb if_ural.c

Sam Leffler sam at errno.com
Mon Aug 29 23:27:19 GMT 2005


Sam Leffler wrote:
> Damien Bergamini wrote:
> 
>> damien      2005-08-21 14:16:20 UTC
>>
>>   FreeBSD src repository
>>
>>   Modified files:
>>     sys/dev/ral          if_ral.c     sys/dev/usb          if_ural.c   
>> Log:
>>   Fix basic rates set for 802.11a/g operating modes.  This can 
>> significantly
>>   improve transfer rates in 802.11a/g.  Fix IFS settings in ral(4) too.
>>   
> 
> 
> With these changes I can now sometimes associate as a station with one 
> of my production ap's in 11g.  Other times I see the previous behaviour 
> that I reported 1+ months ago.  The AssocReq frame to the ap is 
> rejected; it appears the ral sta side does not ACK the Auth response 
> frame from the ap so it then rejects the AssocReq.  Specifically I see 
> retransmits of the Auth response from the ap until the AssocReq comes 
> from the sta at which time the ap sends a Deauth.  I also see ProbeResp 
> frames from the ap being retransmitted which also indicates failure to 
> ACK by the sta.  In the one case where I was able to associate I could 
> transfer data ok so I'm guessing you've still got setup issues prior to 
> association and/or the handling of management frames.  If you want a 
> packet trace let me know.
> 
> Otherwise I see problems when ejecting a ral cardbus card.  It appears 
> the driver doesn't recognize when a card has gone away when scanning; 
> e.g. you'll see lots of msgs of the form:
> 
> ral0: could not write to RF
> 
> until there's a timeout (device timeout) followed by
> 
> ral0: could not read from BBP
> ral0: could not write to BBP
> 
> At some point LONG time past I see ral0: detached; but sometimes not 
> until I insert another card.
> 
> The above issues happen with both my ral cards (Asus WL-107g and Zonet 
> ZEW1501).  All this is with CURRENT of today.

I spent some time looking at the problem w/ not associating and see at 
least two issues: the 802.11 duration in mgt frames is calculated 
incorrectly (short preamble is not handled properly) and the sequence 
number is not monotonically increasing.  I also don't understand why 
you're using a fixed 2Mb/s rate to send mgt frames; this may not be 
permissable.  I tried correcting these problems but still cannot get 
reliable communication so there's something else.  Whatever is wrong is 
definitely at the lowest level as ACK's from the sta are not always 
sniffed which typically means the card is not implementing the media 
access properly.

Separately I had several panics when ejecting cards when the driver 
cleans the tx ring.  It looks like the refcnt handling on node 
references is not synchrnized properly.

	Sam


More information about the cvs-src mailing list