summaryrefslogtreecommitdiffstats
path: root/drivers/net/wavelan.p.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-06-13 16:29:25 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-06-13 16:29:25 +0000
commitdb7d4daea91e105e3859cf461d7e53b9b77454b2 (patch)
tree9bb65b95440af09e8aca63abe56970dd3360cc57 /drivers/net/wavelan.p.h
parent9c1c01ead627bdda9211c9abd5b758d6c687d8ac (diff)
Merge with Linux 2.2.8.
Diffstat (limited to 'drivers/net/wavelan.p.h')
-rw-r--r--drivers/net/wavelan.p.h117
1 files changed, 70 insertions, 47 deletions
diff --git a/drivers/net/wavelan.p.h b/drivers/net/wavelan.p.h
index 251f2b98e..9a2f16847 100644
--- a/drivers/net/wavelan.p.h
+++ b/drivers/net/wavelan.p.h
@@ -18,13 +18,7 @@
* This driver provides a Linux interface to the WaveLAN ISA hardware.
* The WaveLAN is a product of Lucent (http://www.wavelan.com/).
* This division was formerly part of NCR and then AT&T.
- * WaveLANs are also distributed by DEC (RoamAbout), Digital Ocean and
- * Aironet (Arlan). If you have one of those products, you will need to
- * make some changes below.
- *
- * This driver is still beta software. A lot of bugs have been corrected,
- * a lot of functionality is implemented, and the whole appears stable,
- * but there is still room for improvement (encryption, performance).
+ * WaveLANs are also distributed by DEC (RoamAbout DS) and Digital Ocean.
*
* To learn how to use this driver, read the NET3 HOWTO.
* If you want to exploit the many other functionalities, read the comments
@@ -35,11 +29,27 @@
/* ------------------------ SPECIFIC NOTES ------------------------ */
/*
+ * Web page
+ * --------
+ * I try to maintain a web page with the Wireless LAN Howto at :
+ * http://www-uk.hpl.hp.com/people/jt/Linux/Wavelan.html
+ *
+ * Debugging and options
+ * ---------------------
+ * You will find below a set of '#define" allowing a very fine control
+ * on the driver behaviour and the debug messages printed.
+ * The main options are :
+ * o SET_PSA_CRC, to have your card correctly recognised by
+ * an access point and the Point-to-Point diagnostic tool.
+ * o USE_PSA_CONFIG, to read configuration from the PSA (EEprom)
+ * (otherwise we always start afresh with some defaults)
+ *
* wavelan.o is too darned big
* ---------------------------
* That's true! There is a very simple way to reduce the driver
* object by 33%! Comment out the following line:
* #include <linux/wireless.h>
+ * Other compile options can also reduce the size of it...
*
* MAC address and hardware detection:
* -----------------------------------
@@ -60,23 +70,6 @@
* 3) Compile and verify
* 4) Send me the MAC code. I will include it in the next version.
*
- * "CU Inactive" message at boot up:
- * -----------------------------------
- * It seems that there is some weird timing problem with the
- * Intel microcontroller. In fact, this message is triggered by a
- * bad reading of the onboard RAM the first time we read the
- * control block. If you ignore this message, all is OK (but in
- * fact, currently, it resets the WaveLAN hardware).
- *
- * There are two ways to get rid of that problem. The first
- * is to add a dummy read of the scb at the end of
- * wv_82586_config. The second is to add the timers
- * wv_synchronous_cmd and wv_ack (the udelay just after the
- * waiting loops--it seems that the controller is not totally ready
- * when it says it is).
- *
- * In the current code, I use the second solution (to be
- * consistent with the original solution of Bruce Janson).
*/
/* --------------------- WIRELESS EXTENSIONS --------------------- */
@@ -273,6 +266,32 @@
* - encryption setting from Brent Elphick (thanks a lot!)
* - 'ioaddr' to 'u_long' for the Alpha (thanks to Stanislav Sinyagin)
*
+ * Other changes (not by me) :
+ * -------------------------
+ * - Spelling and gramar "rectification".
+ *
+ * Changes made for release in 2.0.37 & 2.2.2 :
+ * ------------------------------------------
+ * - Correct status in /proc/net/wireless
+ * - Set PSA CRC to make PtP diagnostic tool happy (Bob Gray)
+ * - Module init code don't fail if we found at least one card in
+ * the address list (Karlis Peisenieks)
+ * - Missing parenthesis (Christopher Peterson)
+ * - Correct i82586 configuration parameters
+ * - Encryption initialisation bug (Robert McCormack)
+ * - New mac addresses detected in the probe
+ * - Increase watchdog for busy environments
+ *
+ * Changes made for release in 2.0.38 & 2.2.7 :
+ * ------------------------------------------
+ * - Correct the reception logic to better report errors and avoid
+ * sending bogus packet up the stack
+ * - Delay RU config to avoid corrupting first received packet
+ * - Change config completion code (to actually check something)
+ * - Avoid reading out of bound in skbuf to transmit
+ * - Rectify a lot of (useless) debugging code
+ * - Change the way to `#ifdef SET_PSA_CRC'
+ *
* Wishes & dreams:
* ----------------
* - roaming
@@ -312,6 +331,24 @@
#include "i82586.h"
#include "wavelan.h"
+/************************** DRIVER OPTIONS **************************/
+/*
+ * `#define' or `#undef' the following constant to change the behaviour
+ * of the driver...
+ */
+#undef SET_PSA_CRC /* Calculate and set the CRC on PSA (slower) */
+#define USE_PSA_CONFIG /* Use info from the PSA. */
+#undef STRUCT_CHECK /* Verify padding of structures. */
+#undef EEPROM_IS_PROTECTED /* doesn't seem to be necessary */
+#define MULTICAST_AVOID /* Avoid extra multicast (I'm sceptical). */
+#undef SET_MAC_ADDRESS /* Experimental */
+
+#ifdef WIRELESS_EXT /* If wireless extensions exist in the kernel */
+/* Warning: this stuff will slow down the driver. */
+#define WIRELESS_SPY /* Enable spying addresses. */
+#undef HISTOGRAM /* Enable histogram of signal level. */
+#endif
+
/****************************** DEBUG ******************************/
#undef DEBUG_MODULE_TRACE /* module insertion/removal */
@@ -321,14 +358,16 @@
#define DEBUG_INTERRUPT_ERROR /* problems */
#undef DEBUG_CONFIG_TRACE /* Trace the config functions. */
#undef DEBUG_CONFIG_INFO /* what's going on */
-#define DEBUG_CONFIG_ERRORS /* errors on configuration */
+#define DEBUG_CONFIG_ERROR /* errors on configuration */
#undef DEBUG_TX_TRACE /* transmission calls */
#undef DEBUG_TX_INFO /* header of the transmitted packet */
-#define DEBUG_TX_ERROR /* unexpected conditions */
+#undef DEBUG_TX_FAIL /* Normal failure conditions */
+#define DEBUG_TX_ERROR /* Unexpected conditions */
#undef DEBUG_RX_TRACE /* transmission calls */
-#undef DEBUG_RX_INFO /* header of the transmitted packet */
-#define DEBUG_RX_ERROR /* unexpected conditions */
-#undef DEBUG_PACKET_DUMP 16 /* Dump packet on the screen. */
+#undef DEBUG_RX_INFO /* header of the received packet */
+#undef DEBUG_RX_FAIL /* Normal failure conditions */
+#define DEBUG_RX_ERROR /* Unexpected conditions */
+#undef DEBUG_PACKET_DUMP 32 /* Dump packet on the screen. */
#undef DEBUG_IOCTL_TRACE /* misc. call by Linux */
#undef DEBUG_IOCTL_INFO /* various debugging info */
#define DEBUG_IOCTL_ERROR /* what's going wrong */
@@ -340,30 +379,14 @@
#undef DEBUG_I82586_SHOW /* Show i82586 status. */
#undef DEBUG_DEVICE_SHOW /* Show device parameters. */
-/* Options */
-#define USE_PSA_CONFIG /* Use info from the PSA. */
-#define IGNORE_NORMAL_XMIT_ERRS /* Don't bother with normal conditions. */
-#undef STRUCT_CHECK /* Verify padding of structures. */
-#undef PSA_CRC /* Check CRC in PSA. */
-#undef OLDIES /* old code (to redo) */
-#undef RECORD_SNR /* to redo */
-#undef EEPROM_IS_PROTECTED /* doesn't seem to be necessary */
-#define MULTICAST_AVOID /* Avoid extra multicast (I'm sceptical). */
-
-#ifdef WIRELESS_EXT /* If wireless extensions exist in the kernel */
-/* Warning: this stuff will slow down the driver. */
-#define WIRELESS_SPY /* Enable spying addresses. */
-#undef HISTOGRAM /* Enable histogram of signal level. */
-#endif
-
/************************ CONSTANTS & MACROS ************************/
#ifdef DEBUG_VERSION_SHOW
-static const char *version = "wavelan.c : v16 (wireless extensions) 17/4/97\n";
+static const char *version = "wavelan.c : v19 (wireless extensions) 20/4/99\n";
#endif
/* Watchdog temporisation */
-#define WATCHDOG_JIFFIES 32 /* TODO: express in HZ. */
+#define WATCHDOG_JIFFIES 256 /* TODO: express in HZ. */
/* Macro to get the number of elements in an array */
#define NELS(a) (sizeof(a) / sizeof(a[0]))