ASUS B9450

From ArchWiki
Jump to navigation Jump to search

Summary

An informative summary from a physical point of view: https://www.youtube.com/watch?v=wsu-VsnALS8

Adjusting BIOS

You will need to:

  • Add an admin password.
  • Disable secure boot (I forget if I actually tested if this was necessary, it might not be).
  • Change the hard drives from SATA to AHCI (or else they will not be recognized when running fdisk/gdisk).
  • Disable 'Trusted Computing', this got rid of a temporary hang on start up that mentions IRQ being disabled.

Kernel Parameters

  • No additional kernel parameters required, adding i915.enable_guc=2 will have a negative effect on performance.

Xorg.conf

For the Intel GPU, under the Device section:

  • Set TearFree to true

Fan Control

Fans are controlled by the BIOS in this model. At first, you might think the fans are not turning on - and this might actually be the case. They should turn on when you enter the BIOS. If the BIOS does not show the fan spinning above 0 RPM after a few minutes, then your fans probably are not working after the install. It will take a high temperature to turn them on, > 80C for the CPU sensors.

To fix fans not working after install:

$ cd /sys/devices/platform/asus-nb-wmi/hwmon/hwmon#/
# echo 0 > pwm1_enable #the fan should turn on to ~7000+ RPM
# reboot

Enter bios upon reboot, and the BIOS should be able to regain control of the fans, and it will work for your install as well. The fans will persist at ~max speed on reboot, but without entering the BIOS it will not regain control of them.

Battery

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: Do not duplicate content, see Help:Style#Hypertext metaphor. (Discuss in Talk:ASUS B9450#)

Original information about this came from another ASUS laptop page and was placed here for convenience.

Kernel 5.4 brought the ability to set the battery charge threshold for some Asus laptops by modifying the charge_control_end_threshold variable exposed under /sys/class/power_supply/BAT0/[1]. By default, this value is set to 100[2].

The effect of its change can be demonstrated as follows:

$ cat /sys/class/power_supply/BAT0/status
Charging
$ cat /sys/class/power_supply/BAT0/capacity
74
# echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold
$ cat /sys/class/power_supply/BAT0/status
Not charging

systemd service

In order to make this change permanent, create the following systemd service:

/etc/systemd/system/battery-charge-threshold.service
[Unit]
Description=Set the battery charge threshold
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold'

[Install]
WantedBy=multi-user.target

and then enable it.

Tip: If this does not work, it probably means the service is executed before the battery sysfs path is made available. In that case, try adding an ExecStartPre=sleep 5 instruction to the unit [Service] section for a quick workaround, or for a cleaner solution look into path-based activation.
Note: According to some reports, systemd.tmpfiles are not working for this use case.

performance

Limiting the battery charging capacity works when booting up from a powered off state. This however does not seem to apply when the laptop wakes from hibernation.

Extra

Be sure to install linux-firmware or the wifi-card will not be recognized once you leave a live boot.