1. 25 Jan, 2010 3 commits
    • Trieu 'Andrew' Nguyen's avatar
      iwlwifi: Tune radio to prevent unexpected behavior · 3e4fb5fa
      Trieu 'Andrew' Nguyen authored
      
      
      We have seen the throughput dropped due to external noisy environment
      and the radio is out of tune.  There are lot of plcp errors indicating
      this condition. Eventually the station can get de-authenticated by the
      Access Point.  By resetting and tuning the radio, the plcp errors are
      reduced or eliminated and the throughput starts to rise.
      
      To prevent unexpected behavior such as drop in throughput or deauthentication,
      - The change provides the driver feature to monitor and tune the radio base on
      the statistics notification from the uCode.
      - It also allows the setting of the plcp error rate threshold via
      the plcp_delta under debugfs interface.
      
      Signed-off-by: default avatarTrieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3e4fb5fa
    • Wey-Yi Guy's avatar
      iwlwifi: add function to reset/tune radio if needed · afbdd69a
      Wey-Yi Guy authored
      
      
      Adding "radio reset" function to help reset and stabilize the radio.
      
      During normal operation, sometime for unknown reason, radio encounter
      problem and can not recover by itself; the best way to
      recover from it is to reset and re-tune the radio. Currently, there is
      no RF reset command available, but since radio will get reset when
      switching channel, use internal hw scan request to force radio
      reset and get back to normal operation state.
      
      The internal hw scan will only perform passive scan on the first
      available channel (not the channel being used) in associated state. The
      request should be ignored if already performing scan operation or STA is
      not in associated state.
      
      Also include an "internal_scan" debugfs file to help trigger the
      internal scan from user mode.
      
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      afbdd69a
    • Wey-Yi Guy's avatar
      iwlwifi: configure missed beacon threshold · a13d276f
      Wey-Yi Guy authored
      
      
      Add support to configure missed beacon threshold, by default, if receive
      "missed beacon" notification from uCode and has more than 5 consecutive
      beacon missed, then perform sensitivity calibration; with this change,
      allow user to adjust the missed beacon threshold from debugfs in case
      more sensitivity calibration required for better performance in noisy
      environment
      
      The default value (=5) should be good enough for the normal condition,
      but for very noisy environment, more sensitivity calibration could help
      improve the throughput, so by setting the missed beacon threshold to
      lower number, user might experience better performance result.
      
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a13d276f
  2. 19 Jan, 2010 2 commits
  3. 21 Dec, 2009 2 commits
    • Wey-Yi Guy's avatar
      iwlwifi: add continuous uCode event log capability · a9e1cb6a
      Wey-Yi Guy authored
      
      
      In order to help uCode debugging, adding the capability to provide
      continuous uCode event logging function.
      
      uCode events is located in round-robin event queue and filled by uCode,
      by enable continuous event logging, driver check the write pointer
      and log the newly added events in iwl_bg_ucode_trace() timer function.
      
      There is still possibility of missing events if event queue being
      wrapped before next event dump; but with this capability, we can have
      much better understanding of the uCode behavior during runtime; it can
      help to debug the uCode related issues.
      
      Methods to enable/disable the continuous event log:
      step 1: enable ucode trace timer
           "echo 1 >
      /sys/kernel/debug/ieee80211/phyX/iwlagn/debug/ucode_tracing"
      step 2: start ftrace
           sudo ./trace-cmd record -e iwlwifi_ucode:* sleep 1d
      step 3: stop ftrace
           sudo ./trace-cmd report trace.dat
      step 4: disable ucode trace timer
           "echo 0 >
      /sys/kernel/debug/ieee80211/phyX/iwlagn/debug/ucode_tracing"
      
      use "ucode_tracing" debugfs file to display number of event
      queue wrapped when driver attempt the continuous event logging. If event
      queue being wrapped more than once when driver has opportunity to log
      the event; it indicated there are events missing in the event log trace.
      
      This continuous event log function only available for 4965 and newer
      NICs.
      
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a9e1cb6a
    • Wey-Yi Guy's avatar
      iwlwifi: dump "Control and Status Register" when detect uCode HW/SW error · 696bdee3
      Wey-Yi Guy authored
      
      
      When uCode HW/SW error detected, dumping important CSR (Control and Status
      Registers) values.
      Also add "csr" debugfs file to dump the current values of CSR defined in
      CSR table to syslog.
      
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      696bdee3
  4. 23 Nov, 2009 1 commit
  5. 18 Nov, 2009 1 commit
  6. 27 Oct, 2009 1 commit
  7. 07 Oct, 2009 1 commit
    • Johannes Berg's avatar
      iwlwifi: LED cleanup · e932a609
      Johannes Berg authored
      
      
      The iwlwifi drivers have LED blinking requirements that
      mac80211 cannot fulfill due to the use of just a single
      LED instead of different ones for TX, RX, radio etc.
      Instead, the single LED blinks according to transfers
      and is solid on the rest of the time. As such, having
      LED class devices registered that mac80211 triggers are
      connected to is pointless as we don't use the triggers
      anyway.
      
      Remove all the useless code and add hooks into the
      driver itself. At the same time, make the LED code
      abstracted so the core code that determines blink rate
      etc. can be shared between 3945 and agn in iwlcore.
      
      At the same time, the fact that we removed the use of
      the mac80211 LED triggers means we can also remove the
      IWLWIFI_LEDS Kconfig symbol since the LED support is
      now self-contained.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      e932a609
  8. 28 Aug, 2009 1 commit
  9. 14 Aug, 2009 7 commits
  10. 29 Jul, 2009 1 commit
  11. 27 Jul, 2009 1 commit
  12. 24 Jul, 2009 3 commits
    • Reinette Chatre's avatar
      iwlwifi: make debug level more user friendly · a562a9dd
      Reinette Chatre authored
      
      
      * Deprecate the "debug50" module parameter used to obtain
        5000 series and up debugging. Replace it with "debug" module
        parameter to match with original driver and be consistent
        between them. The "debug50" module parameter can still be used,
        except that the module parameter is not writable in keeping
        with its previous state. We currently just mark it as "deprecated"
        and do not have it in the feature-removal-schedule. Some more
        cleanup of module parameters needs to be done and can then be
        entered together.
      
      * Only make "debug" module parameters visible if the driver
        is compiled with CONFIG_IWLWIFI_DEBUG. This will eliminate
        a lot of confusion where users think they have set debug flags
        but yet cannot see any debug output.
      
      * Make module parameters writable. This eliminates the need for the
        "debug_level" sysfs file, which can now also be deprecated and
        added to feature-removal-schedule. This file is in significant
        use though with many iwlwifi documents and text referring users
        to it. We can thus not take its removal lightly and keep it around.
      
      With iwlcore shared between iwlagn and iwl3945 we really do not need
      debug module parameters for each but can instead have one debug
      module parameter for the iwlcore module. The same issue is here as
      with the sysfs file - a lot of iwlwifi documentation and text (like
      bug reports) rely on iwlagn and iwl3945 having this module parameter,
      so changing this to a module parameter of iwlcore will have significant
      impact and we do not do this for that reason.
      
      One consequence of this patch is that if a user is running a system
      with both 3945 and later hardware then the setting of the one module
      parameter will affect the value of the other. The likelihood of this
      seems low - and even if this setup is present it does not seem like an
      issue for both modules to run with the same debug level.
      
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a562a9dd
    • Wey-Yi Guy's avatar
      iwlwifi: add led debugfs function · a283c011
      Wey-Yi Guy authored
      
      
      Adding debugfs file to show current led blinking rate
      /sys/kernel/debug/ieee80211/phy0/iwlagn/data/led
      
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a283c011
    • Wey-Yi Guy's avatar
      iwlwifi: move show_qos to debugfs · f5ad69fa
      Wey-Yi Guy authored
      
      
      This move the show_qos file from sysfs to debugfs because the "one
      value per file" sysfs rule.
      
      The file is located in
      /sys/kernel/debug/ieee80211/phy0/iwlagn/data
      
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f5ad69fa
  13. 10 Jul, 2009 1 commit
  14. 22 May, 2009 1 commit
  15. 22 Apr, 2009 1 commit
  16. 09 Feb, 2009 1 commit
  17. 29 Jan, 2009 9 commits
  18. 19 Dec, 2008 1 commit
  19. 12 Dec, 2008 1 commit
  20. 05 Dec, 2008 1 commit