I still see these questions being asked, so let’s solve it once for all.

Mount Slackware 12 dvd, go to /extras, copy intel-wlan-ipw3945 somewhere on your disk. Or if you don’t have Slackware 12 dvd, just get it off the web.

ftp://ftp.slackware.com/pub/slackware/slackware-12.0/extra/intel-wlan-ipw3945

Version of kernel of this and that, it doesn’t matter, for example I did this on 2.6.22.1

Remove ieee80211. If not, just remove while installing/upgrading new ieee80211

1) Install the ieee80211 subsystem
#tar zxvf ieee and the -1.2.17.tar.gz
#cd ieee80211-1.2.17
#make
#make install

2) Install kernel modules
#tar zxvf ipw3945-1.2.1.tar.gz
#cd ipw3945-1.2.1
#make
#make install
#depmod

3) Copy the firmware to the right place
#tar xzvf ipw3945-ucode-1.14.2.tgz
#cd ipw3945-ucode-1.14.2
#cp ipw3945.ucode /lib/firmware

d) Compile the daemon
#tar xzvf ipw3945d-1.7.22.tgz
#cd ipw3945d-1.7.22

If you have a x86 processor

#cd x86 (else cd x86_64)

#cp ipw3945d /sbin

Now make sure the ieee80211 the ipw3945 modules are
loaded by the kernel. There is an utility in the
ipw3945-1.2.1 directory called ‘load’ that will do just that, but
it also can be (and should be) accomplished by

#modprobe ieee80211
#modprobe ipw3945

or, simply

#modprobe ipw3945 (this will load the ieee80211).

and start the daemon

#/sbin/ipw3945d

To load automatically every time you boot your box:

cd /etc/rc.d
vim rc.local
modprobe ipw3945
/sbin/ipw3945d

That’s all folks