7. Troubleshooting client problems

7.1. Windows client fails to start

7.2. Tablet upload fails with error “Read timed out”

Likely problem: slow network, large BLOB (binary large object – e.g. a big photo). For example, in one of our tests a BLOB took more than 17 s to upload, so the tablet needs to wait at least that long after starting to send it. Increase the tablet’s network timeout (e.g. to 60000 ms or more) in Settings → Server settings.

7.3. A photo-based task says “No camera”

CamCOPS asks Qt for available cameras. This message indicates that none were found. This is usually a hardware configuration problem.

  • Under Linux, run cheese; does this find a camera?
  • If you’re using a laptop, does it have a special function key combination to enable/disable the camera?

7.4. What if it crashes?

This shouldn’t happen; please note down any error details and let us know! To forcibly stop and restart the app:

Android 4.3

  • Settings → More → Application Manager → CamCOPS → Force stop
  • Then start the app again as usual.

iOS 7

  • Double-click the Home button
  • Swipe left/right until you find the CamCOPS app’s preview
  • Swipe the app preview up to close it
  • Then start the app again as usual

Windows

  • Close it as usual; if it refuses to close, kill it via the Task Manager.

7.5. Rescuing data very old CamCOPS clients

If you have an old Titanium version (version 1.x), then before you attempt an upload to a modern CamCOPS server, follow these steps.

  • Ensure you have a computer with the Android SDK installed, and an appropriate USB cable.

  • Ensure the tablet device has USB debugging enabled.

  • In CamCOPS, choose Settings ‣ Dump local database to SQL file (Android only).

  • It should say that it’s saved to appdata:///camcops_db.txt; this means /sdcard/org.camcops.camcops/camcops_db.txt on the filesystem.

  • On the big computer, try adb devices to list devices, and adb shell to run an SSH-type shell into the tablet.

  • On the big computer, fetch the file via

    adb pull /sdcard/org.camcops.camcops/camcops_db.txt rescued_camcops_db.txt
    
  • If you want to create a binary SQLite database, then do

    sqlite3 rescued_camcops_db.sqlite < rescued_camcops_db.txt