The purpose of this document is to provide a step-by-step for setting up kismet, the wireless network sniffer, on a Zaurus SL-5600 or SL-5500 with ROM 3.10 or higher. This document is necessary because Sharp has altered the way the wireless device works in recent ROMS.
Note:
To do this you will need a console installed on your Z.
Files Needed:
http://www.kismetwireless.net/code/kismet-zaurus-arm-2.8.1.tar.gz
http://prdownloads.sourceforge.net/kismet-qte/kismet-qt_1.4.0_arm.ipk
Install Kismet
Install Kismet as you normally would. Use the GUI or do it from the command
line.
tar zxvf kismet-zaurus-arm-2.8.1.tar.gz
cd kismet-arm
ipkg install kismet_zaurus_2.8.1_arm.ipk
Install Kismet-Qt/e
Install Kismet-Qt/e as you normally would.
ipkg install kismet-qt_1.4.0_arm.ipk
Now here is where we get crazy...
First we need to create a wireless network connection for the Z use wake-up
the wireless card with:
Go to the Settings tab and tap Network. Select
'New', select 'Wireless LAN - TCP/IP' and
'Add'. Use the following settings to configure the connection:
Account
Name: Kismet
Config
check 'Non-Spec ESS-ID: "ANY"'
TCP/IP
Select 'Specify' #
THIS IS IMPORTANT OTHERWISE DHCPCD WILL TIMEOUT AND CARD WILL 'SLEEP'
IP Address: 1.1.1.1
Subnet Mask: 255.255.255.255
Gateway: 1.1.1.0
In the above configuration, the actual IP address is not important, what's important is that the Z won't be looking for a DHCP server.
Next create a script to launch Kismet.
cd /home/QtPalmTop/bin
vi kis_script.sh
Enter the following:
#!/bin/sh
cardctl scheme CardResume
cardctl scheme qpewlan1 & # SEE NOTE BELOW
kismet_qt
cardctl scheme CardSuspend
# where it says 'qpewlan1' may be different on your Z, the number corresponds to the wireless connection you created. If the 'Kismet' connection was your first connection, qpewlan1 is probably right. to be sure take a look at /etc/pcmcia/network.opts and find the line INFO="Kismet" and see which qpewlan is directly above it. change kis_script.sh to match.
Next make kismet_qt run as root
chmod 4755 /usr/bin/kismet_qt
Now make the kismet icon execute the script instead of kismet_qt:
Either launch the 'Tab Setting' app and edit the Kismet launcher 'Program: kis_script.sh'
or
Edit the fie directly:
vi /home/QtPalmTop/apps/Application/kismet_qt.desktop
Change 'Exec = kismet_qt' to 'Exec = kis_script.sh'
Finally, make the launcher run as root: Tap and hold the kismet icon, when the
properties window opens check the "Execute with root priviledges" checkbox.
That's it! Now when you put your wireless card in, and tap the kismet icon,
kismet will launch properly, and when you close kismet_qt you card will go back
to sleep!
What's going on here?
When you tap the kismet icon, the script we created is executed. Let's look at it line by line:
#!/bin/sh
cardctl scheme CardResume
- This tells the wireless card to wakeup, launching this way skips the check that would normally send the card back to sleep after not finding an AP to connect to.
cardctl scheme qpewlan1 &
- This tells the card to configure itself for the connection we created. Not
looking for a DHCP server prevents the timeout that would also send the card
to sleep.
kismet_qt
- This launches kismet_qt, which will automagically launch kismet_hopper, and kismet_server.
At this point our script pauses, as it waits for kismet_qt to finish! The script will hang here until kismet_qt is closed.
cardctl scheme CardSuspend
- This line tells the card that we done, and puts the wireless device back to sleep.