History log of /drivers/net/wireless/zd1211rw/zd_chip.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9a0669681c2d94fa198a82d108918def55a7cd70 14-Jun-2011 Kalle Valo <kvalo@adurom.com> zd1211rw: include mac80211.h from zd_chip.h

zd_chip.h contains one function with a pointer to ieee80211_hw but doesn't
include mac80211.h. As a temporary solution include mac80211.h to avoid
a warning.

Signed-off-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
fbd5d17b8e2b418b495599c554f9c4754b7f93c9 02-Apr-2011 Jussi Kivilinna <jussi.kivilinna@mbnet.fi> zd1211rw: rename CR* macros to ZD_CR*

With compat-wireless CR* macros in zd_usb.h conflict with CR macros in
include/asm-generic/termbits.h. So rename CR* macros to ZD_CR*.

Conversion was done with using sed and then 'over 80 character line'
checkpatch.pl warnings and comment indents were fixed.

Reported-by: Walter Goldens <goldenstranger@yahoo.com>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
b91a515dbb4f824169755e071014230b57f0c1e1 31-Jan-2011 Jussi Kivilinna <jussi.kivilinna@mbnet.fi> zd1211rw: let zd_set_beacon_interval() set dtim_period and add AP-beacon flag

Add support for AP-mode beacon. Also disable beacon when interface is set
down as otherwise hw will keep flooding NEXT_BCN interrupts.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
c2fadcb3b16b294d7de509c42f1390f672510667 31-Jan-2011 Jussi Kivilinna <jussi.kivilinna@mbnet.fi> zd1211rw: support setting BSSID for AP mode

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
671adc93b6472eaa0142a88d096c945f7b07893a 23-Dec-2009 Johannes Berg <johannes@sipsolutions.net> wireless: remove remaining qual code

This removes the remaining users of the rx status
'qual' field and the field itself.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
7f4013f09654216653121f216bd0257f460f5dcc 22-Oct-2009 Benoit PAPILLAULT <benoit.papillault@free.fr> zd1211rw: Fix TX status reporting in order to have proper rate control

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: Benoit PAPILLAULT <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
14b46c8a87f835f4327afa32fad2a523a8fe584d 04-Aug-2009 Luis R. Rodriguez <lrodriguez@atheros.com> zd1211rw: make it clear we don't use leds.h LED stuff

zd1211rw uses its own LED stuff so let rename its LED
stuff as such.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
5fe73197d359248cbf32dfd3280540d6a0dfd31c 25-Feb-2009 Alina Friedrichsen <x-alina@gmx.net> zd1211rw: Implement get_tsf()

This patch implements get_tsf() of ieee80211_ops in the zd1211rw driver.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
72e77a8a7921d952bdef2468d9315616eca6b464 03-Mar-2008 Luis Carlos Cobo <luisca@cozybit.com> zd1211rw: support for mesh interface and beaconing

The previously unused CR_CAM_MODE register is set to MODE_AP_WDS. This makes the
driver ack mesh (WDS) frames. It does not affect Infra functionality of the
driver.

Previously missing beaconing support has been added. This might also help
implement a currently missing ah-hoc mode.

Support for interrupts from the device have been added, but we are not handling
most of them.

Mesh interfaces are considered associated as long as the interface is up.

Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
e51c683717e3ac21713444e9a517aa8e0ad0ee48 09-Feb-2008 Javier Cardona <javier@cozybit.com> zd1211rw: Fixed incorrect constant name.

Trial and error reveals that CR_ZD1211B_TX_PWR_CTL* do not affect the
transmission power. Instead these registers seem to control the contention
windows limits for different QoS access categories.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
66bb42fd47c3d7e23b3ca5bb2b025a198100d670 19-Nov-2007 Daniel Drake <dsd@gentoo.org> zd1211rw: add copyright notices

Requested by Michael Wu.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
459c51ad6e1fc19e91a53798358433d3c08cd09d 19-Nov-2007 Daniel Drake <dsd@gentoo.org> zd1211rw: port to mac80211

This seems to be working smoothly now. Let's not hold back the mac80211
transition any further. This patch ports the existing driver from softmac
to mac80211.

Many thanks to everyone who helped out with the porting efforts.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
c5691235cf70ae2bd71c1f445eb991191530ec6c 21-Jul-2007 Ulrich Kunitz <kune@deine-taler.de> [PATCH] zd1211rw: monitor all packets

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: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
74553aedd46b3a2cae986f909cf2a3f99369decc 01-Jul-2007 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Defer firmware load until first ifup

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: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
4481d6093e62e168ab06e9bbb4e67a9bebb8c7f7 24-May-2007 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Add UW2453 RF support

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: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
72018b223dcacb631f140d4c8fada3790bd1b03c 07-Apr-2007 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: rework band edge patching

This change allows RF drivers to provide their own 6M band edge patching
implementation, while providing a generic implementation shared by most
currently supported RF's.

