########################################### # Thanks and credits # ########################################### Thanks to loomer for writing the original driver. Without that work we'd have nothing. ;-) Seriously, coaching and motivation from loomer have been key. These folks have contributed various patches (I know I've missed a couple - please let me know) Plamen Ganev Tomasz Motylewski Rusty Lynch Robert Clare Markus Gutschke Rudens Liudesys Vace Kundakci gedas ########################################### # Bugs and Improvement ideas # ########################################### - rl2cfg should attempt to use the wireless extensions - 0x8000000-0x8ffffff core dumps accessing 0xc8...... - respond to the Symphony network map - distribute pre-compiled modules - 'insmod -f'? - make the "find APs" function work - a bug where the PCI card occasionally fails interrupts on a warm boot ########################################### # Change history # ########################################### v1.5.3 - Fixed security ID. Was broken accidentally is the final 1.5.2 release v1.5.2 - autoconfig's from a running kernel. Optionally includes /usr/src/linux/.config for compiling from sources - pulled configuration questions out of Makefile into a script. This should make it easy should anyone want to beautify it. - Changed how 'make config' works. Since we're using an include, you can't force 'make config' and follow with other targets on the command line. 'make config' will exit out and force you to run 'make modules' separately. Fortunately, 'make modules' checks automatically if config.mk needs updating. This only affects you when you want to force a configuration. - add inactivity-timeout and disable-peer-to-peer support, disable roaming - rl2cfg now prints messages at the prompt, and they should be clearer - randomized default channel and subchannel. This is helpful in a home environment when you don't know if your neighbor is running the defaults. Can be overridden with rl2cfg. - Copyright added regarding the library based on Proxim's licensed source. - fixed a PCI bug where the interrupt wasn't getting cleared on some hardware - should support PCI interrupt sharing - use DriverVersionString - now IO_DELAY doesn't rely on keyboard port 0x61. It uses port 0x80 per asm/io.h. I hope that's ok. - rl2cfg prints to the console when changes are made. Also still prints to syslog for security purposes. - added support Linux's bridging - support kernel family 2.3 - suspend/resume now works for PC Card - added a MAC-layer "ping": proxnet - renamed rl2cfg to proxcfg but install_modules adds a link to smooth over the change - cleaned up proxcfg source a little bit to make it easier to read and modify - new wireless extension for setting master/station - we now seem to be able to load multiple instances of the driver if you have more than one card. Make multiple copies of the driver (or use ln) and 'insmod -x rlmodN io=0xXXX irq=n', etc v1.5.1 - added 'depmod -a' to the 'make modules_install' step in hopes of simplifying the install. - modified for support under linux 2.2.x. It's still supposed to support 2.0.x. Let me know of problems. - tried to simplify 'make config' a little bit. Added a REDHAT setting to try to guess as much as possible about your config. - I think you don't need to 'make dep' kernel sources or 'make config' pcmcia sources anymore - put in work around for the random driver stoppages. The kernel will now figure it out quickly and reset. However, this shouldn't be needed so more study required. - someone reported re-entrant IRQ errors. Should be fixed but I couldn't recreate to verify. - added RL2DEBUG so that debugging can be turned on via rl2cfg. Keeps from filling up the log before an error occurs. - I think I finally have MODVERSIONS configured automatically, and without you needing to do a 'make dep' on your kernel sources. The drawback is it now configures to your running kernel which might be problem for cross compiling. - added an rl2cfg man page - added support for PCI card. Supported for 2.2.x. Please suggest patches for older kernels - the infamous stoppage problem is fixed v1.5.0 - supporting Proxim's CLLD version 1.5. This is the same generation as Windows driver v1.4B0 - Now supports the RangeLAN2 7200/7400 PC Cards and the Symphony PC Card - Clean up logging levels of some of the driver messages - Error codes print out with words - For security reasons, any config changes go to log - added 'make config' to (hopefully) make system configuration easier. - Compile with BUFF, crashed the kernel for really large transfers; using scheduling in the ISR seems to have solved this. Others have reported the driver simply stops at times. Let me know if you think that is fixed too. I think there was a conflict accessing the card that this resolves because of some changes I had made in the library - shouldn't have mucked with it. ;-) v1.4.3 - added support for Jean Tourrilhes' wireless extensions to kernel. Read about it at http://www-uk.hpl.hp.com/people/jt/Linux/Linux.Wireless.html and download the tools at ftp://hyper.stanford.edu/pub/pcmcia/contrib. Support isn't complete yet. - realized that the RangeLAN2 MicroISA *is* supported. Silly me. README updated. - provided hooks for several new parameters. README and params.doc tell you about them. - added a note in README on how to support multiple cards in one machine. - studied Alan Cox's sample driver and made some changes. Don't know that anything is much different. One thing to look at if you've had crashes is if there was anything associated with LLSReceiveLookAhead. It now checks for buffer-allocation failures. - added more stats reporting - both regular enet stuff and wireless ext. stuff. - added ability to set roaming configuraiton and MAC Optimize, like in Win95 driver - slightly changed rl2cfg - you don't need to specify node type to set the other parameters - fixed a security hole - now checks if you are su before changing parameters - fixed the bug where if you choose the wrong base address, it will crash the kernel - the bug fix above changed some expire values (it was using HZ wrong). Might also fix other obscure bugs reported that I haven't been able to recreate. - added support for Symphony PnP ISA card. - changed default irq to 11. 15 is too commonly used for a second IDE controller. v1.4.2 - wouldn't set security ID if the f/w rev is v1.8 or later. - added BUFFER declaration. This allows you to turn off buffer in the CLLD. No definitive proof but there seem to be some kernel crashes associated with the relatively large buffering of 8. Turning off buffering is probably equivalent to setting LLDMAXSEND to 1. However, that still buffers one packet in the driver. Turning off buffering gets rid of all instances of kmalloc v1.4.1 - fixed a bug in the library. The driver was trying to clear the 8259 during the ISR. (Got to hate those hooks in there for DOS.) - fixed a bug in lld.h. FLAGS was typedef'd wrong. Should have only mattered at init time so I think this was working for most people already. - slightly modified the packet buffering process. Don't know for sure that there was a problem with it, however. - restructured the files a little bit and added a few more comments. Still needs more cleaning. Feel free to contribute to future releases. v1.4.0 - upgraded to Proxim v1.4 release of CLLD. This is equivalent to their 1.2-B5 driver to NT and 95. See company release notes for additions and changes. v1.3.2 - changed interrupt handling to improve performance. Driver used to make liberal use of sti() and cli(). Now we count on the OS interrupt masking. Still one cli() used at hard initialization of card. This improvement helps particularly in a high-interrupt environment like when your server is a gateway to a serial interface.