
- PrismStumbler Installation

Prismstumbler >= 0.7.1 comes without libpcap, so you need to have libpcap
(>=0.7.2) installed on your system, if you want to build it from source
you will need libpcap development files too.

Prismstumbler build system is a little bit lacking, help improving it is highly 
appreciated. For simple builds we have autotools support now! 
To build on your platform you need to do this in these steps:

- Run ./configure in prismstumbler main directory.
- Run ./configure in src/gpsd.
- If you want to have wlan-ng support edit src/wlanctl/config.mk.
  and change to src/wlanctl subdirectory and run ./configure && make
- Now run make in prismstumbler main directory.

You need to have GTK2, libpcap and sqlite development packages installed to 
compile prismstumbler.
Version 0.7.0 and above do not compile wlan-ng support per default. If you need
it pass --enable-wlan-ng to configure script and edit wlanctl/config.mk to 
include the right pathes. You'll need according source code then.

Crosscompiling should work as well, the configure script understands then
--host=<prefix> option and should use it. 
(A complete GTK2 supporting toolchain for ARM platform may be found at 
http://handhelds.org/~nils).

Prismstumbler backend needs to be run with root privileges, the frontend should
be run as user and may not be run setuid root. This install script will not 
set a suid bit on the file. Prismstumbler will search for a (now compressed) 
hardware manufacturers information file manufacturers.dat.gz in /etc and
$HOME/.pstumbler. 


If you make prismstumbler work on other platforms that x86 or ARM, please 
let me know!

If you know earlier versions look at REVHIST for changes.



The rest of this document is slightly outdated.


We have now a standard driver interface for orinoco_cs driven cards.
(prism2, hermes/orinoco etc.)
Additionally there is an experimental interface for the hostap_cs driver and
the old wlan-ng interface that in't compiled in per default anymore.
I split up the application into two parts: The frontend and the scanner 
backend. It now runs much more stable on ARM platforms. 
There are some more data fields added that are determined by prismstumbler. 
Last but not least we have GTK2 support now... 



PrismStumbler works with Prism2 and orinoco cards now!
Ive used the DLINK DWL-650.
SMC Cards and Siemens I-Gate work fine too.
If you need a card with external antenna - use Siemens I-Gate PCI+ (+!) which comes
with PCMCIA-PCI card and external magnetic antenna.

New in v0.6.0:
Prismstumbler now has a gtk interface and his own configure script.
 - you now need sqlite >= 2.6.2(www.sqlite.org/download.html) and gtk
 - edit <prismstumbler-dir>/config.mk first. (see somewhere below...)
 - run ./configure in <prismstumbler-dir>, src/gpsd, src/libpcap-0.7.1
 - if you dont want to use libpcap - you have to edit the makefile - you want to use libpcap ;-)
 - make
 - you need to be root to use prismstumbler for scanning, databases may be read as user (use -d) 	
 - copy binary to desired dir - e.g. /usr/local/sbin
 - run prismstumbler once, it will create database in/and $HOME/.pstumbler
 - to get manufacturer info copy <prismstumbler-dir>manufacturers.dat to $HOME/.pstumbler/
 - if you like a nicer design, copy src/gtkrc to the now created dir $HOME/.pstumbler

Prismstumbler should work on ARM sytems (ipaq,zaurus).
 - to crosscompile you can do following (not nice, but works):
	- install skiff toolchain
	- make prismstumbler subdir _clean_
	- change linker dirs in makefiles to /skiff/local/arm-linux/lib/ or /skiff/local/arm-linux/lib/X11
	- don't forget to make clean in path configured by config.mk
	- set you $PATH to /skiff/local/arm-linux/bin
	- if you compiles wlan-ng for x86 before, you'll have to delete some
	  object files in your wlan-ng dir manually. make clean doesn't work
	  properly!

New in v0.5.0:
  If you are using linux-wlan-ng versions 0.1.14 and later: You need to run ./configure in
 <prismstumbler-dir>/libpcap-0.7.1  before making prismstumbler.
 If you prefer to use 0.1.13, i recomend the 0.4.0 version or you have to edit tha makefile

New in v0.4.0:
  You need to run ./configure in <prismstumbler-dir>/gpsd before making
  prismstumbler! If you don't have a gps don't mind - prismstumbler
  will start without a gps connected. Maybe take a look at README.gps :-)

In the config.mk edit the  WLANSRCDIR macro to point to the place where wlan-ng is placed
This is rquired to build the Inline version of wlanctl.
 
Prismstumbler should then be able to be built rigth away.

 * NOTE * 
  If you upgrade the WLANNG package  the WLANSRCDIR Macro must be changed 
   and a make clean and a make has to be done.
   Otherwise things will not work!


To be able to use it you need: 
 
* linux installation  (of cource. I've used Redhat 7.1 with kernel 2.4.2-2 
* you must have a working installation of linux-wlan-ng 

If you already using Airsnort you are ready, otherwise build it using:

       * Kernel source code
		       @ http://www.kernel.org/
       * PCMCIA CS package source code 
			@ http://pcmcia-cs.sourceforge.net/

       * linux-wlan-ng - I've used 0.1.14-pre4
			@ http://www.linux-wlan.com/

the include directories in the the source tree to the system wide
directory, /usr/include. The kernel source code need not be compiled
or installed, but it must be the same version as the one running. The
kernel version can be determined with the command 'uname -a.' In
addition, the running needs to support loadable modules, PCMCIA and
netlink. If the running kernel does not support these, you will need
to compile and install the source code.

The source code for PCMCIA must be installed, and it must be the same
as the version you are running. To determine the version of PCMCIA CS
you are running, consult the output of the command 'cardmgr -V.' If you
have the appropriate version, you need not compile and install the
source code, but you must complete the configuration process. All of
the defaults are okay.

The linux-wlan-ng is the kernel module to drive wlan cards. Only the
Prism2 driver supports raw packet capturing, so it is the only one we
are interested in. This card's driver no longer supports raw packet
capture, but it can easily be added. From the directory which contains
the linux-wlan-ng subdirectory, run the command

Then you must make and install the linux-wlan-ng driver. You must
[re]start the cardmgr, and you can then insert your wlan card. If
anything failed, consult the linux-wlan-ng documentation.  This is the
last prerequisite for PrsimStumbler.
