V3sth4cks153 Posted April 21, 2015 Share Posted April 21, 2015 Hi everyone ! So I recently bought myself a GlobalSat BU-353-S4 GPS reciever, to try wardriving/warwalking with the Mark V. I managed to make everything run fine by reseting the Pineapple, installing kismet-server and GPSD with OPKG, and customizing kismet.conf. To start GPSD up, I use this command: gpsd -N -D5 /dev/ttyUSB0 -F /var/run/gpsd.soc Then a LED started blinking on the GPS reciever, to show that everything is up and running. When I was done with my wardrive/warwalk, I simply powered off the Pineapple. The next day, when I powered the Pineapple back on, and ran the GPSD command, the LED on the reciever didn't blink (even after several minutes). The only way I found to make it all work again was to reset the Pineapple and then reinstalling everything, which is just too much pain to do everytime. Am I missing something, like stopping GPSD before powering off ? Or is it just an error with GPSD ? Thanks, V3sth4cks153 Quote Link to comment Share on other sites More sharing options...
Sebkinne Posted April 21, 2015 Share Posted April 21, 2015 It's possible GPSD corrupts itself (configs, etc) somehow. I suggest killing gpsd first and then powering down the WiFi Pineapple. Best Regards,Sebkinne Quote Link to comment Share on other sites More sharing options...
V3sth4cks153 Posted April 21, 2015 Author Share Posted April 21, 2015 Thanks ! I'll try that tonight. Quote Link to comment Share on other sites More sharing options...
barry99705 Posted April 21, 2015 Share Posted April 21, 2015 Hey Seb, which version is kismet on the pineapple? Too lazy to fire mine up.... If it's newcore based we shouldn't need gpsd, unless someone is using it for the time sync feature. Quote Link to comment Share on other sites More sharing options...
barry99705 Posted April 21, 2015 Share Posted April 21, 2015 (edited) Okay, got unlazy. We're running a newcore based kismet, so we really don't need gpsd. It can read serial devices without it. Here is the default gps part of the kismet.conf file. # Do we have a GPS? gps=true # Do we use a locally serial attached GPS, or use a gpsd server? # (Pick only one) gpstype=gpsd # gpstype=serial # What serial device do we look for the GPS on? gpsdevice=/dev/rfcomm0 # Host:port that GPSD is running on. This can be localhost OR remote! gpshost=localhost:2947 # Do we lock the mode? This overrides coordinates of lock "0", which will # generate some bad information until you get a GPS lock, but it will # fix problems with GPS units with broken NMEA that report lock 0 gpsmodelock=false # Do we try to reconnect if we lose our link to the GPS, or do we just # let it die and be disabled? gpsreconnect=true This is what you need to change. Basically the gpstype= and the gpsdevice= lines. Forgot you can't change text color with the code tags... Damn, now I can't add a comment under this last code block... You're still going to need to ssh into the pineapple to shutdown kismet_server properly. Just pulling the plug will corrupt the current database. # Do we have a GPS? gps=true # Do we use a locally serial attached GPS, or use a gpsd server? # (Pick only one) # gpstype=gpsd gpstype=serial # What serial device do we look for the GPS on? gpsdevice=/dev/ttyUSB0 # Host:port that GPSD is running on. This can be localhost OR remote! gpshost=localhost:2947 # Do we lock the mode? This overrides coordinates of lock "0", which will # generate some bad information until you get a GPS lock, but it will # fix problems with GPS units with broken NMEA that report lock 0 gpsmodelock=false # Do we try to reconnect if we lose our link to the GPS, or do we just # let it die and be disabled? gpsreconnect=true Edited April 21, 2015 by barry99705 Quote Link to comment Share on other sites More sharing options...
V3sth4cks153 Posted April 21, 2015 Author Share Posted April 21, 2015 Okay, got unlazy. We're running a newcore based kismet, so we really don't need gpsd. It can read serial devices without it. Here is the default gps part of the kismet.conf file. # Do we have a GPS? gps=true # Do we use a locally serial attached GPS, or use a gpsd server? # (Pick only one) gpstype=gpsd # gpstype=serial # What serial device do we look for the GPS on? gpsdevice=/dev/rfcomm0 # Host:port that GPSD is running on. This can be localhost OR remote! gpshost=localhost:2947 # Do we lock the mode? This overrides coordinates of lock "0", which will # generate some bad information until you get a GPS lock, but it will # fix problems with GPS units with broken NMEA that report lock 0 gpsmodelock=false # Do we try to reconnect if we lose our link to the GPS, or do we just # let it die and be disabled? gpsreconnect=true This is what you need to change. Basically the gpstype= and the gpsdevice= lines. Forgot you can't change text color with the code tags... Damn, now I can't add a comment under this last code block... You're still going to need to ssh into the pineapple to shutdown kismet_server properly. Just pulling the plug will corrupt the current database. # Do we have a GPS? gps=true # Do we use a locally serial attached GPS, or use a gpsd server? # (Pick only one) # gpstype=gpsd gpstype=serial # What serial device do we look for the GPS on? gpsdevice=/dev/ttyUSB0 # Host:port that GPSD is running on. This can be localhost OR remote! gpshost=localhost:2947 # Do we lock the mode? This overrides coordinates of lock "0", which will # generate some bad information until you get a GPS lock, but it will # fix problems with GPS units with broken NMEA that report lock 0 gpsmodelock=false # Do we try to reconnect if we lose our link to the GPS, or do we just # let it die and be disabled? gpsreconnect=true Thanks ! I'll try that too. Didn't really look that much into serial once I got GPSD working. You're right about not using GPSD: It just adds another thing that can fail... But do I just need to kill the process to shutdown kismet_server properly ? Or do I need to stay connected and do a ctrl+c to stop it ? (Sorry if I sound dumb, I'm pretty new at this ) Quote Link to comment Share on other sites More sharing options...
Sebkinne Posted April 21, 2015 Share Posted April 21, 2015 Kismet most likely cleanly fails once the power is cut, as it directly talks to the device. In that case, I would definitely use kismet directly. Best Regards, Sebkinne Quote Link to comment Share on other sites More sharing options...
V3sth4cks153 Posted April 21, 2015 Author Share Posted April 21, 2015 Kismet most likely cleanly fails once the power is cut, as it directly talks to the device. In that case, I would definitely use kismet directly. Best Regards, Sebkinne Without GPSD and without ssh'ing in to kill it ? Quote Link to comment Share on other sites More sharing options...
barry99705 Posted April 21, 2015 Share Posted April 21, 2015 You can try it both ways, but I usually just kill the service. Quote Link to comment Share on other sites More sharing options...
V3sth4cks153 Posted April 21, 2015 Author Share Posted April 21, 2015 Ok thanks. Quote Link to comment Share on other sites More sharing options...
V3sth4cks153 Posted April 22, 2015 Author Share Posted April 22, 2015 (edited) Ok so I've tested this a few times, and it seems like kismet_server doesn't fail cleanly if the power is cut. However, I found that if I ssh in and kill the service with this command: kill -15 <pid> kismet_server quits cleanly, and I can then cut the power.Also, using the GPS in serial is perfect, and far easier that GPSD.Thanks barry99705 and Sebkinne for your help !Problem solved ! EDIT: Just came back from a test run, and it seems like I can't kill the process after sometime, even though I run the command... Any ideas why that might happen ? Edited April 22, 2015 by V3sth4cks153 Quote Link to comment Share on other sites More sharing options...
barry99705 Posted April 23, 2015 Share Posted April 23, 2015 From your ssh session issue the following command, echo -e '\n!0 shutdown' | nc localhost 2501 If you want to get really fancy, do a "nano stop_kismet.sh" past the above, then save it. Chmod the stop_kismet.sh 755. Make this script on your sd card so it doesn't go away on pineapple updates. This way you can just run the stop_kismet.sh script so you don't have to remember the command. Quote Link to comment Share on other sites More sharing options...
barry99705 Posted April 23, 2015 Share Posted April 23, 2015 (edited) Damn, now I've done it.... nano start_kismet.sh #!/bin/bash kismet_server --daemonize chmod 755 start_kismet.sh ln -s /sd/kismet_logs/start_kismet.sh /sbin/start_kismet.sh <-- edit to point to where you made the script on your sd card! nano stop_kismet.sh #!/bin/bash echo -e '\n!0 shutdown' | nc localhost 2501 chmod 755 stop_kismet.sh ln -s /sd/kismet_logs/stop_kismet.sh /sbin/stop_kismet.sh <-- edit to point to where you made the script on your sd card!! Now you can just ssh in, type start_kismet.sh and it will start kismet_server! Later you can ssh back in and type stop_kismet.sh and it will gracefully shut it down. Someone could probably make a couple buttons in the pineapple gui to fire off those scripts, but I don't know enough to do it, and ssh is fine for me. Also don't forget to edit your kismet.conf to dump the log files to the correct location!!! Mine looks like this, logtemplate=/sd/kismet_logs/%p%n-%D-%t-%i.%l Edited April 23, 2015 by barry99705 Quote Link to comment Share on other sites More sharing options...
V3sth4cks153 Posted April 23, 2015 Author Share Posted April 23, 2015 Damn, now I've done it.... nano start_kismet.sh #!/bin/bash kismet_server --daemonize chmod 755 start_kismet.sh ln -s /sd/kismet_logs/start_kismet.sh /sbin/start_kismet.sh <-- edit to point to where you made the script on your sd card! nano stop_kismet.sh #!/bin/bash echo -e '\n!0 shutdown' | nc localhost 2501 chmod 755 stop_kismet.sh ln -s /sd/kismet_logs/stop_kismet.sh /sbin/stop_kismet.sh <-- edit to point to where you made the script on your sd card!! Now you can just ssh in, type start_kismet.sh and it will start kismet_server! Later you can ssh back in and type stop_kismet.sh and it will gracefully shut it down. Someone could probably make a couple buttons in the pineapple gui to fire off those scripts, but I don't know enough to do it, and ssh is fine for me. Also don't forget to edit your kismet.conf to dump the log files to the correct location!!! Mine looks like this, logtemplate=/sd/kismet_logs/%p%n-%D-%t-%i.%l Works perfectly ! Thanks a lot ! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.