Please add 'Restart Pulseaudio' and 'Restart oFono' to Sailfish Utilities

An option for restarting Pulseaudio in Sailfish Utilities would be very fine, as it is currently available for network, GUI, fingerprint sensor, and so on.

Again and again occur problems with pulseaudio, then people have to restart Pulseaudio by CLI. This is the latest one:

Please add this option to Sailfish Utilities!

edit: and also oFono out of the same reason.


This is a good idea and has crossed my mind a couple of times. This might be helpful in other occassions as well, for example, when there are no ringtones, notification sounds or alarms.

Also, I would like to see an option to the restart oFono daemon (and possibly other related processes), when making or receiving a call fails. Restarting the device or searching for the correct commands is not practical, when one is in a hurry.


Thanks for this good idea, @tuplasuhveli , I edited the thread title.

Let’s consider this, at least.

I would of course prefer the SW always work correctly, without the need to visit Utilities and reset something. But, in real life,…


For the “complete loss of audio” issue that i have had a few times, restarting pulseaudio did not help… So maybe something more should be restarted along with it?

The restart was performed with the command

systemctl --user stop pulseaudio
systemctl --user start pulseaudio

what was the conclusion?

In, sometimes the execution of commands causes the phone to hang for a few seconds and sometimes this is not enough, you need to restart ngfd

systemctl --user stop ngfd
systemctl --user start ngfd

You can add it to the utilities, but this will not solve the problem! Restarting will help only if the absence of sound effects is detected, and how long it was not and how many calls, messages, etc. were missed because of this.
For now, I can advise you to use the script on a schedule with pulseaudio checking and add ngfd to it


if ( systemctl --user is-active --quiet pulseaudio.service ) && ( systemctl --user is-active --quiet ngfd.service ); then
    date >> /home/defaultuser/Documents/$(date +"%Y-%m-%d")_pulseaudio.log
    date >> /home/defaultuser/Documents/$(date +"%Y-%m-%d")_pulseaudio.log
    echo `systemctl --user stop pulseaudio.service`
	echo `systemctl --user stop ngfd.service`
	sleep 5
    echo `systemctl --user start pulseaudio.service`
    echo `systemctl --user start ngfd.service`
    echo "pulseaudio is" `systemctl --user is-active pulseaudio.service` >> /home/defaultuser/Documents/$(date +"%Y-%m-%d")_pulseaudio.log
	echo "ngfd is" `systemctl --user is-active ngfd.service` >> /home/defaultuser/Documents/$(date +"%Y-%m-%d")_pulseaudio.log