Search Linux Wireless

Re: Regression in b43 with BCM4311/2

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

 



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.

> 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?

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[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