@database "prism2.device Manual"
@$VER: "prism2.device Manual" 2.8 (13.3.2022)
@author "Neil Cafferkey"
@(c) "Neil Cafferkey"

Copyright (C) 2005-2022 Neil Cafferkey


@node "main" "prism2.device Manual"

  @{b}@{u}prism2.device 2.8@{uu}@{ub} - A WPA/WPA2-capable wireless network driver


    @{"Introduction" link "intro"}

    @{"Card Compatibility" link "compatibility"}

    @{"Installation and Usage" link "install"}

    @{"Author and LegalInformation" link "author-legal"}

    @{"History" link "history"}

@endnode


@node "intro" "Introduction"

@{u}@{b}Introduction@{ub}@{uu}

prism2.device is a SANA-II network driver for 11Mbps wireless Ethernet cards
based on the Prism II chipset and variants. It supports PCMCIA and
Compact Flash (CF) cards in the A1200/A600, and PCI cards in all AmigaOS 4
systems and in PCs running Amithlon.

This version of prism2.device supports WPA and WPA2 encryption, including
both TKIP and CCMP/AES encryption modes. However, not all hardware supports
all encryption modes (see below for details). The driver also supports the
old WEP encryption standard if needed.

@{u}@{b}Card Types@{ub}@{uu}

A number of related card types are supported by the driver. They can be
categorised according to their chipset and firmware into the following
groups.

@{b}Prism II@{ub}

This category includes all cards based on true Prism II, 2.5 and 3 chipsets
that use Intersil firmware.

Advantages:
  - Supports WPA/WPA2 encryption (both TKIP and CCMP/AES).

Disadvantages:
  - WPA/WPA2 encryption is not hardware accelerated.
  - Firmware upgrade must be performed on a PC in order to support WPA/WPA2.

@{b}Hermes@{ub}

These cards use Lucent/Agere firmware. They are only available in the PCMCIA
form factor, and are recognisable by their white edge connectors.

Advantages:
  - Supports hardware-accelerated WPA encryption (TKIP only).
  - No requirement to upgrade firmware for WPA support.

Disadvantages:
  - WPA2 encryption (CCMP/AES) is not supported.
  - Cannot connect to some modern routers due to a firmware bug.

@{b}Hermes II@{ub}

This later generation of Hermes cards is not recommended as they can be
prevented from working by the presence of certain routers in the surrounding
area (e.g. one operated by a neighbour).

Advantages:
  - Supports hardware-accelerated WPA encryption (TKIP only).
  - No requirement to upgrade firmware for WPA support.

Disadvantages:
  - WPA2 encryption (CCMP/AES) is not supported.
  - Cannot co-exist with some modern routers due to a firmware bug.

@endnode


@node "compatibility" "Card Compatibility"

@{u}@{b}Card Compatibility@{ub}@{uu}

The table below shows compatibility information for prism2.device with a
variety of wireless cards. For cards not listed below, you will have to do
some research. If a card's chipset is stated as Orinoco, Lucent, Agere,
Prism II or Prism 2.5 @{u}and@{uu} its bus type is PCMCIA, CF or PCI, it is likely to
work. Some Prism 3 cards also work if they have a flash memory. Note that a
few otherwise-compatible PCMCIA cards are 3.3V-only and therefore
incompatible with the A1200/A600. If the card doesn't match these
requirements, it will definitely @{u}not@{uu} work.

All compatible PCI cards use Intersil firmware and therefore support WEP,
TKIP and CCMP/AES. Lucent/Agere PCMCIA cards can be identified by their
white pin connectors.

@{b}@{u}Company/Brand@{uu}	@{u}Model@{uu}				@{u}Bus@{uu}	@{u}Works@{uu}	@{u}FCC ID@{uu}@{ub}

@{b}3Com@{ub}		AirConnect			PCMCIA	No
		3CRDW696			PCI	Yes	MXF-C910729

@{b}Allied Telesyn@{ub}	AT-WCL452			PCMCIA	Yes	O6M-WE300

@{b}Apple@{ub}		AirPort				PCMCIA	No

@{b}Archtek@{ub}		see @{b}SmartLink@{ub}

@{b}Artem@{ub}		CC-PC-b-H2-STD			PCMCIA	Yes

@{b}AT&T@{ub}		see @{b}Lucent@{ub}

