- Failure to read meter data
- Application not closing
- PowerGoblin using 100% CPU time
- HID subsystem is not initialized
- Serial subsystem is not initialized
- Collectd issues
- Meter settings cannot be configured
- The web UI does not work properly
- Plots are not being generated
- The RPi system does not boot
Failure to read meter data
If the application states that meter data cannot be read, e.g. FAILED TO READ METER DATA [SP3-6f]!, first make sure you have terminated all existing instances of the software. This typically occurs when multiple instances of the application are all accessing the devices simultaneously.
Another source of read errors is a bad USB cable. Try reconnecting the device and using another USB cable. When using SmartPower 3 without a PSU connected (mainly useful for testing), there might also be read errors due to low bus voltage. This problem should disappear when using a thicker USB cable or connecting the meter to a PSU.
Note: in PowerGoblin 3.0.0+ the issues with different meters are listed in the meter widget's status message area.
Application not closing
Unfortunately the application is currently in an experimental stage. There are some issues that might occur and prevent the application from closing. On Linux, use the kill / killall utilities or some graphical task manager to close the application process.
When starting the application from Maven (mvn exec:java), it is a known issue that the background threads may not shut down and need to be explicitly killed.
PowerGoblin using 100% CPU time
Sometimes the serial driver can get stuck in a busy loop, especially when started with Apache Maven. On Linux, use the kill / killall utilities or some graphical task manager to close the application process. Then, restart the application.
Note: we haven't encountered this bug in PowerGoblin 3.0.0+ anymore.
HID subsystem is not initialized
If your system is missing the necessary low level drivers, during the startup you will see error messages such as:
SEVERE: HID subsystem is not initialized, /tmp/powergoblin17015817952187070882/libnative-serial.so: libhidapi-libusb.so.0: ...
As a result, no such meters will be available during the measurement.
To fix this, install the required libraries.
Note: in PowerGoblin 3.0.0+ the issues with different subsystems are listed in the 'Config' section of the web user interface.
Serial subsystem is not initialized
If your system is missing the necessary low level drivers, during the startup you may see error messages. We currently only support a limited selection of hardware.
Currently, we only support serial drivers on Linux. The low-level serial drivers are typically provided as kernel drivers. Our software connects to these drivers via /dev/tty* device files. We use the libusb / hidapi drivers to enumerate meter devices.
Collectd issues
Case 1: outdated Python libraries
This error can occur in Arch Linux if the collectd installation is still using old Python libraries after a system update:
plugin_load: plugin "cpu" successfully loaded.
plugin_load: plugin "csv" successfully loaded.
ERROR: dlopen("/usr/lib/collectd/python.so") failed: libpython3.11.so.1.0: cannot open shared object file: No such file or directory. The most common cause for this problem is missing dependencies. Use ldd(1) to check the dependencies of the plugin / shared object.
plugin_load: Load plugin "python" failed with status 2.
plugin_load: plugin "interface" successfully loaded.
plugin_load: plugin "load" successfully loaded.
plugin_load: plugin "memory" successfully loaded.
There is configuration for the `python' plugin, but the plugin isn't loaded. Please check your configuration.
Error: Parsing the config file failed!
You can fix this by recompiling collectd:
$ yay -S collectd
Case 2: no access to RAPL files in /sys
By default, the RAPL counters are hidden from the users because they may expose local data leaks via side channels. This will trigger the following error message when using collectd with the RAPL plugin:
Unhandled python exception in read callback: PermissionError: [Errno 13] Permission denied: '/sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/energy_uj'
Traceback (most recent call last):
File "/home/me/powergoblin/intel_rapl.py", line 44, in rapl_read
val[d] = read_energy_uj(d)
^^^^^^^^^^^^^^^^^
File "/home/me/powergoblin/intel_rapl.py", line 31, in read_energy_uj
with open(fpath,'r') as f:
^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/energy_uj'
read-function of plugin `python.intel_rapl' failed. Will suspend it for 0.200 seconds.
To fix this, the permissions of the counter variables need to updated after each reboot:
$ sudo chown -R $USER /sys/devices/virtual/powercap/intel-rapl
Note that the use of RAPL counters may lead to security issues. We do not recommend exposing this functionality to normal users in production environments!
Meter settings cannot be configured
If the meter configuration schema has changed, PowerGoblin might not be able to read the old configuration file. Please delete the configuration, let PowerGoblin re-create the file and edit again.
The web UI does not work properly
There can be bugs in the web UI. The UI is implemented as an SPA app with some error recovery support. Basically if the UI fails for some reason, it may have to be restarted (the page, not the PowerGoblin instance). A quick fix is to reload the page (press F5).
If you wish to help us, check the browser's JavaScript console (press F12) to see if there are errors listed in the JavaScript logs. Report to us about this issue + attach the screenshot / logs of the error message.
If you wish to patch the application yourself, extract the 'interactive.js' file (download http://localhost:8080/interactive.js) and store a copy to web/ under the application directory. Changes to this file are applied to the UI after page reload (press F5).
Plots are not being generated
Make sure the R and/or Docker packages are installed on the system. You can try to switch to another generation method (docker vs native) by editing the configuration.
Note: in PowerGoblin 3.0.0+ we have switched to web based plots (chart.js).
The RPi system does not boot
Make sure you have flashed the decompressed image file, not the xz file. Also, make sure you have flashed it bit by bit, not copied the file to the default FAT partition. If this does not help, try with another SD card. In our tests some 128 GB cards have too much capacity for older RPi systems. A 16 GB card should have enough capacity.


