User:GNUtoo/E350M1

From ParabolaWiki
Jump to: navigation, search

1 Basic network settings

1.1 Rename the interfaces

Find the MAC addresses of your cards:

# ip addr
[...]
2: enp0s13: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:0d:b9:0c:d5:34 brd ff:ff:ff:ff:ff:ff
3: wlp0s14: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1d:19:e2:a2:10 brd ff:ff:ff:ff:ff:ff

Add your MAC address to etc/udev/rules.d/10-network.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0d:b9:0c:d5:34", NAME="wired_int"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:1d:19:e2:a2:10", NAME="wireless_int"

2 Low Noise/Power/Heat

2.1 /etc/udev/rules.d/01-pm.rules

That implements what is said in the arch wiki page on power management

##############
# Runtime PM #
##############

# PCI
ACTION=="add", SUBSYSTEM=="pci", ATTR{power/control}="auto"

# SATA
ACTION=="add", SUBSYSTEM=="scsi_host", KERNEL=="host*", ATTR{link_power_management_policy}="min_power"

# hdparm
ACTION=="add", KERNEL=="[hs]d[a-z]", ATTR{queue/rotational}=="1", RUN+="/usr/bin/hdparm -B 1 -M 128 /dev/%k"

# Disable unused "wake on lan"
ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*", RUN+="/usr/bin/ethtool -s %k wol d"
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*", RUN+="/usr/bin/ethtool -s %k wol d"

# Various subsystems runtime power management
ACTION=="add", SUBSYSTEMS=="*", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEMS=="*", TEST=="parameters/power_save", ATTR{parameters/power_save}="1" 

# For cpupower.service
ACTION=="add", SUBSYSTEM=="module", KERNEL=="cpufreq_userspace", TAG+="systemd"

2.2 /etc/systemd/system/cpupower.service

I set the CPU frequency to 800Mhz with the userspace governor. The issue I have is that the cpupower binary is run before /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor are present, which result in it failing to set its frequency.

To workarround that I overrided the unit to make it wait for the sysfs paths to appear. The paths are not available by default in systemd so I added the systemd tag to them in /etc/udev/rules.d/01-pm.rules

[Unit]
Description=Apply cpupower configuration
Requires=sys-module-cpufreq_userspace.device
After=sys-module-cpufreq_userspace.device

[Service]
Type=oneshot
ExecStart=/etc/systemd/system/scripts/cpupower
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

2.3 /etc/default/cpupower:

freq=800Mhz

2.4 /etc/modprobe.d/pm.conf:

# The led makes light, not good for sleeping at night
options ath9k blink=0

3 Services