@{b}Avaya@{ub}		World Card			PCMCIA	Maybe

@{b}Belkin@{ub}		F5D6020				PCMCIA	Yes	K7SF5D6020
		F5D6020 v2			PCMCIA	No	K7SF5D6021
		F5D6020 v3			CardBus	No	NDD9571060301

@{b}Buffalo@{ub}		WLI-PCM-S11			PCMCIA	Maybe
		WLI-PCM-L11			PCMCIA	Yes	IMRWLPCE24H
		WLI-PCM-L11G			PCMCIA	Yes

@{b}Cabletron@{ub}	RoamAbout 802.11 DS		PCMCIA	Yes

@{b}Compaq@{ub}		WL100				PCMCIA	No	E2XSWL-2000N
		WL110				PCMCIA	Yes

@{b}Compex@{ub}		WL11B+				PCMCIA	Yes	IXMPCBAG

@{b}Conceptronic@{ub}	CON11C				PCMCIA	Yes
		CON11CC				PCMCIA	Yes

@{b}Corega@{ub}		COR-PCCL-11			PCMCIA	Yes

@{b}D-Link@{ub}		DWL-520 (HW rev. B2 or earlier)	PCI	Yes
		DWL-520 (all other HW rev.)	PCI	No
		DWL-520+			PCI	No
		DWL-660				PCMCIA	Yes	IMRWLPCE24H

@{b}Elsa@{ub}		MC-11				PCMCIA	Yes

@{b}Epson@{ub}		TMW1008				PCMCIA	Yes	NUSTMW1008

@{b}Funkwerk@{ub}	see @{b}Artem@{ub}

@{b}IBM@{ub}		26P8030/26P8087			PCMCIA	Yes

@{b}Intel@{ub}		PRO/Wireless 2011		PCMCIA	No

@{b}Linksys@{ub}		WCF12				CF	Maybe	PKW-WCF12
		WPC11 v.3			PCMCIA	Yes	PKW-WPC11-V3
		WPC11 v.4			CardBus	No	PKW-WPC11-V4

@{b}Longshine@{ub}	GL2411V1-A			PCMCIA	Yes	O7J-GL2411V1A

@{b}Lucent Tech.@{ub}	WaveLAN version 2.0		PCMCIA	No
		Orinoco	Bronze			PCMCIA	Yes
		Orinoco	Gold			PCMCIA	Yes
		Orinoco	Silver			PCMCIA	Yes
		Orinoco WaveLAN/IEEE 802.11(b)	PCMCIA	Yes

@{b}Melco@{ub}		see @{b}Buffalo@{ub}

@{b}Microsoft@{ub}	MN-520				PCMCIA	Yes	HEDACC3501D68

@{b}NCR@{ub}		see @{b}Lucent@{ub}

@{b}Netgear@{ub}		MA301				PCI	Yes
		MA311				PCI	Yes	M4Y-06260
		MA401				PCMCIA	Yes

@{b}Proxim@{ub}		8420-WD/8421-WD			PCMCIA	Yes	IMRPC2411B

@{b}Samsung@{ub}		SWL-2000N			PCMCIA	No	E2XSWL-2000N

@{b}Senao@{ub}		NL-2511CF			CF	Yes	NI3-IS20V315

@{b}SmartLink@{ub}	WE300-IF			PCMCIA	Yes	O6M-WE300

@{b}SMC@{ub}		SMC2532W-B			PCMCIA	Maybe
		SMC2532W-B v2			PCMCIA	Maybe	M4Y-X1330HP
		SMC2632W			PCMCIA	Yes	LLM002SMC2632W
		SMC2632W			PCMCIA	Maybe	LLM002WL11000-1
		SMC2632W V.2			PCMCIA	No	HEDACC2632WV2
		SMC2632W V.3			CardBus	No
		SMC2632W-B			PCMCIA	Maybe	M4Y-0325H

@{b}Sony@{ub}		Vaio PCWA-C100			PCMCIA	Yes
		Vaio PCWA-C150S			PCMCIA	Yes	AK8PCWAC150S

@{b}Thomson@{ub}		SpeedTouch 110			PCMCIA	Yes

@{b}Toko@{ub}		see @{b}Epson@{ub}

@{b}Unex@{ub}		NexAir MR011-001		PCMCIA	Yes

