ASUS ExpertBook B9450

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Missing both hardware and function key table (Discuss in Talk:ASUS ExpertBook B9450)


An informative summary from a physical point of view:

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.


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 ExpertBook 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
$ cat /sys/class/power_supply/BAT0/capacity
# 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:

Description=Set the battery charge threshold

ExecStart=/bin/bash -c 'echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold'


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.


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.


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