[BUG] QWLE900V5-18 - cannot achievie 3 spatial streams link

Janusz Dziedzic janusz.dziedzic at tieto.com
Wed Dec 11 14:51:10 EST 2013


On 11 December 2013 20:43, Janusz Dziedzic <janusz.dziedzic at tieto.com> wrote:
> On 11 December 2013 13:19, Tomasz Tajmajer <tt at elnovel.com> wrote:
>>
>> On 09.12.2013 13:10, Tomasz Tajmajer wrote:
>>>
>>>
>>> On 09.12.2013 12:29, Tomasz Tajmajer wrote:
>>>>
>>>>
>>>> On 09.12.2013 11:13, Michal Kazior wrote:
>>>>>
>>>>> On 9 December 2013 11:03, Tomasz Tajmajer <tt at elnovel.com> wrote:
>>>>>>
>>>>>> On 09.12.2013 10:04, Kalle Valo wrote:
>>>>>>>
>>>>>>> Janusz Dziedzic <janusz.dziedzic at tieto.com> writes:
>>>>>>>
>>>>>>>> On 6 December 2013 17:33, Tomasz Tajmajer <tt at elnovel.com> wrote:
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Recently, I've been making quite a lot of tests with two
>>>>>>>>> QWLE900V5-18
>>>>>>>>> cards.
>>>>>>>>> I had some issues with the drivers (e.g. regarding the regulatory
>>>>>>>>> domain),
>>>>>>>>> but I've managed to fix them on my own. However, there is one issue
>>>>>>>>> that
>>>>>>>>> I
>>>>>>>>> cannot deal with.
>>>>>>>>> I'm trying to get the highest throughput possible using 3x3 MIMO.
>>>>>>>>> The
>>>>>>>>> problem is that the wifi card does not set higher rates than
>>>>>>>>> 2x433.3Mbps
>>>>>>>>> (MCS 9, VHT-NSS 2). The specification says that it should be
>>>>>>>>> possible to
>>>>>>>>> have 3 spatial streams.
>>>>>>>>> First, I thought it is a problem with some options of hostapd, but
>>>>>>>>> hostapd
>>>>>>>>> even does not allows me to set the [RX-STBC-12] or [RX-STBC-123]
>>>>>>>>> options.
>>>>>>>>> Only [RX-STBC-1] may be set in the configuration (what in fact, does
>>>>>>>>> not
>>>>>>>>> disallows the 2x433.3Mbps link, which is another issue).
>>>>>>>>> Driver info shows that the driver should support 3 spatial streams.
>>>>>>>>> I am not sure where is the problem, is it some bug in hostapd, which
>>>>>>>>> forces
>>>>>>>>> the card to use 2 spatial streams only or is it the driver, which
>>>>>>>>> does
>>>>>>>>> not
>>>>>>>>> enable 3 streams when it is possible. The physical connectivity
>>>>>>>>> (antennas
>>>>>>>>> etc.) is not the problem AFAIK.
>>>>>>>>>
>>>>>>>> When sta assoc to ap you will get dbg mesg (you can enable this eg.
>>>>>>>> when loading ath10k_core module with param - debug_mask).
>>>>>>>> "mac ht peer %pM mcs cnt %d nss %d\n" - nss is interesting here
>>>>>>>
>>>>>>> This debug message is enabled with ATH10K_DBG_MAC. More info here:
>>>>>>>
>>>>>>> http://wireless.kernel.org/en/users/Drivers/ath10k/debug
>>>>>>>
>>>>>>>> Also rx_mcs_set for STA from ath10k_peer_assoc_h_vht() could be
>>>>>>>> interesting - unfortunetly we don't print this. But you can print
>>>>>>>> this.
>>>>>>>
>>>>>>> Indeed, we should include that to the message as well.
>>>>>>>
>>>>>> I've enabled dbg messages and added rx_mcs_set and tx_mcs_set as you
>>>>>> suggested.
>>>>>> Here is the output for STA:
>>>>>>
>>>>>> [ 2278.320312] ath10k: htt target version 2.1
>>>>>> [ 2278.320455] ath10k: mac vdev create 0 (add interface) type 2 subtype
>>>>>> 0
>>>>>> [ 2278.320741] ath10k: mac vdev 0 cts_prot 0
>>>>>> [ 2278.320765] ath10k: mac vdev 0 slot_time 1
>>>>>> [ 2278.320801] ath10k: mac vdev 0 preamble 1n
>>>>>> [ 2278.321320] ath10k: mac config channel 5180 mhz
>>>>>> [ 2278.321353] ath10k: mac vdev 0 psmode disable
>>>>>> [ 2278.321448] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
>>>>>> [ 2278.321458] ath10k: mac vdev 0 psmode disable
>>>>>> [ 2282.499925] wlan1: authenticate with 04:f0:21:0c:a2:3a
>>>>>> [ 2282.499946] ath10k: mac config channel 5180 mhz
>>>>>> [ 2282.499962] ath10k: mac vdev 0 beacon_interval 100
>>>>>> [ 2282.499968] ath10k: mac vdev 0 create peer 04:f0:21:0c:a2:3a
>>>>>> [ 2282.500109] ath10k: mac vdev 0 start 04:f0:21:0c:a2:3a
>>>>>> [ 2282.500115] ath10k: mac vdev 0 start center_freq 5180 phymode
>>>>>> 11ac-vht80
>>>>>> [ 2282.506711] wlan1: direct probe to 04:f0:21:0c:a2:3a (try 1/3)
>>>>>> [ 2282.708052] wlan1: send auth to 04:f0:21:0c:a2:3a (try 2/3)
>>>>>> [ 2282.709096] wlan1: authenticated
>>>>>> [ 2282.712122] wlan1: associate with 04:f0:21:0c:a2:3a (try 1/3)
>>>>>> [ 2282.713907] wlan1: RX AssocResp from 04:f0:21:0c:a2:3a (capab=0x1
>>>>>> status=0 aid=1)
>>>>>> [ 2282.714331] ath10k: mac vdev 0 dtim_period 2
>>>>>> [ 2282.714367] ath10k: mac vdev 0 slot_time 2
>>>>>> [ 2282.714415] ath10k: mac ht peer 04:f0:21:0c:a2:3a mcs cnt 24 nss 3
>>>>>> [ 2282.714421] ath10k: mac vht peer 04:f0:21:0c:a2:3a max_mpdu 65535
>>>>>> flags
>>>>>> 0x601b001 rx_mcs_set 0000ffea tx_mcs_set 0000ffea
>>>>>> [ 2282.714427] ath10k: mac peer 04:f0:21:0c:a2:3a phymode 11ac-vht80
>>>>>> [ 2282.714435] ath10k: mac vdev 0 up (associated) bssid
>>>>>> 04:f0:21:0c:a2:3a
>>>>>> aid 1
>>>>>> [ 2282.714822] ath10k: mac vdev 0 psmode enable
>>>>>> [ 2282.714869] wlan1: associated
>>>>>>
>>>>>> And for AP:
>>>>>> [ 9460.458700] ath10k: htt target version 2.1
>>>>>> [ 9460.458874] ath10k: mac vdev create 0 (add interface) type 1 subtype
>>>>>> 0
>>>>>> [ 9460.459120] ath10k: mac vdev 0 cts_prot 0
>>>>>> [ 9460.459155] ath10k: mac vdev 0 slot_time 1
>>>>>> [ 9460.459156] ath10k: mac vdev 0 preamble 1n
>>>>>> [ 9460.459385] ath10k: mac config channel 5180 mhz
>>>>>> [ 9460.459434] IPv6: ADDRCONF(NETDEV_UP): wlan2: link is not ready
>>>>>> [ 9461.562262] ath10k: mac vdev 0 rts threshold -1
>>>>>> [ 9461.562292] ath10k: mac vdev 0 fragmentation threshold -1
>>>>>> [ 9461.564900] ath10k: mac config channel 5180 mhz
>>>>>> [ 9461.564919] ath10k: mac vdev 0 beacon_interval 100
>>>>>> [ 9461.564923] ath10k: vdev 0 set beacon tx mode to staggered
>>>>>> [ 9461.564931] ath10k: mac vdev 0 start center_freq 5180 phymode
>>>>>> 11ac-vht80
>>>>>> [ 9461.571970] ath10k: mac vdev 0 up
>>>>>> [ 9461.572108] ath10k: mac vdev 0 cts_prot 0
>>>>>> [ 9461.572117] ath10k: mac vdev 0 slot_time 2
>>>>>> [ 9461.572241] IPv6: ADDRCONF(NETDEV_CHANGE): wlan2: link becomes ready
>>>>>> [ 9461.572192] ath10k: mac vdev 0 preamble 1n
>>>>>> [ 9549.331556] ath10k: vdev 0 set beacon tx mode to staggered
>>>>>> [ 9549.331637] ath10k: mac vdev 0 cts_prot 0
>>>>>> [ 9549.331644] ath10k: mac vdev 0 preamble 1n
>>>>>> [ 9549.332425] ath10k: mac vdev 0 peer create 04:f0:21:0c:a2:3b (new
>>>>>> sta)
>>>>>> [ 9549.332628] ath10k: mac sta 04:f0:21:0c:a2:3b associated
>>>>>> [ 9549.332637] ath10k: mac ht peer 04:f0:21:0c:a2:3b mcs cnt 24 nss 3
>>>>>> [ 9549.332643] ath10k: mac vht peer 04:f0:21:0c:a2:3b max_mpdu 1048575
>>>>>> flags
>>>>>> 0x601b001 rx_mcs_set 0000ffea tx_mcs_set 0000ffea
>>>>>> [ 9549.332648] ath10k: mac peer 04:f0:21:0c:a2:3b phymode 11ac-vht80
>>>>>>
>>>>>>
>>>>>> As you can see, the "nss" value is set to 3, but I've never observed
>>>>>> VHT-NSS
>>>>>> 3 reported by "iw DEV station dump". Also the maximum throughput for
>>>>>> UDP
>>>>>> measured by iperf was ~630Mbps, which seems to be the netto value for
>>>>>> 2x433
>>>>>> Mbps PHY throughput.
>>>>>
>>>>> I wouldn't rely on station dump Tx/Rx stats (especially Tx stats which
>>>>> are broken due to FW limitation).
>>>>>
>>>>> You can create a monitor interface on the receiver side and run
>>>>> wireshark in non-promiscuous mode and check radiotap headers to
>>>>> confirm whether 3 spatial streams are used or not.
>>>>>
>>>>>
>>>>> Michał
>>>>>
>>>> I've attached the output from wireshark.
>>>>
>>>>  Bandwidth: 80 MHz (4)
>>>>         User 0: MCS 9
>>>>             1001 .... = MCS index 0: 9 (256-QAM 5/6)
>>>>             .... 0010 = Spatial streams 0: 2
>>>>             Space-time streams 0: 2
>>>>             Coding 0: BCC (0)
>>>>             [Data Rate: 866,6 Mb/s]
>>>>
>>>> Unfortunately, it confirms that only 2 spatial streams are used.
>>>>
>>>>
>>>> TomaszT
>>>>
>>> I thought that maybe one of the card is physically damaged and the third
>>> spatial link cannot be established. I've checked that using a 802.11ac
>>> router, which I also have (and it supports 3 streams). Both cards connected
>>> with it using only 2 spatial streams. Its unlikely that both cards have a
>>> malfunction, so its rather a software problem.
>>>
>>> TomaszT
>>
>> Hi,
>>
>> Are there any chances, that this issue would be investigated and hopefully
>> fixed before the end of the year ?
>>
> Seems from driver we configure everything correctly. Rate Control is
> in FW - so FW will decide what NSS/MCS to use. Here we see our devices
> works fine with 3x3.
>
> BTW.
> You can try to use fixed_rate setting. You will have to apply some
> patches from mac80211-next/group:
>
> Kernel:
> 1) nl80211: don't clear bitrate_mask twice
> 2) nl80211: back to default bitrate_mask correctly
> 3) nl80211/cfg80211: bitrate_mask, rename mcs to ht_mcs
> 4) nl80211: add VHT support for set_bitrate_mask
> 5) ath10k: add set_bitrate_mask callback - this I will send in few minutes
>
> iw:
> 1) iw: add VHT MCS/NSS set support to set bitrates
>
> After that just run ap and: iw wlanX set bitrates legacy-5 ht-mcs-5
> vht-mcs-5 3:0
>
> You should send frames from AP with NSS=3, MCS=0
>
BTW Do you have same problem with HT, or only with VHT?

BR
Janusz



More information about the ath10k mailing list