Jump to content
From ArchWiki

Hardware | PCI/USB ID | Working?
--- | --- | ---
Bluetooth | `0bda:b00c` | Untested
Webcam | `0408:5365` | Yes
WiFi | `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`

1. The key is visible to `xev` and similar tools.
2. The physical key has a symbol on it, which describes its function.
3. 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.

## See also

- HP product specifications page
- linux-hardware.org results for this and similar machines

Category:

- HP