T step by step instructions, what JerrittCollord achived of turning a Linux box into a true AccessPoint using JouniMalinen's HostApMode drivers for the Prism2Cards.
Because I am most familiar with DebianLinux this tutorial will be very Debian specific. If someone will write an equivelent for Redhat, Mandrake, Suse that would be great.
I starting off by compiling a custom kernel using Debian's make-kpkg facility. However at this point I don't believe that this is necessisary. What follows is a step by step guide of what I've done. When I've made it all work this page will be updated but in the mean time it's my scratch pad so don't expect it to be a guide to LinuxAccessPoint nirvana.
This requires packages which are only available in Debian's unstable distribution. If you're not comfortable using their unstable distribution you might not want to do this, however it caused me very little heart ache. Thus you need to make sure that your /etc/apt/sources.list file contains these lines.
deb http://http.us.debian.org/debian unstable main contrib non-freeBR deb http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
- The 2.4 kernel requires newer versions of some packages. Exactly which packages these are I haven't narrowed down yet, but as a start you need to make sure you are running the lastest versions of at least these packages.
# apt-get install modutils initrd-tools
- You are also going to have to compile some stuff so you need to make sure that you have what's required to compile kernel modules. If you've done this before you should be able to skip this step.
# apt-get install gcc make patch bin86 libc6-dev binutils
Find what the most recent version of the 2.4 kernel is which has been Debianized. At the time of writing this was 2.4.9 so it will be refered to as that from now on. For testing I would recommend that you use the -386 kernel package, later when everything works you can upgrade to a kernel which is optimized for your particular Intel architecture.
# apt-cache search kernel-image-2.4
- Actually, that won't work, because as you say down below, you need kernel source. So go to ftp.kernel.org and get a new kernel. I've had good exp with 2.4.16 and 2.4.14 for this application. Download the tarball and untar it in /usr/src/linux. Configure with all the stuff you need (wired ethernet card/s, iptables, cardbus support...), you must have wireless lan enabled though. (I'll add my config file later) Install kernel as normal, reboot so as not to confuse any of the things you'll be compiling.
- Install the latest kernel image, PCMCIA card servers and sources and the wireless tools packages.
# apt-get install kernel-image-2.4.9-386 pcmcia-cs pcmcia-source wireless-tools
- This is mostly right, but again, can't use the kernel.
# apt-get install pcmcia-cs pcmcia-source wireless-tools
- Update your boot manager (either lilo or grub) to use the new kernel. Doing this is beyond the scope of this document, however note that the Debian 2.4 kernels do use initrd so you will need to configure lilo/grub to use that or you will be unable to boot the new kernel. Make sure you leave a your old working kernel configuration in case something doesn't work with the new kernel.
- Reboot your computer and make sure the new kernel works!
# shutdown -r now
[http://194.241.248.126/Prism2/ Download] JouniMalinen's Prism 2 source modules into /usr/local/src.
- Untar the PCMCIA source package, and add the custom Prism 2 modules to it.
# cd /usr/srcBR # tar zxvf pcmcia-cs.tar.gzBR # tar zxvf /usr/local/src/Prism2-2001-07-11.tar.gz -C /tmpBR # tar zxvf /tmp/Prism2-2001-07-11/prism2-0.0.0.tar.gz -C /usr/src/modules/pcmcia-cs
- Build the PCMCIA modules.
# cd /usr/src/modules/pcmcia-cs # make all && make install
- Edit your config and config.opts files in /etc/pcmcia. The card you will be using needs to load the prism2_cs driver instead of orinoco_cs or wvlan_cs or whathave you.
- Restart pcmcia services.
# /etc/init.d/pcmcia restart
- Insert the card, tail -f /var/log/syslog and make sure everything works ok. Now, when the card is inserted, it should load the module. But, I found that it ignores network.opts entirely. ifconfig won't show a thing, and it is called wlan0 instead of eth1. So I simply do this after the card is inserted and module loaded correctly.
# ifconfig wlan0 192.168.1.1
Now a this point, i'm forgetting how you set the ESSID, i think it's in /etc/pcmcia/config and is in the line to load the module. But, i could be way off. I'll boot up my box tomorrow and check it out, since i've got an aironet bridge i use most of the time.
hope you don't mind me trying to fix some things here and there adam.
oh crap ... this won't work cause you need to have kernel source to build the pcmcia modules. shit shit shit. okay .. back to the documentaiton drawing board. more tomorrow. it's bed time.
adam.