ASUS ExpertBook B9450

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.
  • 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.

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:

# echo 0 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon#/pwm1_enable

The fan should turn on to ~7000+ RPM. Reboot and enter the BIOS, it 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

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/. By default, this value is set to 100.

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.

gollark: The best way to do it is probably "check first characters match, check lengths match".
gollark: Ah, good, it is not.
gollark: If it *is* O(n) I'll just use a simpler heuristic, like "first character of strings match".
gollark: This is Cobalt, I bet the lua strings are just java byte arrays.
gollark: potatOS ¯\_(ツ)_/¯
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.