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

Tomasz Tajmajer tt at elnovel.com
Mon Dec 9 06:29:14 EST 2013


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

-------------- next part --------------
No.     Time           Source                Destination           Protocol Length Info
 185396 4.169737000    10.0.10.2             10.0.10.1             UDP      1562   Source port: commplex-link  Destination port: commplex-link

Frame 185396: 1562 bytes on wire (12496 bits), 1562 bytes captured (12496 bits) on interface 0
Radiotap Header v0, Length 30
    Header revision: 0
    Header pad: 0
    Header length: 30
    Present flags
        .... .... .... .... .... .... .... ...0 = TSFT: False
        .... .... .... .... .... .... .... ..1. = Flags: True
        .... .... .... .... .... .... .... .0.. = Rate: False
        .... .... .... .... .... .... .... 1... = Channel: True
        .... .... .... .... .... .... ...0 .... = FHSS: False
        .... .... .... .... .... .... ..1. .... = dBm Antenna Signal: True
        .... .... .... .... .... .... .0.. .... = dBm Antenna Noise: False
        .... .... .... .... .... .... 0... .... = Lock Quality: False
        .... .... .... .... .... ...0 .... .... = TX Attenuation: False
        .... .... .... .... .... ..0. .... .... = dB TX Attenuation: False
        .... .... .... .... .... .0.. .... .... = dBm TX Power: False
        .... .... .... .... .... 1... .... .... = Antenna: True
        .... .... .... .... ...0 .... .... .... = dB Antenna Signal: False
        .... .... .... .... ..0. .... .... .... = dB Antenna Noise: False
        .... .... .... .... .1.. .... .... .... = RX flags: True
        .... .... .... .0.. .... .... .... .... = Channel+: False
        .... .... .... 0... .... .... .... .... = HT information: False
        .... .... ...0 .... .... .... .... .... = A-MPDU Status: False
        .... .... ..1. .... .... .... .... .... = VHT information: True
        ...0 0000 00.. .... .... .... .... .... = Reserved: 0x00000000
        ..0. .... .... .... .... .... .... .... = Radiotap NS next: False
        .0.. .... .... .... .... .... .... .... = Vendor NS next: False
        0... .... .... .... .... .... .... .... = Ext: False
    Flags: 0x00
        .... ...0 = CFP: False
        .... ..0. = Preamble: Long
        .... .0.. = WEP: False
        .... 0... = Fragmentation: False
        ...0 .... = FCS at end: False
        ..0. .... = Data Pad: False
        .0.. .... = Bad FCS: False
        0... .... = Short GI: False
    Channel frequency: 5180 [A 36]
    Channel type: 802.11a (0x0140)
        .... .... ...0 .... = Turbo: False
        .... .... ..0. .... = Complementary Code Keying (CCK): False
        .... .... .1.. .... = Orthogonal Frequency-Division Multiplexing (OFDM): True
        .... .... 0... .... = 2 GHz spectrum: False
        .... ...1 .... .... = 5 GHz spectrum: True
        .... ..0. .... .... = Passive: False
        .... .0.. .... .... = Dynamic CCK-OFDM: False
        .... 0... .... .... = Gaussian Frequency Shift Keying (GFSK): False
        ...0 .... .... .... = GSM (900MHz): False
        ..0. .... .... .... = Static Turbo: False
        .0.. .... .... .... = Half Rate Channel (10MHz Channel Width): False
        0... .... .... .... = Quarter Rate Channel (5MHz Channel Width): False
    SSI Signal: -32 dBm
    Antenna: 0
    RX flags: 0x0000
        .... .... .... .... .... ..0. = Bad PLCP: False
    VHT information
        Known VHT information: 0x44
            .... .... .... ...0 = STBC: False
            .... .... .... ..0. = TXOP_PS_NOT_ALLOWED: False
            .... .... .... .1.. = Guard interval: True
            .... .... .... 0... = SGI Nsym disambiguation: False
            .... .... ...0 .... = LDPC extra OFDM symbol: False
            .... .... ..0. .... = Beamformed: False
            .... .... .1.. .... = Bandwidth: True
            .... .... 0... .... = Group ID: False
            .... ...0 .... .... = Partial AID: False
        .... .1.. = Guard interval: short (1)
        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]
IEEE 802.11 QoS Data, Flags: .......T
    Type/Subtype: QoS Data (0x28)
    Frame Control Field: 0x8801
        .... ..00 = Version: 0
        .... 10.. = Type: Data frame (2)
        1000 .... = Subtype: 8
        Flags: 0x01
            .... ..01 = DS status: Frame from STA to DS via an AP (To DS: 1 From DS: 0) (0x01)
            .... .0.. = More Fragments: This is the last fragment
            .... 0... = Retry: Frame is not being retransmitted
            ...0 .... = PWR MGT: STA will stay up
            ..0. .... = More Data: No data buffered
            .0.. .... = Protected flag: Data is not protected
            0... .... = Order flag: Not strictly ordered
    .000 0000 0011 0000 = Duration: 48 microseconds
    Receiver address: CompexPt_0c:a2:3a (04:f0:21:0c:a2:3a)
    BSS Id: CompexPt_0c:a2:3a (04:f0:21:0c:a2:3a)
    Transmitter address: CompexPt_0c:a2:3b (04:f0:21:0c:a2:3b)
    Source address: CompexPt_0c:a2:3b (04:f0:21:0c:a2:3b)
    Destination address: CompexPt_0c:a2:3a (04:f0:21:0c:a2:3a)
    Fragment number: 0
    Sequence number: 931
    Qos Control: 0x0000
        .... .... .... 0000 = TID: 0
        [.... .... .... .000 = Priority: Best Effort (Best Effort) (0)]
        .... .... ...0 .... = QoS bit 4: Bits 8-15 of QoS Control field are TXOP Duration Requested
        .... .... .00. .... = Ack Policy: Normal Ack (0x0000)
        .... .... 0... .... = Payload Type: MSDU
        0000 0000 .... .... = TXOP Duration Requested: 0 (no TXOP requested)




More information about the ath10k mailing list