Re: [Madwifi-devel] Long distance problems - Atheros 5211
Status: Beta
Brought to you by:
otaku
From: Jim T. <ji...@te...> - 2003-12-30 04:49:29
|
Marcin Pilch said: > >> >> There was some discussion going on earlier about changing the slot time. >> You can find the default settings in the ah.h file if I remember >> correctly. The defaults were 9us and 20us. Have you tried increasing >> these? In the changelog for the ah.h file it mentions the following >> implement ah_setSlotTime for 5211 parts. >> I need to tackle this after the first of the year also and would be >> interested in knowing what you find out. >> Jim >> > > I tried changing these values (from 21 to 100+), and I tried calling the > ah_setSlotTime from several places inside the driver. > > +if (ah->ah_setSlotTime(ah, HAL_SLOT_TIME_20)==AH_TRUE) > + printk("success - setting slot time\n"); else > + printk("failure - setting slot time\n"); > > According to the discussion about changing the slot time you mentioned > (available at > http://sourceforge.net/mailarchive/forum.php?thread_id=3483397&forum_id=33958 > ) we need to change the slot time _and_ the ack time. There is also a > note, that it works only on Atheros 5212, but ah_setSlotTime always > returned AH_TRUE in my case. > > Where should I put ah_setSlotTime call, and what about setting the ack > time? I am sure where you would set the ah_setSlotTime call but I was digging around at the Star-OS site as they are also working in the Atheros 5212 and 5211 and they had posted the following concerning ack timing When adjusting the ACK values, use these guidelines: Atheros ar5212 cards - default ACK values: 802.11b mode: 450. 802.11a mode: 180. 802.11g mode: 180. Atheros ar5211 chards - default ACK values: 802.11a mode: 180 802.11b mode: 230 The values above represent the hardware defaults for the cards we have. When you wish to adjust for a longer link, increase the numbers beyond the values shown. Setting the value back to 0 will use the card's default. For example, if you wish to extend a 5.8 link, try using a value of 400 or more as a starting point. All values are 1/4 of a microsecond (usec). 100usec equals an ACK value of 400. Has anybody else on the list made any headway on this yet? Jim |