1

In the source code of the iwlwifi dvm linux driver, there is a function named « rs_program_fix_rate » ( https://github.com/torvalds/linux/blob/master/drivers/net/wireless/intel/iwlwifi/dvm/rs.c#L334 )

The source claims:

/**
 * 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.
 */

To interact with this function, I reckon from the source code you can use the DEBUGFS filesystem and the file: /sys/kernel/debug/ieee80211/phy0/netdev:wlp2s0/stations/MAC_ADRESS/rate_scale_table, by executing for example echo "0x2C104" | tee >./rate_scale_table.

I have multiple questions about this:

How is constructed the hexadecimal string you write into this file? The "0x2C104" appears in the output of the file rate_scale_table which looks like this:

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`

Also, when fixing the rate by executing echo "0x2C104" | tee >./rate_scale_table, the bitrate as reported by iw dev wlp2s0 station dump doesn't change. Why is that? Am I mixing up different (bit) rates? How to fix the birate (i.e. the MCS) of a dvm / mvm iwlwifi card?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.