Iwlwifi (dvm), debugfs e taxa de fixação

1

No código fonte do driver iwlwifi dvm linux, existe uma função chamada «rs_program_fix_rate» ( link )

A fonte afirma:

/**
 * Program the device to use fixed rate for frame transmit
 * This is for debugging/testing only
 * once the device start use fixed rate, we need to reload the module
 * to being back the normal operation.
 */

Para interagir com esta função, eu acho que a partir do código-fonte você pode usar o sistema de arquivos DEBUGFS e o arquivo: /sys/kernel/debug/ieee80211/phy0/netdev:wlp2s0/stations/MAC_ADRESS/rate_scale_table , executando por exemplo echo "0x2C104" | tee >./rate_scale_table .

Eu tenho várias perguntas sobre isso:

Como é construída a cadeia hexadecimal que você escreve neste arquivo? O "0x2C104" aparece na saída do arquivo rate_scale_table que se parece com isto:

sta_id 0
failed=0 success=0 rate=0FFF
fixed rate 0x2C104
valid_tx_ant ANT_A,ANT_B,
lq type legacy
last tx rate=0x4009
general: flags=0x8 mimo-d=0 s-ant=0x1 d-ant=0x3
agg: time_limit=4000 dist_start_th=3 frame_cnt_limit=63
reduced tpc=0
single stream params: INVALID
Start idx [0]=0x0 [1]=0x0 [2]=0x0 [3]=0x0
 rate[0] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[1] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[2] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[3] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[4] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[5] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[6] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[7] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[8] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[9] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[10] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[11] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[12] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[13] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[14] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC
 rate[15] 0x2C104 HT | ANT: AB BW: 20Mhz MCS: 4 NSS: 1 NGI STBC'

Além disso, ao corrigir a taxa executando echo "0x2C104" | tee >./rate_scale_table , a taxa de bits informada por iw dev wlp2s0 station dump não é alterada. Por que é que? Estou misturando taxas diferentes (bit)? Como consertar o birato (ou seja, o MCS) de um cartão iwlwifi dvm / mvm?

    
por Rev 06.06.2018 / 13:04

0 respostas