Skip to content
ruff edited this page Sep 19, 2016 · 6 revisions

How to collect logs

Client (GUI)

This is simple - just get to the command-line (CLI) with either Terminal program or better SSH client - and launch the client from CLI by

/usr/bin/rockpool

Note: Make sure client is not running before starting it, only one instance of GUI could be running, all others will segfault.

Server (service, daemon)

Service logging changed since release 1.3 where default Qt logging handler is intercepted by DevConnection and handled separately. As such you need to check which release you're running and act accordingly. A rule of thumb - go to Developer Tools from main app page and check if you can dump service logs and/or change logging severity. If you can - you're running recent release and can use new way, otherwise use old way.

Prior to 1.3

There are 3 main options to collect service logs:

  • Start daemon from CLI
  • Use Pebble SDK
  • Use system journal

Latest (after 1.3)

Pebble SDK option still remains as it's always available. But logging to STDERR is changed and by default is now supressed to just Crit/Fatal severity. Debug and Warnings are not logged by default.

To enable full debug to STDOUT and hence use CLI/Journal option you need to change log verbosity in Developer Tools menu.

Alternatively the logs could be dumped into separate file now using Client (GUI) or DBus calls.

Dump Logs

In recent version the logs could be dumped now to /tmp/rockpoold..log file. This dump could be enabled or disabled in Developer Tools menu, the file also could be sent over the mail from the same menu. When enabled - the setting is preserved over service restart hence the rockpoold will continue dumping logs to file on restart. The file of course will be newly created on each restart.

Note: /tmp uses tmpfs and hence volatile partition, it's content is not preserved over reboot. Also there's no rotation and/or size control for the logs, so if your phone is rarely rebooted and rockpoold is rarely restarted - it may create quite a big log file.

Start Daemon from CLI

This requires to stop the service from developer menu in GUI and restart it manually from command-line (SSH or Terminal) by

/usr/bin/invoker -o --type=qt5 /usr/bin/rockpoold

If you're not sure you can reproduce the issue after service restart - this option is not suitable.

Pebble SDK Tool

If you have Pebble SDK installed and your PC is in the same (W)LAN as your Jolla - you can enable Developer Connection and from PC where pebble SDK is installed use command

pebble logs --phone <jolla's fqdn or ip> -vv

to get all logs - from the daemon and watches. This method does not require service restart or CLI access.

System Journal

Get to the CLI with either Terminal or SSH and use developer password to get root account (devel-su). Once root - collect logs by

journalctl -f -l -a

Note: this will collect all logs generated by the phone so be sure to clean up whatever may contain personal data.

Getting to the CLI

You can install Jolla's standard Terminal application which gives you normal linux shell with nice virtual keyboard. Alternatively you can use SSH (either open-ssh from linux or putty from windows) client to get into the phone. You may get current jolla's IP quickly by going to System Settings -> Developer page.

Getting to the root

First you need to generate developer password. Go to System Settings -> Developer page and click on Generate password button. Then go to CLI and type devel-su command entering generated password once prompted.

Enabling Developer Connection

From the main screen (with current Pebble) pull down the menu and chose Developer Settings. In Developer Settings click on Developer Connection and toggle Enable checkbox.

Note: DevCon state is not preserved over restart, moreover it's recommended to disable it once not needed as it effectively creates security backdoor.