1. 29 12月, 2009 1 次提交
  2. 28 10月, 2009 1 次提交
    • B
      zd1211rw: Fix TX status reporting in order to have proper rate control · 7f4013f0
      Benoit PAPILLAULT 提交于
      First, we reduce the number of hardware retries to 0 (ie 2 real retries
      for each rate). Next, when we report the retries to mac80211, we always
      report a retry count of 1 (it seems to be 2 in fact, but using 2 seems
      to lead to wrong performance for some reason). We use a state machine to
      determine the real fate of a packet based on the 802.11 ACK and what the
      Zydas hardware is saying when a real retry occurs. The real retry rates
      are encoded in a static array. It has been tested with both zd1211 and
      zd1211b hardware. Of course, since the Zydas hardware is not reporting
      retries accurately, we are just doing our best in order to get the best
      performance (ie higher throughput).
      Signed-off-by: NBenoit PAPILLAULT <benoit.papillault@free.fr>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7f4013f0
  3. 14 8月, 2009 1 次提交
  4. 06 3月, 2009 1 次提交
  5. 07 3月, 2008 1 次提交
  6. 01 3月, 2008 1 次提交
  7. 29 1月, 2008 2 次提交
  8. 11 10月, 2007 1 次提交
    • U
      [PATCH] zd1211rw: monitor all packets · c5691235
      Ulrich Kunitz 提交于
      While in monitor mode the zd1211rw received only a limited
      set of packets. This patch forwards now all packets the device
      receives. Notify that while monitoring no FCS checks are done; so
      strange packets might appear in the network sniffer of your
      choice.
      
      ATTENTION: Support for multiple interfaces on a single ZD1211
      device is currently broken. So this code works only on the first
      interface.
      
      Here is an example to put the device in monitor mode.
      
      iwconfig wlan0 mode monitor
      ifconfig wlan0 up
      iwconfig wlan0 channel 10
      
      [dsd@gentoo.org: backport to mainline]
      Signed-off-by: NUlrich Kunitz <kune@deine-taler.de>
      Signed-off-by: NDaniel Drake <dsd@gentoo.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c5691235
  9. 11 7月, 2007 1 次提交
    • D
      [PATCH] zd1211rw: Defer firmware load until first ifup · 74553aed
      Daniel Drake 提交于
      While playing with the firmware a while back, I discovered a way to
      access the device's entire address space before the firmware has been
      loaded.
      
      Previously we were loading the firmware early on (during probe) so that
      we could read the MAC address from the EEPROM and register a netdevice.
      Now that we can read the EEPROM without having firmware, we can defer
      firmware loading until later while still reading the MAC address early
      on.
      
      This has the advantage that zd1211rw can now be built into the kernel --
      previously if this was the case, zd1211rw would be loaded before the
      filesystem is available and firmware loading would fail.
      
      Firmware load and other device initialization operations now happen the
      first time the interface is brought up.
      
      Some architectural changes were needed: handling of the is_zd1211b flag
      was moved into the zd_usb structure, MAC address handling was obviously
      changed, and a preinit_hw stage was added (the order is now: init,
      preinit_hw, init_hw).
      Signed-off-by: NDaniel Drake <dsd@gentoo.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      74553aed
  10. 09 7月, 2007 1 次提交
    • D
      [PATCH] zd1211rw: Add UW2453 RF support · 4481d609
      Daniel Drake 提交于
      This patch adds support for another radio appearing in new devices: the
      Ubec UW2453. It's more complicated than the other RF's we support, but
      Ubec publish full tech specs so we're able to understand the vendor code
      relatively well.
      
      Now that we support UW2453, we also support Atheros' new USB chip: the
      AR5007UG. From the little info we have, this appears to be just a
      rebranded ZD1211B.
      
      This RF code doesn't work very well -- lots more TX/RX errors than the
      other RFs. However, the vendor driver doesn't do any better, so this is
      all we can do for now.
      
      [kune@deine-taler.de: bug fixes]
      Signed-off-by: NDaniel Drake <dsd@gentoo.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4481d609
  11. 28 4月, 2007 1 次提交
  12. 11 4月, 2007 1 次提交
  13. 10 4月, 2007 1 次提交
  14. 06 2月, 2007 2 次提交
    • D
      [PATCH] zd1211rw: Remove addressing abstraction · 0ce34bc8
      Daniel Drake 提交于
      Instead of passing our own custom 32-bit addresses around and
      translating them, this patch makes all our register address constants
      absolute and removes the translation.
      
      There are two ugly parts:
       - fw_reg_addr() is needed to compute addresses of firmware registers, as this
         is dynamic based upon firmware
       - inc_addr() needs a small hack to handle byte vs word addressing
      
      However, both of those are only small, and we don't use fw_regs a whole
      lot anyway.
      
      The bonuses here include simplicity and improved driver readability. Also, the
      fact that registers are now referenced by 16-bit absolute addresses (as
      opposed to 32-bit pseudo addresses) means that over 2kb compiled code size has
      been shaved off.
      
      Includes some touchups and sparse fixes from Ulrich Kunitz.
      Signed-off-by: NDaniel Drake <dsd@gentoo.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0ce34bc8
    • D
      [PATCH] zd1211rw: Consistency for address space constants · ee302767
      Daniel Drake 提交于
      The zd1211rw address space has confused me once too many times. This
      patch introduces the following naming notation:
      
      Memory space is split into segments (cr, fw, eeprom) and segments may
      contain components (e.g. boot code inside eeprom). These names are
      arbitrary and only for the description below:
      
      x_START: Absolute address of segment start
      (previously these were named such as CR_BASE_OFFSET, but they weren't
      really offsets unless you were considering them as an offset to 0)
      
      x_LEN: Segment length
      
      x_y_LEN: Length of component y of segment x
      
      x_y_OFFSET: Relative address of component y into segment x. The absolute
      address for this component is (x_START + x_y_OFFSET)
      
      I also renamed EEPROM registers to EEPROM data. These 'registers' can't
      be written to using standard I/O and really represent predefined data
      from the vendor.
      Signed-off-by: NDaniel Drake <dsd@gentoo.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ee302767
  15. 06 12月, 2006 1 次提交
  16. 02 12月, 2006 2 次提交
    • D
      [PATCH] zd1211rw: Use softmac ERP handling functionality · b1382ede
      Daniel Drake 提交于
      This adds zd1211rw driver support for the softmac functionality I
      added a while back. We now obey changes in basic rates, use short
      preamble if it is available (but long if the AP says it's not),
      and send self-CTS in the proper situations.
      
      Locking fixed and improved by Ulrich Kunitz.
      Signed-off-by: NDaniel Drake <dsd@gentoo.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b1382ede
    • U
      [PATCH] zd1211rw: cleanups · 741fec53
      Ulrich Kunitz 提交于
      Bit-field constants in zd_chip.h are now defined using a shift expression.
      The value 0x08 is now (1 << 3). The fix is intended to improve readability.
      
      Remove misleading comment in zd_mac.c: The function already returns -EPERM
      in managed mode (IW_MODE_INFRA).
      
      Remove unused code in zd_mac.c: The unused code intended for debugging
      rx_status values is no longer useful.
      
      Added dump_stack() to ZD_ASSERT macro: Output of the stack helps to debug
      assertions. Keep in mind that the ZD_ASSERT() macro only results in code,
      if DEBUG is defined.
      
      Improved comments for filter_rx()
      
      zd_usb.c: Added driver name to module init and exit functions
      Signed-off-by: NUlrich Kunitz <kune@deine-taler.de>
      Signed-off-by: NDaniel Drake <dsd@gentoo.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      741fec53
  17. 26 9月, 2006 1 次提交
  18. 15 8月, 2006 4 次提交
  19. 03 8月, 2006 2 次提交
  20. 06 7月, 2006 1 次提交
    • D
      [PATCH] ZyDAS ZD1211 USB-WLAN driver · e85d0918
      Daniel Drake 提交于
      There are 60+ USB wifi adapters available on the market based on the ZyDAS
      ZD1211 chip.
      
      Unlike the predecessor (ZD1201), ZD1211 does not have a hardware MAC, so most
      data operations are coordinated by the device driver. The ZD1211 chip sits
      alongside an RF transceiver which is also controlled by the driver. Our driver
      currently supports 2 RF types, we know of one other available in a few marketed
      products which we will be supporting soon.
      
      Our driver also supports the newer revision of ZD1211, called ZD1211B. The
      initialization and RF operations are slightly different for the new revision,
      but the main difference is 802.11e support. Our driver does not support the
      QoS features yet, but we think we know how to use them.
      
      This driver is based on ZyDAS's own GPL driver available from www.zydas.com.tw.
      ZyDAS engineers have been responsive and supportive of our efforts, so thumbs
      up to them. Additionally, the firmware is redistributable and they have
      provided device specs.
      
      This driver has been written primarily by Ulrich Kunitz and myself. Graham
      Gower, Greg KH, Remco and Bryan Rittmeyer have also contributed. The
      developers of ieee80211 and softmac have made our lives so much easier- thanks!
      
      We maintain a small info-page: http://zd1211.ath.cx/wiki/DriverRewrite
      
      If there is enough time for review, we would like to aim for inclusion in
      2.6.18. The driver works nicely as a STA, and can connect to both open and
      encrypted networks (we are using software-based encryption for now). We will
      work towards supporting more advanced features in the future (ad-hoc, master
      mode, 802.11a, ...).
      Signed-off-by: NDaniel Drake <dsd@gentoo.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e85d0918