Iwlwifi (dvm), debugfs and fixing rate

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












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?







share|improve this question























    up vote
    1
    down vote

    favorite












    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?







    share|improve this question





















      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      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?







      share|improve this question











      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?









      share|improve this question










      share|improve this question




      share|improve this question









      asked Jun 6 at 11:04









      Rev

      61




      61

























          active

          oldest

          votes











          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );








           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f448162%2fiwlwifi-dvm-debugfs-and-fixing-rate%23new-answer', 'question_page');

          );

          Post as a guest



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes










           

          draft saved


          draft discarded


























           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f448162%2fiwlwifi-dvm-debugfs-and-fixing-rate%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Christian Cage

          How to properly install USB display driver for Fresco Logic FL2000DX on Ubuntu?