1. 15 6月, 2008 1 次提交
  2. 22 5月, 2008 8 次提交
  3. 15 5月, 2008 1 次提交
    • B
      mac80211: use hardware flags for signal/noise units · 566bfe5a
      Bruno Randolf 提交于
      trying to clean up the signal/noise code. the previous code in mac80211 had
      confusing names for the related variables, did not have much definition of
      what units of signal and noise were provided and used implicit mechanisms from
      the wireless extensions.
      
      this patch introduces hardware capability flags to let the hardware specify
      clearly if it can provide signal and noise level values and which units it can
      provide. this also anticipates possible new units like RCPI in the future.
      
      for signal:
      
        IEEE80211_HW_SIGNAL_UNSPEC - unspecified, unknown, hw specific
        IEEE80211_HW_SIGNAL_DB     - dB difference to unspecified reference point
        IEEE80211_HW_SIGNAL_DBM    - dBm, difference to 1mW
      
      for noise we currently only have dBm:
      
        IEEE80211_HW_NOISE_DBM     - dBm, difference to 1mW
      
      if IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB is used the driver has
      to provide the maximum value (max_signal) it reports in order for applications
      to make sense of the signal values.
      
      i tried my best to find out for each driver what it can provide and update it
      but i'm not sure (?) for some of them and used the more conservative guess in
      doubt. this can be fixed easily after this patch has been merged by changing
      the hardware flags of the driver.
      
      DRIVER          SIGNAL    MAX	NOISE   QUAL
      -----------------------------------------------------------------
      adm8211         unspec(?) 100   n/a     missing
      at76_usb        unspec(?) (?)   unused  missing
      ath5k           dBm             dBm     percent rssi
      b43legacy       dBm             dBm     percent jssi(?)
      b43             dBm             dBm     percent jssi(?)
      iwl-3945        dBm             dBm     percent snr+more
      iwl-4965        dBm             dBm     percent snr+more
      p54             unspec    127   n/a     missing
      rt2x00          dBm	        n/a     percent rssi+tx/rx frame success
        rt2400        dBm             n/a
        rt2500pci     dBm             n/a
        rt2500usb     dBm             n/a
        rt61pci       dBm             n/a
        rt73usb       dBm             n/a
      rtl8180         unspec(?) 65    n/a     (?)
      rtl8187         unspec(?) 65    (?)     noise(?)
      zd1211          dB(?)     100   n/a     percent
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      566bfe5a
  4. 13 5月, 2008 1 次提交
    • I
      rt2x00: Don't use pskb_expand_head() · 78720897
      Ivo van Doorn 提交于
      rt2x00pci allocates DMA for descriptor and data,
      rt61pci doesn't use this for the beacon, but it can
      use the descriptor part as temporary buffer instead
      of using pskb_expand_head().
      Using this temporary buffer is obviously much better
      then reallocating the skb buffer...
      
      At the same time we can set the data length for the
      beacon queue at 0, to make sure no DMA is allocated for
      data (but just for the descriptor).
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      78720897
  5. 08 5月, 2008 1 次提交
  6. 02 5月, 2008 1 次提交
  7. 10 4月, 2008 1 次提交
  8. 02 4月, 2008 2 次提交
  9. 26 3月, 2008 2 次提交
  10. 14 3月, 2008 6 次提交
    • I
      rt2x00: Fix rt2400pci signal · 89993890
      Ivo van Doorn 提交于
      After sampling hundreds of RX frame descriptors,
      the results were conclusive:
      - The Ralink documentation regarding the SIGNAL and RSSI are wrong.
      
      It turns out that of the 5 BBR registers, we should not use BBR0 and BBR1
      for SIGNAL and RSSI respectively, but actually BBR1 and BBR2.
      BBR0 does show values, but the exact meaning remains unclear,
      but they cannot be translated into a SIGNAL or RSSI field.
      BBR3, BBR4 and BBR5 are always 0, so their meaning is unknown.
      
      As it turns out, the reported SIGNAL is the PLCP value, this
      in contradiction to what was expected looking at rt2500pci which
      only reported the PLCP values for OFDM rates and bitrate values
      for CCK rates.
      
      This means we should let the driver raise the flag about the contents
      of the SIGNAL field so rt2x00lib can always do the right thing based
      on what the driver reports.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      89993890
    • I
      rt2x00: Always enable TSF ticking · fd3c91c5
      Ivo van Doorn 提交于
      Whatever mode we are in, according to the legacy drivers
      we should always enable TSF ticking/counting.
      We should also always enable the TBCN/TBTT field,
      this field is only disabled during beacon regeneration.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      fd3c91c5
    • I
      rt2x00: Rename config_preamble() to config_erp() · 72810379
      Ivo van Doorn 提交于
      Rename config_preamble() to config_erp() and cleanup argument
      list by putting it all into a single structure.
      This will make the function more meaningful and easier to
      expand later. This second option is mostly intended to make
      the patch "mac80211: proper short-slot handling" from Johannes Berg
      easier to apply for rt2x00.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      72810379
    • I
      rt2x00: Start bugging when rt2x00lib doesn't filter SW diversity · a4fe07d9
      Ivo van Doorn 提交于
      rt2x00lib should filter SW diversity out before sending any configuration
      changes to the driver. When rt2x00lib fails to do this, it is important
      that such events are reported because it _must_ be fixed.
      So upgrading the error level to a BUG_ON() which will make sure
      this bug gets noticed whenever it happens.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a4fe07d9
    • I
      rt2x00: Move firmware checksumming to driver · a7f3a06c
      Ivo van Doorn 提交于
      rt2x00lib depended on 2 crc algorithms because rt61/rt73
      use a different algorithm then rt2800. This means that
      even when only 1 algorithm was needed, the dependency was
      still present for both.
      By moving the checksum generation to the driver we can clean
      up 2 annoying flags (which indicated which checksum was required)
      and move the dependency to where it belongs: the driver.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a7f3a06c
    • I
      rt2x00: Only disable beaconing just before beacon update · 8af244cc
      Ivo van Doorn 提交于
      We should not write 0 to the beacon sync register during
      config_intf() since that will clear out the beacon interval
      and forces the beacon to be send out at the lowest interval.
      (reported by Mattias Nissler).
      
      The side effect of the same bug was that while working with
      multiple virtual AP interfaces a change for any of those
      interfaces would disable beaconing untill an beacon update
      was provided.
      
      This is resolved by only updating the TSF_SYNC value during
      config_intf(). In update_beacon() we disable beaconing
      temporarily to prevent fake beacons to be transmitted.
      Finally kick_tx_queue() will enable beaconing again.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8af244cc
  11. 12 3月, 2008 1 次提交
  12. 01 3月, 2008 15 次提交