I wanted to change certain powertop params on Ubuntu 17.04 startup, therefore I created a shell script in /usr/sbin/
and made it executable:
#!/bin/sh
echo 'min_power' > '/sys/class/scsi_host/host1/link_power_management_policy';
echo 'min_power' > '/sys/class/scsi_host/host2/link_power_management_policy';
echo 'min_power' > '/sys/class/scsi_host/host0/link_power_management_policy';
echo 'min_power' > '/sys/class/scsi_host/host5/link_power_management_policy';
echo 'min_power' > '/sys/class/scsi_host/host3/link_power_management_policy';
echo 'min_power' > '/sys/class/scsi_host/host4/link_power_management_policy';
echo '1' > '/sys/module/snd_hda_intel/parameters/power_save';
echo 'auto' > '/sys/bus/i2c/devices/i2c-0/device/power/control';
echo 'auto' > '/sys/bus/i2c/devices/i2c-1/device/power/control';
echo 'auto' > '/sys/bus/i2c/devices/i2c-2/device/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:1d.0/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.3/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:00.0/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.6/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:02.0/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:14.0/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.4/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:17.0/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.2/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.0/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.0/power/control';
echo 'auto' > '/sys/bus/pci/devices/0000:00:16.0/power/control';
ethtool -s enp0s31f6 wol d
exit 0
Then I made a service unit in /etc/systemd/system
:
[Unit]
Description=PowerTOP
[Service]
ExecStart=/usr/sbin/powertop-stup.sh
[Install]
WantedBy=multi-user.target
and enabled it with sudo systemctl enable powertop_start.service
but after a reboot it does not work.
If I start the service manually after booting with sudo systemctl start powertop_start.service
it works flawlessly. Also when I start the shell script itself it works but automatically on boot it does nothing.
journalctl -u powertop_start.service
say after it fails to start as expected on boot? Doessystemctl status powertop_start
show anything interesting? – Mark Stosberg May 11 '17 at 18:31May 11 21:10:06 mediaserver systemd[1]: Started PowerTOP.
– ilovebytes May 11 '17 at 19:17and journalctl -u powertop_start.service gives me
Logs begin at Thu 2017-05-11 21:10:05 CEST, end at Thu 2017-05-11 21:17:01 CE May 11 21:10:06 mediaserver systemd[1]: Started PowerTOP. `