HP Laptop 15s-eq1124nw
Hardware | PCI/USB ID | Working? |
---|---|---|
Bluetooth | 0bda:b00c |
Untested |
Webcam | 0408:5365 |
Yes |
Wi-Fi | 10ec:c822 |
Yes |
GPU (AMD) | 1002:1636 |
Yes |
Touchpad | Yes | |
Keyboard | Yes | |
TPM | Untested | |
SD-card reader | 058f:6366 |
Yes |
Audio (Onboard + jack) | 1022:15e3 |
Yes |
Audio (HDMI?) | 1022:15e2 |
Untested |
Speakers | Yes | |
Microphone | Yes |
The HP 15s-eq1124nw is a laptop featuring a 15.6" FHD IPS display, 16GB of RAM (2x8GB, 2666MHz), 512GB NVMe SSD, and a AMD Ryzen 5 4500U with integrated graphics.
Installation
The Realtek RTL8822CE network card and integrated AMD GPU graphics card require linux-firmware to be installed.
Accessibility
The BIOS setup is a simple, text-based interface, navigated with a keyboard. It does not expose many options apart from the standard time/date settings, and boot configuration.
To show a list of all available menus, press Esc
.
To access the BIOS setup, press F10
.
To access the boot menu, press F9
.
Firmware
fwupd does not support this device.
Secure Boot
Secure Boot is untested, The device does not come with any Secure Boot keys installed from the factory, but there is an option in the BIOS to install HP factory keys.
Suspend-to-RAM
See Power management/Suspend and hibernate#Changing suspend method for the general context in which this workaround applies.
The firmware does not expose the necessary ACPI object (\_S3
) to support suspend-to-RAM, but it does have a similarly named object (\XS3
), which is most likely patched at boot-time to enable this functionality (although there is no BIOS option to configure this). One can manually add support for suspend-to-RAM by doing the following:
First, get the iasl
compiler by installing the acpica package.
Then compile the following source using iasl <file>.asl
:
DefinitionBlock ("ssdt.aml", "SSDT", 1, "HACK ", "S3 ", 0x00000001) { Scope (\) { Name (_S3, Package (0x04) { 0x03, Zero, Zero, Zero }) } }
And finally, tell the kernel to use the new ACPI table.
Webcam
The webcam supports 720p, but this resolution is only available when not using the YUYV 4:2:2 video format (checked with OBS).
Function keys
By default, keys F1
-F12
perform their alternative functions, and Fn+Fx
is needed to press Fx
, but there is a BIOS option to change this behavior. The following table assumes this setting was disabled.
Key | Visible?1 | Marked?2 | Effect |
---|---|---|---|
Fn+F2 |
Yes | Yes | XF86XF86MonBrightnessDown
|
Fn+F3 |
Yes | Yes | XF86MonBrightnessUp
|
Fn+F4 |
Yes | Yes | XF86Display
|
Fn+F6 |
Yes | Yes | XF86AudioMute
|
Fn+F7 |
Yes | Yes | XF86AudioLowerVolume
|
Fn+F8 |
Yes | Yes | XF86AudioRaiseVolume
|
Fn+F9 |
Yes | Yes | XF86AudioPrev
|
Fn+F10 |
Yes | Yes | XF86AudioPlay
|
Fn+F11 |
Yes | Yes | XF86AudioNext
|
Fn+F12 |
Yes3 | Yes | XF86RFKill
|
- The key is visible to
xev
and similar tools. - The physical key has a symbol on it, which describes its function.
- systemd handles this by default, but does not consume it.
Additionally, Linux logs the following unknown key (what key combination triggers them is yet to be identified):
[11654.430121] atkbd serio0: Unknown key pressed (translated set 2, code 0xab on isa0060/serio0). [11654.430130] atkbd serio0: Use 'setkeycodes e02b <keycode>' to make it known. [11654.555213] atkbd serio0: Unknown key released (translated set 2, code 0xab on isa0060/serio0). [11654.555224] atkbd serio0: Use 'setkeycodes e02b <keycode>' to make it known.
Kernel warnings
The kernel reports that the TSC timer is unstable:
[ 2.611935] clocksource: timekeeping watchdog on CPU4: Marking clocksource 'tsc' as unstable because the skew is too large: [ 2.611947] clocksource: 'hpet' wd_nsec: 504249213 wd_now: 22757d5 wd_last: 1b92cfa mask: ffffffff [ 2.611952] clocksource: 'tsc' cs_nsec: 503421858 cs_now: 3ac0cfb3c cs_last: 364cd6eec mask: ffffffffffffffff [ 2.611955] clocksource: 'tsc' is current clocksource. [ 2.611959] tsc: Marking TSC unstable due to clocksource watchdog [ 2.611970] TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.
The kernel also reports the following ACPI errors:
[ 0.886837] ACPI: \_SB_.PLTF.P000: Found 3 idle states [ 0.886847] ACPI: FW issue: working around C-state latencies out of order [ 0.887006] ACPI: \_SB_.PLTF.P001: Found 3 idle states [ 0.887013] ACPI: FW issue: working around C-state latencies out of order [ 0.887337] ACPI: \_SB_.PLTF.P002: Found 3 idle states [ 0.887343] ACPI: FW issue: working around C-state latencies out of order [ 0.887481] ACPI: \_SB_.PLTF.P003: Found 3 idle states [ 0.887488] ACPI: FW issue: working around C-state latencies out of order [ 0.887703] ACPI: \_SB_.PLTF.P004: Found 3 idle states [ 0.887709] ACPI: FW issue: working around C-state latencies out of order [ 0.887888] ACPI: \_SB_.PLTF.P005: Found 3 idle states [ 0.887894] ACPI: FW issue: working around C-state latencies out of order [ 0.900991] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_PR_.P000 (20210730/dspkginit-438)
[20108.010179] ACPI BIOS Error (bug): Could not resolve symbol [\_PR.P000.PPCV], AE_NOT_FOUND (20210730/psargs-330) [20108.010191] ACPI Error: Aborting method \_SB.CPUS due to previous error (AE_NOT_FOUND) (20210730/psparse-529) [20108.010198] ACPI Error: Aborting method \_SB.PCI0.SBRG.EC0._Q20 due to previous error (AE_NOT_FOUND) (20210730/psparse-529)
Despite these errors, the system is stable and operates correctly.