Upon startup, the K3 software is initialized by a script located at: /opt/amazon/ebook/bin/start.sh Somewhere in there, there's a variable declared for the test libraries: testlibdir=/test/ebook/lib
if [ -d "$testlibdir" ]; then
for i in "$testlibdir"/*.jar; do
clazzpath="$clazzpath":"$i"
...
In the said directory, there is a jar (testtools.jar) class which implements the function responsible for the ~exec command (com.amazon.ebook.d.a.a(String a, StringBuffer a, StringBuffer a)). So, if the /test directory is missing, there will be no ~exec command (the search function will return -2 with no output).
In order to check for the presence of the /test directory, run:
;debugOn
;dumpMessagesAll
Look in the logs for someting like:
100910:135140 system: I S91testd:def:starting testd test server
100910:121307 testd[3177]: W testd:log::Unable to open /mnt/base-us/testresults
Please drop a reply if you find any reference to "testd" - this would indicate that you have the /test directory.
Also, in the same logs, check for someting like:
100910:135143 root: -Xmx20m -Xgc:youngGen=3m -Dsun.awt.exception.handler=com.amazon.ebook.framew ork.impl.device.event.EventDispatchThreadException Handler -Xbootclasspath/a:/usr/java/lib/localedata.jar:/usr/java/lib/charsets.jar -Dsun.boot.library.path=/usr/java/lib -cp :/opt/amazon/ebook/lib/JFEP-0.1.0.jar:/opt/amazon/ebook/lib/KindleDeviceServicesAbstraction-1.0.jar:/opt/amazon/ebook
....
:/opt/amazon/ebook/booklet/Search.jar:/opt/amazon/ebook/booklet/XymlBooklet.jar:/opt/amazon/ebook/booklet/msp.jar:/test/ebook/lib/junit.jar:/test/ebook/lib/test-TestBooklet.jar:/test/ebook/lib/testtools.jar:/opt/amazon/ebook/lib/portability-impl.jar -Ddebug=1 -Dc
If you see in the classpath the "/test/ebook/lib/testtools.jar", then you have the ~exec command.
If both testd and testtools.jar are present, then it should work ... or I'm wrong
Another way to check for testd:
Check the Kindle USB drive (/mnt/us) for a directory called "system" - it should contain a file named "test_client.conf" if the testd daemon is started (it creates this file upon startup).