Search Linux Wireless

Re: Regression in b43 with BCM4311/2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/30/2010 03:30 PM, Johannes Berg wrote:
> Larry,
> 
>> commit c7ab5ef9bcd281135c21b4732c9be779585181be
>> Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
>> Date:   Wed Oct 29 20:02:12 2008 +0100
>>
>>     b43: implement short slot and basic rate handling
> 
>> It seemed unlikely that the short slot handling was the cause, thus I have
>> concentrated on the basic rate handling. I found that the returns from
>> ieee80211_get_response_rate() were not what I expected. I'm not sure the routine
>> is correct; however, the value for "brates" at entry to b43_update_basic_rates()
>> is 0xF, thus only the CCK rates are enabled, but sband->n_bitrates is 12, which
>> includes all the 802.11g rates.
> 
> It doesn't really depend on your supported rates, if your AP says that
> only CCK rates are basic rates (you can see that in iw scan output, they
> are marked with a *) then they need to be used for response frames, as
> per 802.11-2007 9.6 paragraph 7:
> 
>         To allow the transmitting STA to calculate the contents of the
>         Duration/ID field, a STA responding to a received frame shall
>         transmit its Control Response frame (either CTS or ACK), other
>         than the BlockAck control frame, at the highest rate in the
>         BSSBasicRateSet parameter that is less than or equal to the rate
>         of the immediately previous frame in the frame exchange sequence
>         (as defined in 9.12) and that is of the same modulation class
>         (see 9.6.1) as the received frame. If no rate contained in the
>         BSSBasicRateSet parameter meets these conditions, then the
>         control frame sent in response to a received frame shall be
>         transmitted at the highest mandatory rate of the PHY that is
>         less than or equal to the rate of the received frame, and that
>         is of the same modulation class as the received frame. In
>         addition, the Control Response frame shall be sent using the
>         same PHY options as the received frame, unless they conflict
>         with the requirement to use the BSSBasicRateSet parameter.
>         
> 
> Then again, if I read that correctly, we should be checking the
> modulation classes, will have to take a closer look at 9.6.1.

My AP returns the following in the scan output:

Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
          24 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s

I don't see any * markings.

>> Is b43 missing something needed to set the basic_rates member of struct
>> ieee80211_bxx_conf to a more reasonable value when b43_op_bss_info_changed() is
>> entered? I think it should be 0xFFF, not 0xF. I have tested with the larger
>> value and found that this change did not improve transmit rates.
> 
> So you're saying it doesn't help anyway?

Yes, it does not help. Since my previous message, I have also tested the short
slot logic. Inverting the test made no difference.

Larry
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux