Version 2.6.2 -- Streamlined install procedure; moved etc stuff into separate subdirectory. -- First draft of Flash Translation Layer module, and FTL formatting tools (ftl_format, ftl_check). -- Fixed bug in resource allocation that sometimes causes bad things to happen when unloading modules or when restarting cardmgr. -- Updated Roger Pao's New Media ethernet driver to v0.14. -- Changed pcmem_cs to use memcpy() for block reads and writes. -- Changed de650_cs to use larger packet buffer on Socket EA cards. -- Fixed cardmgr 'kill -HUP' behavior. -- Updated some man pages. Version 2.6.1 -- Changed 'checkme' and docs to ask for kernel 1.2.8. -- Fixed bug in modules/Makefile -- Fixed bug in module version mismatch reporting. -- Fixed a couple of minor bugs in cardmgr. -- Fixed uninitialized variable bug in CIS parsing stuff in network drivers. Version 2.6.0 -- More robust handling of some i82365 timing parameters. -- Moved all CIS handling stuff from cs.c to cistpl.c. Added more CIS parsing, mainly for memory cards. Changed default for "strict_cis" to "off". -- Moved all the resource management stuff into rsrc_mgr.{c,h}, merged with the old mem_region.{c,h}. -- Added cs_internal.h for stuff shared between parts of pcmcia_core. -- Added support for Memory Technology Drivers. Added new sram_mtd, also added generic MTD-aware memory card driver, 'memory_cs'. -- Added MTD stuff to Programmer's Guide. -- Fixed bug in CS that prevented clean unloading of drivers that use memory windows. -- Changed i82365 module to detect Vadem chip in Vadem-Rev mode. -- Added MTD's for Intel Series 2 and Series 2+ Flash. -- Incorporated recent updates to Linux NE2000 driver into de650_cs driver. -- Fixed bad uninitialized variable bug in pcmem_cs. -- Added config entry for Adaptec APA-1460 SlimSCSI. Version 2.5.6 -- Fixed rc.pcmcia so that "stop" doesn't bomb if you're not running cardinfo. -- Added back a few modem config entries. -- Added version checking to all PCMCIA modules and utilities. -- Fixed bug in i82365 socket counting code. -- Fixed 'checkme' and HOWTO to give better info about version.h, added more network checks, better formatting. -- Clarified NE2000 instructions in HOWTO. -- Added support for KCI PE-520 Ethernet. -- Fixed bug in pcmem driver that could cause the first byte of a card to get scrambled. Version 2.5.5 -- Added function-based card identification to cardmgr. Deleted all modem card entries from standard config file. -- Added 'strict_cis' parameter to pcmcia_core module to control strict CIS parsing rules (default is turned on). -- Changed power-up sequence: reset will only be asserted after vcc_settle, reset timing tweaked to conform to standard. -- Fixed bugs in suspend/resume losing track of socket state. -- Added definitions for Ricoh controllers. Version 2.5.4 -- Fix for CIS long link tuple handling. -- Fixed CIS config table parsing bug in parse_irq(). -- Changed cardmgr so that wildcard product strings will match not-present strings. -- A few new sanity checks for 'make prereq' and 'make install-etc'. Version 2.5.3 -- Another fix to cistpl.c version string parsing. -- Another fix to CIS end-of-chain handling. Version 2.5.2 -- Changed cistpl.c to accept some non-conforming version tuples. -- Duh, took floating point code out of kernel modules. Version 2.5.1 -- Fixed bug in 'cardinfo' updating of device info. -- Changed defaults in i82365 module to disable irqs 12 and 15 for Cirrus chips. Also made interrupt scans more robust, and fixed probe for two controllers. -- More module unloading bugs fixed (ethernet, scsi modules). -- Fixed a couple of minor bugs in Makefiles, etc. -- Added more extensive CIS parsing, improved dump_tuples, added long link handling. Some error responses may have changed. -- Changed 'attr_speed' parameter to 'cis_speed', since code now also handles CIS stuff in common memory. Default changed to 300 ns. -- Added text to the Programmer's Guide describing new CIS stuff. -- Fixed suspend/resume problem where an empty socket isn't set up properly after a resume. -- Fixed race condition in socket initialization that could sometimes cause a card to be configured twice. Version 2.5.0 -- Verified with Linux 1.2.0 -- Added a lot of new text to the Programmer's Guide. -- Added Roger Pao's alpha driver for New Media Ethernet. -- Added %c% substitution for 'cardmgr' start/stop commands, to map to the card name. -- Rewrote Driver Services event handling to deal with more than one reader. Rewrote handing of eject requests so that cardmgr can clean up before a card is shut down. -- Added event report window to 'cardinfo' display. Made 'cardinfo' a setuid program so that regular users can run it to get status info, but not modify sockets. Added file locking to /etc/stab. -- Changed socket initialization sequence to conform to PCMCIA docs; should fix Megahertz 2144 modem and some suspend/resume problems. -- Changed interrupt mask code in i82365 and tcic to probe for working interrupt lines at startup time. Added ability for tcic driver to use irq 11. -- Fixed 'checkme' to do more SCSI option sanity checking, and to look in $LINUX/include/linux instead of /usr/include/linux. -- Fixed module unloading bugs in toaster_cs and qlogic_cs. -- Fixed bug in /etc/stab updating at card removal. -- Fixed Vpp display bug in cardinfo. -- Fixed power setting bug in GetSocket in i82365. -- Fixed serial_cs shutdown bug for case of two modems. Version 2.4.9 -- Minor fixes to HOWTO, Programmer's Guide. -- Included missing man pages for cardinfo, stab. Version 2.4.8 -- Added Maxtech Ethernet support. Added text to HOWTO for how to add support for any NE2000-compatible card. -- Fixed serial driver suspend bug, but it is still goofy. -- Added status beeps to cardmgr. -- Fixed Makefiles to include ${LINUX}/include, to better support systems with more than one Linux source tree. -- Made 'cardinfo' tool part of distribution. -- New man pages for /etc/stab, cardinfo. Version 2.4.7 -- Changed cardmgr to use uname() instead of /bin/uname. -- Moved cardmgr PID file from /var/pid to /var/run. -- Changed 'checkme' script to also work with ksh. -- Overhaul of suspend/resume and reset event handling. Goal is to fix trouble with cards not waking up after resume. -- Added some more tests to 'checkme'; now it creates 'xtra.options' to hold extra Makefile settings. -- Changed Makefile to autoconfigure rc.pcmcia using 'probe -m'. -- Added '/etc/stab' file output to cardmgr to hold current card info. -- Added more interlocks to shutdown code in de650_cs. -- Updated Qlogic driver for 1.1.93, for rev 1.10 card. Version 2.4.6 -- More fixes for Socket EA card, that should also fix Accton file transfer problems. Added 'delay_time' parameter to de650_cs. -- Fixed reset code for Compaq modem. New 'reset_time' parameter for pcmcia_core module. Changed default reset timing parameters. Version 2.4.5 -- Added support for EP-210 Ethernet -- Fixed Socket EA card, for real! Version 2.4.4 -- Changed Bus Toaster driver to use CIS tuples to pick IO addresses. -- Added 'wakeup' parameter to i82365 module for sleepy Cirrus chips. -- Fixed minor Makefile bugs. -- Fixed bugs in de650_cs for Socket EA card. -- Added 'mem_speed' parameter to ibmcc_cs module. Version 2.4.3 -- Fixed bug in PCI controller handling in i82365 module. -- Changed qlogic module to support turbo DMA. -- Increased tuple buffer in serial_cs for Toshiba V.34 modem. -- Added 'eject' and 'insert' commands to cardctl. -- Disabled Bus Toaster driver by default, since it is broken. -- Changed rc.sample to rc.pcmcia, added 'start' and 'stop'. -- Fixed interlocks between socket drivers and pcmcia_core. Version 2.4.2 -- Fixed several bugs in Qlogic, Bus Toaster SCSI drivers. Version 2.4.1 -- Fixed bug in TCIC-2 bus sizing code. Version 2.4.0 -- Changed default spot for cardmgr pid file to /var/pid/cardmgr.pid to conform to Linux standards. -- Converted FAQ to linuxdoc-sgml HOWTO format. -- More fixes for reset handling in cardmgr. -- 'cardctl status' will now report if a socket is suspended. -- When cardmgr gets a SIGHUP, it will reload the config file. -- Changed i82365 driver to handle multiple controllers better. -- Replaced old 'exclude=' options in i82365 and tcic with new 'ignore=' option to specifically ignore any one socket. The old option ignored sockets starting from 0. -- Cleaned up resource management stuff in cardmgr, so that SIGHUP will work properly, and no more "could not adjust resource" stuff. -- Fixed some device locking bugs in the memory card driver. -- Fixed small memory leak in CS resource handling. -- Wrote Programmer's Guide. -- Small fixes in cs.c and 3c589 driver for very fast systems. -- Added 'checkme' script and 'make prereq' target to check system for PCMCIA prerequisites. -- Fixed up module handling in cardmgr for dealing with several cards of the same type. -- Got rid of CONFIG_APM and CONFIG_PCI options -- they will be set automatically using /usr/include/linux/autoconf.h. -- Updated for 1.1.85 kernel. -- Fixed up Qlogic, Bus Toaster SCSI drivers. -- Kernel modules now installed under /lib/modules//pcmcia. Updated cardmgr to use the new module location. -- Changed cardmgr to bind anonymous card driver to unsupported cards whenever possible. -- Added more timing controls to i82365 and tcic modules. Implemented AccessSpeed for memory windows. Added attr_speed and io_speed parameters to pcmcia_core module. -- Added IO window attribute IO_DATA_WIDTH_AUTO for auto-sizing IO windows. Version 2.3.9 -- Changed default compile options for modules to include "-g". -- Added 'reset' command to cardctl. Made cardmgr more sensible about dealing with failed resets. -- Added device locking to pcmem_cs driver for "clean" suspend/resume. -- Cleaned up network driver shutdown code -- fixed "device still locked" message when drivers are unloaded. -- Fixed memory card size determination algorithm so that it doesn't return garbage for I/O cards. -- Cleaning up spurious interrupts when net cards are ejected: a new patch for 8390.c. Version 2.3.8 -- Fixed bug in 3c589_cs.c that prevented clean unloading. -- Fixed 3c589_cs.c to work with 3c589B cards. Version 2.3.7 -- Fixed bad bug in tcic.c. Version 2.3.6 -- Fixed 'exclude' bug in i82365 -- Update for Linux 1.1.72. -- Replaced 'status' with new 'cardctl' utility. Added options for suspending and resuming individual sockets. -- Added RPTI ethernet support. -- Added stuff to i82365 and tcic modules to fix interrupt selection. Also added flags for Cirrus controllers with optional features like status LED's, ring indicate, and DMA. Version 2.3.5 -- Fixed ifconfig problem in 3c589 driver. -- Fixed up PCI support some more. -- Fixed i82365 to handle VLSI with > 1 socket -- Changes for APM support. These include revamping the socket setup stuff in i82365 and tcic, and adding event handling to all clients. -- Changes for Qlogic SCSI support Version 2.3.4 -- Added support for Cirrus PCI controller. -- Cleaned up serial driver shutdown code. -- Added 'patches' subdirectory for useful kernel patches. -- Added PCMCIA-FAQ -- Added 'exclude=#' parameter to i82365 and tcic modules to better accommodate cards with point enablers. -- Fixed bug in dump_tcic -- mode register wasn't read correctly. -- Fixed TCIC-2 event handler problem Version 2.3.3 -- Fixed some TCIC-2 bugs. Version 2.3.2 -- Changed i82365 so if it is limited with a 'sockets=#' option, it will never touch any higher numbered socket -- for SCSI drivers with point enablers. -- More debugging code in i82365, tcic modules. -- Added stuff to 'cardmgr' to maintain a /etc/pcmcia/cardmgr.pid file. -- Fixed blocksize problem, module unloading bug in pcmem_cs driver. -- Fixed bug in cardmgr 'kill -HUP' handling (actually in Card Services) Version 2.3.1 -- Fixed TCIC-2 polling bug. Version 2.3 -- Major rewrite of low-level i82365 and tcic driver interface. Card status polling put in the low level drivers instead of pcmcia_core. -- Rewrite of low-level card status event handling. -- Better TCIC-2 register dump utility. -- DMA and speaker output control for TCIC-2, Cirrus controllers. -- Added signal handling to cardmgr -- Checked with 1.1.61 kernel. Version 2.2.10 -- Small fix in Vadem probe code. -- Fix for New Media hardware address probe. -- Cleaned up memory window handling in Card Services. -- Added a heavily-commented "skeleton" client driver Version 2.2.9 -- One more VLSI controller fix. -- Accton and New Media ethernet support merged into de650 driver. Version 2.2.8 -- Fixed handling of second socket with VLSI controller. -- Fixed event handling bug in ibmcc and pcmem drivers. Version 2.2.7 -- Added TCIC_SCF2_IDBR fix to tcic.c. -- Fixed bug in 3c589 interrupt handler. Version 2.2.6 -- Changed distribution to include lex and yacc output files. -- Added support for Vadem VG-468 controller. -- Changed i82365 code to support suspend/resume (sometimes, anyway). -- Fixes in TCIC-2 autodetect and event handling. -- Updated 3c589_cs driver to parallel changes to 3c509 driver. -- Changed all client drivers so they can be manually unloaded as long as their devices are not in use. -- Working on Accton EN2212 driver. -- Checked with 1.1.54 kernel. Version 2.2.5 -- Fixed event mask bug in ibmcc_cs, socket numbering bug in i82365. Version 2.2.4 -- Changed cardmgr to handle modules that take parameters. -- Minor cleanups of Makefiles. -- Better error handling for all Card Services stuff. -- Minor improvements in debug tools. -- Small fix in 3c589_cs driver. -- Checked with 1.1.51 kernel. Version 2.2.3 -- Added 'expert' flag (-x) to probe -- this does a somewhat risky but thorough search for a TCIC-2 chip. But, it doesn't work yet. -- Fixed bug in CS that prevented clean unloading of modules. -- Fixed 'kmalloc called nonatomically' bug in ibmcc_cs. -- Added extra test to i82365 to fix socket counting for some clones. -- Added write protect test to memory card driver. -- Man pages for cardmgr, config file, and drivers! -- Changed default config script to automatically link /dev/modem to a modem or serial card. Version 2.2.2 -- Added 'anonymous' card type to cardmgr, so that cards with no CIS information can be bound to the memory card driver. Version 2.2.1 -- Checked with 1.1.49. -- Minor install bug fixes. Version 2.2 -- Cleaned up README's Version 2.1.4 -- Added 'poll_delay' parameter to tcic module to control busy loop. -- Checked against 1.1.48. -- Fixed the shared-memory IBM CCAE driver. -- Removed (broken) IBM CCAE support from DE650 driver. -- Better Cirrus PD67xx register dumping in dump_i365 -- Minor improvements to trim down module sizes Version 2.1.3 -- Added preliminary shared memory driver for IBM CCAE cards. Version 2.1.2 -- Added setup of "misc" register for IBM CCAE cards. -- Cleaned up header files. -- Fixed pcmem_cs for 1.1.47. Version 2.1.1 -- Fixed network setup bug in config.sample. Version 2.1 -- Checked against 1.1.46 -- Added memory card driver, pcmem_cs, providing character and block devices for accessing PCMCIA card memory. -- Moved cardmgr from /usr/sbin to /sbin. -- Added 'sockets' parameter to i82365 for systems where the probe does not give the right answer. -- Added support for memory windows to CS. -- Working on support for IBM CCAE in de650_cs.c. -- Changed ds.c to relay major and minor device #'s as well as device names; now cardmgr can create device files on the fly. -- Changed tcic driver to support alternate base addresses for the TCIC-2 chip, via an 'insmod' parameter setting. -- Moved all configuration options to 'make.options', cleaned up the Makefiles, so that builds will be warning-free. -- Updated modules for 1.1.44. -- Cleaned up event handling in CS to make insert/removal detection more robust -- seems to help with MHz XJ2144. -- Fixed bug in cardmgr temporary device file unlinking that was causing /tmp to fill up with bogus device files. -- Fixed cardmgr to log messages on the console when syslogd is not running. -- No patches needed for 1.1.43 kernel! -- Added some hooks to CS so that it can be tweaked when you load it. -- Added sti()'s to all the CS interrupt routines, added more timeouts to hopefully lower chance of deadlocks. Version 2.0 -- Updated patches for 1.1.42 kernel. -- Major file reorganization: now all the pcmcia stuff is segregated in one directory tree. -- Changed device code in ds.c to grab the first free character device number. Also changed cardmgr to read /proc/devices to determine what device number was found. This eliminates the need for a kernel patch to include/linux/major.h. -- Moved the "improved" resource registrar code out of ioport.c and into drivers/pcmcia, since it seems unlikely to be adopted any time soon. -- Changed DE650 driver so that it will pick I/O ports aligned to a 32 port boundary between 0x300 and 0x400, since odd boundaries don't work. -- Fixed IBM modem test in serial driver so it won't bail on modems with incomplete CIS's. -- Working on simplifying configuration of 3c589 driver. Now you can set if_port from insmod: "insmod 3c589_cs.o if_port=#". This still isn't useful, because cardmgr doesn't allow arguments for modules. Version 1.7 -- Changed serial driver to actually use the ports specified in the CIS. This fixes Intel modems (and others??). -- Support for 3Com 3c589 ethernet! -- Support for IBM high-speed modems. Version 1.6 -- Updated patches for kernel level 1.1.38. -- Fixed serial driver to enable audio output. -- Added GetStatus call to Card Services, added to 'status' reports. -- Added 'probe' program to report PCMCIA controller type. -- Added 'dump_i365' program to dump Intel and Cirrus registers. -- Added 'dump_tcic' program to dump TCIC-2 registers. -- Added -DPOLL_STATUS option to cs.c, to support explicit polling of card status changes on systems where card insertion/removal irq's don't seem to work. -- Added 'dump_cisreg' program to dump CIS registers. -- Better card status change handling with TCIC-2 controller. Version 1.5 -- Attempt to fix card insertion/removal detection for TCIC-2. -- Installation bug fixes. -- Added 'tuples' program to dump CIS data. Version 1.4 -- Updated patches for kernel level 1.1.35. -- Fixed cardmgr to look in /sbin for the module utilities. Version 1.3 -- Alpha support for TCIC-2 controller. Version 1.1 -- Included missing cisreg.h header file. Version 1.0 -- First release.