First of all, the best thing would be that this driver becomes obsolte by
adding support for Hermes II and Hermes II.5 cards to the existing orinoco
driver. The orinoco driver currently only supports Hermes I based cards.
Since this will not happen by magic and has not happened until now this
driver provides a stop-gap solution for these type of cards.

Having said that, the following wishlist comes to mind to make the driver
suitable as fully supported kernel driver. Feel free to expand/enhance the
list.

TODO:
	- verify against a Hermes II.5 card
	- verify with WPA encription (both with H2 and H2.5 cards)
	- sometimes the card does not initialize correctly, retry mechanisms
	  are build in to catch most cases but not all
	- once the driver runs it is very stable, but I have the impression
	  some the crittical sections take to long
	- the driver is split into a Hermes II and a Hermes II.5 part, it
	  would be nice to handle both with one module instead of two
	- review by the wireless developer community
	- verify the code against the coding standards for a proper linux
	  driver
	- resolve license issues (?)

DONE:
	- verified against a Hermes II card (Thomson Speedtouch 110 PCMCIA
	  card)
	- verified with WEP encription

Please send any patches or complaints about this driver to Greg
Kroah-Hartman <greg@kroah.com> and Cc: Henk de Groot <pe1dnn@amsat.org>
Don't bother the upstream wireless kernel developers about it, they
want nothing to do with it.