The upcoming ZD1211B/AL7230B code will use this to define its own
patching function, which is different from the other RF configurations.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
92b3e2e9253a9f4c9224071842fd263c334dece0 04-Apr-2007 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Fix E2P_PHY_REG patching

Due to conflicting/confusing defines in the vendor driver, we were
reading E2P_PHY_REG from the wrong location.

CR157 patching was slightly incorrect in that the vendor driver only
patches in an 8-bit value, whereas we were patching 24 bits.

Additionally, CR157 patching was happening on both zd1211 and zd1211b,
but this should only happen on zd1211.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
ae6ead4623bfbc57f3945ff86f27e51811e2e91b 11-Mar-2007 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Reject AL2230S devices

zd1211rw currently detects AL2230S-based devices as AL2230, and hence
programs the RF incorrectly. Transmit silently fails on this
misconfiguration.

After this patch, AL2230S devices are rejected with an error message, to
avoid any confusion with an apparent driver bug.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
0ce34bc8f7d906d66ce6803f63399ef9bbe54012 12-Dec-2006 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Remove addressing abstraction

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: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
ee30276774451d657407855d95d9393ee8bc0bac 12-Dec-2006 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Consistency for address space constants

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: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
9cdac9657fda58ae39c2bbc8be396f5530ed8398 01-Dec-2006 Ulrich Kunitz <kune@deine-taler.de> [PATCH] zd1211rw: Support for multicast addresses

Support for multicast adresses is implemented by supporting the
set_multicast_list() function of the network device. Address
filtering is supported by a group hash table in the device.

This is based on earlier work by Benoit Papillaut. Fixes multicast packet
reception and ipv6 connectivity:
http://bugzilla.kernel.org/show_bug.cgi?id=7424
http://bugzilla.kernel.org/show_bug.cgi?id=7425

Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
b1382edef9c06eca337e8982e6040e0699abab82 22-Nov-2006 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Use softmac ERP handling functionality

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: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
741fec53f268b691b869ffc70023319406e0cc97 22-Nov-2006 Ulrich Kunitz <kune@deine-taler.de> [PATCH] zd1211rw: cleanups

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: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
583afd1e4f25c87000c85ad7d03f5299fd4155dc 13-Sep-2006 Ulrich Kunitz <kune@deine-taler.de> [PATCH] zd1211rw: Add LED support

This patch includes a big cleanup of the existing unused LED code,
and adds support for controlling the LED.

The link LED will blink if the device is not associated. The LED
switches between 2 seconds on and 1 second off. If the device is
associated the LED is switched on.

The link LED also indicates packet TX. I do a little bit more led
resetting than the vendor driver, but the device works now as
expected for single LED and double LED devices.

Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
d066c2190de86d75e17dc35beba48b920cb125ee 12-Aug-2006 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Firmware version vs bootcode version mismatch handling

This is needed for my G220F, otherwise it fails to initialize after the
existing firmware upload routine.

The vendor driver actually does more than what I have done here: it
downloads the firmware + boot code, modifies it, and uploads it again
(really messy). I have not copied that part over, as my device can get
on its feet without it.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
ec62bd91bbb58254dfddca3d290f5fe4aa1cb769 12-Aug-2006 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Support AL7230B RF

This patch adds support for another Airoha RF which is present in some
ZD1211 adapters. This RF supports 802.11a as well as 802.11b/g, but 802.11a
connectivity is not yet supported by this driver.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
20fe2176e5edbeb5957f113df1282a917ef87b5d 12-Aug-2006 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: AL2230 ZD1211B vendor sync

This patch synchronizes our code to some recent vendor driver modifications.
A new PHY layout is supported, some values are tweaked, and the AL2230 is now
programmed over a new interface which is many times faster.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
98227a90a727029613f23c5e53554f1f4d7a1c89 12-Aug-2006 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Match vendor driver IFS values

The vendor driver resets the IFS value every time the channel changes,
to this one.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
fde627b54ce7bef094157074f3adb9b6e1a96d4c 01-Aug-2006 Ulrich Kunitz <kune@deine-taler.de> [PATCH] zd1211rw: Packet filter fix for managed (STA) mode

I had problems with my AVM Fritz!Box access point. It appeared
that the AP deauthorized me and the softmac didn't reconnect me.
This patch handles the problem.

Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
71eae25ece9ee6bc2fe9500c9c06bfbb46c55fb2 01-Aug-2006 Daniel Drake <dsd@gentoo.org> [PATCH] zd1211rw: Pass more management frame types up to host

We'll be needing these at some point...

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h
e85d0918b54fbd9b38003752f7d665416b06edd8 02-Jun-2006 Daniel Drake <dsd@gentoo.org> [PATCH] ZyDAS ZD1211 USB-WLAN driver

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: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
/drivers/net/wireless/zd1211rw/zd_chip.h