This howto is pretty old and could be deemed depricated. I haven’t had the time to make a howto for the current (cvs) prism54 drivers. I have tried them however, and must say that they perform very, very well :)
First check your wireless card, on the back it should say it’s a WL-100 and then a revision letter. This should say i (for Intersil) the b version of this card will not work since that is a Broadcom chipset.
Tested kernel:
- linux-2.4.22
(no stock kernels from distributors have been harmed during the production of this howto)
Files needed:
- isl3890.arm
- isl3890-2.4.22-v2.patch.bz2
- ISL3890-0.1.0.tar.gz
- linux-2.4.22.tar.bz2
Place these files in one workig directory so we don’t lose track, eg. /root/wl-100i
.
Untar the needed files:
tar jvxf linux-2.4.22.tar.bz2
bunzip2 isl3890-2.4.22-v2.patch.bz2
tar zvxf ISL3890-0.1.0.tar.gz
Copy the firmware to the appropriate place:
cp isl3890.arm ISL3890-0.1.0/pcmcia-cs-3.2.4-intersil/wireless/intersil/isl3890.arm
Patch the kernel to accept the wl-100i:
cd linux-2.4.22
patch -p1 < ../isl3890-2.4.22-v2.patch
Configure your kernel like you normally do:
make menuconfig
While configuring your kernel, make sure PCMCIA/Cardbus support is NOT enabled (in General setup —> PCMCIA/CardBus support —>), the support for PCMCIA/Cardbus will be built along with the driver for the wl-100i.
Enable the wireless support in the kernel through:
Network device support --->
[*] Network device support Wireless LAN (non-hamradio) --->
[*] Wireless LAN (non-hamradio) Intersil Prism GT/Duette/Indigo PCI
[*] WIRELESS_IOCTLS
[*] INTERSIL_EVENTS
[*] WDS_LINKS
Build your kernel and modules:
make bzImage
make modules
make modules_install
Configure your bootloader so it will boot your new kernel and reboot into your new kernel.
When booted into the newly built kernel, enter the directory /root/wl-100i/ISL3890-0.1.0/pcmcia-cs-3.2.4-intersil and enter
./Configure
A few questions wil be asked:
==============================================
-------- Linux PCMCIA Configuration Script -------- The default responses for each question are correct for most users. Consult the PCMCIA-HOWTO for additional info about each option.
PC card source directory /root/ISL3890-0.1.0/pcmcia-cs-3.2.4-intersil Linux kernel source directory [/usr/src/linux]: /root/wl-100i/linux-2.4.22
The kernel source tree is version 2.4.22. The current kernel build date is Thu May 13 08:23:51 2004. WARNING: the source tree has a build date of Thu May 13 09:52:40 2004. Did you forget to install your new kernel?
Build 'trusting' versions of card utilities (y/n) [y]: *say y* Include 32-bit (CardBus) card support (y/n) [y]: *say y* Include PnP BIOS resource checking (y/n) [n]: *say y*
The PCMCIA drivers need to be compiled to match the kernel they will be used with, or some or all of the modules may fail to load. If you are not sure what to do, please consult the PCMCIA-HOWTO.
How would you like to set kernel-specific options? 1 - Read from the currently running kernel 2 - Read from the Linux source tree Enter option (1-2) [2]: *say 2*
Module install directory [/lib/modules/2.4.22]: Include wireless ioctls (J. Tourrilhes) (y/n) [y]: *say y* Include wireless events (J. Tourrilhes) (y/n) [y]: *say y* Include intersil events (y/n) [y]: *say y* Include Access Point WDS links (y/n) [n]: *say n*
Kernel configuration options:
Kernel-tree PCMCIA support is disabled.
Symmetric multiprocessing support is enabled.
Preemptive kernel support is disabled.
High memory support is disabled.
PCI BIOS support is enabled.
Power management (APM) support is disabled.
SCSI support is enabled.
IEEE 1394 (FireWire) support is disabled.
Networking support is enabled.
Radio network interface support is enabled.
Token Ring device support is disabled.
Fast switching is disabled.
Frame Diverter is disabled.
Module version checking is disabled.
Kernel debugging support is disabled.
Preemptive kernel patch is disabled.
/proc filesystem support is enabled.
PAE support is disabled.
The standalone Adaptec APA1480 CardBus driver is not supported with this kernel. If you need it, use the kernel PCMCIA subsystem.
The standalone IEEE 1394 CardBus drivers are not supported with this kernel. If you need them, use the kernel PCMCIA subsystem.
It looks like you have a System V init file setup.
The Forms library is not available.
The X11/Xaw libraries are not available.
The GTK+ library is not available.
Configuration successful. ==============================================
After that has been done, build and install the PCMCIA/Cardbus and wl-100i drivers:
make all
make install
Run depmod:
depmod -a
Restart your pcmcia and hotplug services:
/etc/init.d/pcmcia restart
/etc/init.d/hotplug restart
Insert your card, it should now be automatically detected and initialized by your system, you can check this by running ‘lsmod’:
lsmod
This should return a line like this:
islpci_cb 51396 0 (unused)
If the module has been loaded correctly, you should have a new network device like eth1 in my case.
Now you can set your SSID:
setoid eth1 10000002 ssid eelco
When the SSID has been set, you can set your IP addresses like you normally do:
ifconfig eth1 netmask
route add default gw
Or simply obtain an IP using DHCP. Getting running information from the card:
SSID: getoid eth1 10000002 ssid Channel: getoid eth1 17000007 frequencies