@{b}Z-Com@{ub}		XI-300				PCMCIA	Yes	M4Y-XI-300
		XI-325H+			PCMCIA	Yes
		XI-330				PCMCIA	Maybe	M4Y-0XI330

@{b}Zyxel@{ub}		ZyAIR B-100			PCMCIA	Yes	O6M-WE302

@{b}[unbranded]@{ub}					PCMCIA	No	PB6-TWLC11
						PCMCIA	No	PY4-WP320

@endnode


@node "install" "Installation and Usage"

@{u}@{b}Hardware requirements@{ub}@{uu}

One of the following systems is required:
 - An A600 or A1200 (68020+ if using software encryption).
 - An AmigaOS 4 system.
 - A PC running Amithlon.

@{u}@{b}Software requirements@{ub}@{uu}

prism2.device needs AmigaOS 3.0 or greater.

@{u}@{b}Firmware upgrade@{ub}@{uu}

@{"Prism II" link "intro"} cards need to have their firmware upgraded before they can use
WPA/WPA2. This procedure cannot be done in AmigaOS, and it is recommended
that it be done in a Windows PC.

Instructions on reflashing the firmware, and the required firmware files,
can be found at http://junsun.net/old/linux/intersil-prism/

Note that some of the firmware links in the web page above are dead, but
the first one given is part of the same site and is still live:
http://junsun.net/old/linux/intersil-prism/firmware/

It is advised that cards be reflashed with primary firmware 1.1.1 and
secondary firmware 1.7.4, as prism2.device has been tested with these
versions (there are a few cards for which these firmware versions are not
available, in which case the closest alternative versions should be used).

@{u}@{b}Installation@{ub}@{uu}

To install prism2.device, run the 'Install' script. In your networking
software, set the SANA-II device name to @{b}networks/prism2.device@{ub}
and the unit number to @{b}0@{ub}.

This package includes a utility called WirelessManager that runs in the
background and sets up connections to wireless networks. Under AmigaOS 3,
the install script will add an entry to the S:User-Startup script to start
WirelessManager at boot.

Under AmigaOS 4, however, it is necessary to start WirelessManager from the
S:Startup-Sequence script instead to ensure that a wireless connection is
established before the TCP/IP stack starts its DHCP client. Since this
cannot be easily done by the install script, the following line should be
manually inserted just before AddNetInterface or Network-Startup is called:

    Run <>NIL: C:WirelessManager prism2.device

@{u}@{b}Wireless parameters@{ub}@{uu}

Parameters for your wireless networks are specified in the file
'ENVARC:Sys/Wireless.prefs'. You can choose to have this file created
automatically while running the 'Install' script. The installer lets you
create a configuration for a single WPA/WPA2-encrypted network. If you need
other options, or want to configure more than one network, you will need to
edit 'ENVARC:Sys/Wireless.prefs' in a text editor. Below are some examples
of network configurations that can be used.

# A WPA/WPA2-encrypted network with a textual passphrase
# (using a textual WPA/WPA2 passphrase will cause a start-up delay of up to
# several minutes on a slow CPU)

network={
	ssid="mynet1"
	psk="yOuRsEcRetwpAKeY"
}

# A WPA/WPA2-encrypted network with a hexadecimal key
# (note that the key will need to be recalculated using the wpa_passphrase
# utility if the SSID is changed)

network={
	ssid="mynet1"
	psk=b368b34a7ba4051bea1f9aed30a179d4e56ae1c8624c1fabd2f5f0f7c0db12a3
}

# A WEP-encrypted network with a hexadecimal key

network={
	ssid="mynet2"
	key_mgmt=NONE
	wep_key0=123456789abcdef123456789ab
	wep_tx_keyidx=0
}

# A WEP-encrypted network with a textual password

network={
	ssid="mynet3"
	key_mgmt=NONE
	wep_key0="yourpassword1"
	wep_tx_keyidx=0
}

# Match any unencrypted network

network={
	key_mgmt=NONE
}


@{u}@{b}A1200 hardware bug@{ub}@{uu}

The A1200 (but not the A600) has a hardware bug which prevents a PCMCIA card
being reset except on insertion or removal. There are both hardware and
software remedies for this problem. The software solution is CardReset
(util/boot/CardReset.lha on Aminet). There are several different types of
hardware fixes, both DIY and commercial.

