Search Linux Wireless

Re: [PATCH v2 2/2] ath10k: fix CCK h/w rates for QCA99X0 and newer chipsets

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

 



On Donnerstag, 2. Juni 2016 12:53:55 CET Mohammed Shafi Shajakhan wrote:
> From: Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx>
> 
> CCK hardware table mapping from QCA99X0 onwards got revised.
> The CCK hardware rate values are in a proper order wrt. to
> rate and preamble as below
> 
> ATH10K_HW_RATE_REV2_CCK_LP_1M = 1,
> ATH10K_HW_RATE_REV2_CCK_LP_2M = 2,
> ATH10K_HW_RATE_REV2_CCK_LP_5_5M = 3,
> ATH10K_HW_RATE_REV2_CCK_LP_11M = 4,
> ATH10K_HW_RATE_REV2_CCK_SP_2M = 5,
> ATH10K_HW_RATE_REV2_CCK_SP_5_5M = 6,
> ATH10K_HW_RATE_REV2_CCK_SP_11M = 7,
> 
> This results in reporting of rx frames (with CCK rates)
> totally wrong for QCA99X0, QCA4019. Fix this by having
> separate CCK rate table for these chipsets with rev2 suffix
> and registering the correct rate mapping to mac80211 based on
> the new hw_param (introduced) 'cck_rate_map_rev2' which shall
> be true for any newchipsets from QCA99X0 onwards

I just tested it here with QCA4019 + 10.4-3.2.1-00050 for beacons. The 
calculated HW code for 1.0 MBit/s would be 0x41 (rate_code) according to this 
new mapping. But when I set it with 

    	ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
    					ar->wmi.vdev_param->mcast_data_rate,
    					rate_code);

then it sends beacons with 5.5Mbit/s and not with 1.0Mbit/s.

Btw. the rate_code was calculated using:

    		if (ath10k_mac_bitrate_is_cck(sband->bitrates[i].bitrate))
    			preamble = WMI_RATE_PREAMBLE_CCK;
    		else
    			preamble = WMI_RATE_PREAMBLE_OFDM;
    
    		rate_code = ATH10K_HW_RATECODE(hw_value, 0, preamble);

It works fine when using the old mapping (0x43).

This made me rather curious and I've connected a client to the AP which was 
only able to send at 1.0 Mbit/s - this actually resulted in the correctly 
reported rates at in the rx field.

Does this mean that the rates are now inconsistent because the QCA fw doesn't 
provide a consistent interface for hw rates or did I miss anything?

Kind regards,
	Sven

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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux