Ended up porting Kismet to run as a NDK shared library by adding a small wrapper that turns a jstring into an argc/argv[] pair and wraps main(), then runs the whole show in a java thread as a JNI call.
Tossed together a ridiculously basic Kismet client in java to get a display back on the main window; previously it scraped stdout from a kismet_server binary running via Runtime.exec. All the client does right now is turn off *TIME and turn on *STATUS

(full-size)
Everything but the UI runs in a service which stays running in the background. Because currently kismet runs in a sharedlib with effectively no mods (added an ifdef to not build tuntap), it isn't killable as a thread. A future mod would be to add a jni call that clobbers globalreg->fatal-condition to cause a kismet shutdown.
Right now Kismet throws some spurious errors because it isn't configured to have any writeable directories to store tags, etc. I don't care right now.
Thanks to Laen and Dorkbot, got some USB power injector boards being made as well:

Super simple board to pull 5v from a battery pack, and prevent VCC from the phone from being connected to the radio.
Thanks for great information you write it very clean. I am very lucky to get this tips from you
ReplyDeleteClaim Back PPI