@{u}@{b}Problems@{ub}@{uu}

Miami will cause the system to hang if a PCMCIA card is removed while
online. Re-insertion won't help.

@endnode


@node "author-legal" "Author and Legal Information"

@{u}@{b}Author and Legal Information@{ub}@{uu}

prism2.device and pccard.library were written by Neil Cafferkey.

Please send bug reports, suggestions, and any other correspondence to
the following address.

E-mail: neil@ncafferkey.net

prism2.device and pccard.library are released under the terms of the
@{"GNU General Public Licence" link "GPL/MAIN"}. See the individual source files for
copyright information.

The full pccard.library archive, which includes the source code and
developer files, is available on Aminet as "util/libs/pccard.lha".

All trademarks are owned by their owners.

WirelessManager is based on wpa_supplicant.

Legal notice for wpa_supplicant:

  Copyright (c) 2003-2010, Jouni Malinen <j@w1.fi> and contributors
  Copyright (c) 2011-2013, Neil Cafferkey

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are
  met:

  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.

  3. Neither the name(s) of the above-listed copyright holder(s) nor the
     names of its contributors may be used to endorse or promote products
     derived from this software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The Hermes I and Hermes II @{b}firmware files@{ub} are subject to the following
terms:

  COPYRIGHT  1994 - 1995 by AT&T.                All Rights Reserved
  COPYRIGHT  1996 - 2000 by Lucent Technologies. All Rights Reserved
  COPYRIGHT  2001 - 2004 by Agere Systems Inc.   All Rights Reserved
  All rights reserved.

  Redistribution and use in source or binary forms, with or without
  modifications, are permitted provided that the following conditions are
  met:

  . Redistributions of source code must retain the above copyright notice,
     this list of conditions and the following Disclaimer as comments in the
     code as well as in the documentation and/or other materials provided
     with the distribution.

  . Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following Disclaimer in the
     documentation and/or other materials provided with the distribution.

  . Neither the name of Agere Systems Inc. nor the names of the contributors
     may be used to endorse or promote products derived from this software
     without specific prior written permission.

  Disclaimer

  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  ANY
  USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS
  OWN RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE
  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO,
  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  POSSIBILITY OF SUCH DAMAGE.

@endnode


@node "history" "History"

@{u}@{b}History@{ub}@{uu}

@{b}V2.8 (March 2022)@{ub}

  - Added support for the Epson/Toko TMW1008.
  - Updated the link to firmware information and downloads in the manual.

@{b}V2.7 (December 2019)@{ub}

  - Now recognises 13 new hardware IDs for PCMCIA and CompactFlash cards.
  - Support for older Intersil firmware versions.
  - Fixed 64-bit software WEP.
  - Fixed a memory leak.
  - Better thread safety.
  - Now includes driver source code.

@{b}V2.6 (October 2014)@{ub}

  - Added support for Z-Com XI-330 and possibly SMC SMC2532W-B v2.
  - Better filtering of duplicate scan results.
  - Removed references to Absolute Value Systems' list of compatible cards.
    Their website appears to be defunct.

@{b}V2.5 (August 2013)@{ub}

  - It is no longer necessary to manually disable WPA2/AES encryption in the
    configuration file for cards that do not support it, as WirelessManager
    is now automatically informed of the card's encryption capabilities.
  - Duplicate scan results are now filtered out.
  - Fixed a memory leak (WirelessManager).
  - Channel 14 should work now (WirelessManager).

@{b}V2.4 (January 2012)@{ub}

  - First free version.

@{b}V2.3 (July 2011)@{ub}

  - Fixed a bug in replay-attack prevention that stopped broadcast and
    multicast frames being received from some access points. This caused
    DHCP and some incoming connections to fail.

@{b}V2.2 (June 2011)@{ub}

  - Connecting to hidden networks is now possible.

@{b}V2.1 (May 2011)@{ub}

  - First WPA/WPA2-capable release.
  - Added WirelessManager program for setting up wireless connections.
  - Network scanning is now supported.
  - Removed obsolete SetPrism2Defaults program.
  - WEP processing is now done in software for cards that can't handle it in
    firmware.
  - Hermes cards in Prism-II PCI-to-PCMCIA bridges are now supported.

@endnode


