Experience with HP Notebook 15-bs158cl

Here is my experience using this laptop. I hope this can help someone else. If you have any tips/tricks for similar laptops, feel free to share here.


Specification

  • HP Notebook 15-bs158cl
  • 12 GB memory
  • i5-8250U (8th gen, 4 cores)
  • Samsung SSD 860 EVO M.2 250 GB (upgraded by the last owner?)
  • Qubes OS 4.1 (ext4 + thin lvm, legacy instead of uefi)
  • Manufacturing date is in 2018?

I brought it second-hand. The case is a bit flimsy and has several cracks. But I think it is a good machine for running VMs at its price.


Taking the Laptop Apart

The base panel has lots of plastic cylinders that goes through the keyboard. HP melted the end of the cylinders to keep the keyboard in place without using any screw. While this design might save them a few bucks, it really makes cleaning the laptop much more difficult. I had to use a snap blade knife to cut the cylinders and scrap the keyboard off the panel.

Afterwards, I took everything out of the case, and washed the case with soap and water. I got rid of the dust and lots and lots of white cat fur with vacuum cleaner and tweezers. The fur is all over the place. Even the soft transparent plastic near the CPU has fur. Cats suck.

Finally, I replaced the thermal paste of the cpu and put everything back in place except for the CD drive. I hoping getting rid the CD drive would help the ventilation a bit.


Installation

I think I can’t install Qubes OS with a usb drive unless I set the booting mode to legacy in the bios. I used ext4 + thin lvm.


Quirks

Mouse can freeze for 1 - 3 minutes. The strange thing is that when the mouse freezes the keyboard is still functional. I can alt-tab and switch between several dom0 terminals. Most of the time the mouse freezes when I boot the laptop or update the qubes. I think the mouse never freezes again after I get rid of swap in the fedora template and VMs.

The screen occasionally flicker. I mean it alternate between black screen and normal screen quickly as if some kind of chain lightning hits it. I started to see this kind of flicker after I upgraded from Qubes OS 3.0 to Qubes 4.0. The flickering always coincides with i915 ... [drm] CPU pipe A FIFO underrun in dmesg of dom0. I think setting i915.enable_psr=0 i915.enable_fbc=1 kernel parameters reduce the flickering significantly. Maybe setting intel_idel.max_cstate=4 would eliminate the flickering completely? But I have never tried that. The command for updating grub configuration is grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg. See Where to add kernel parameter? - #2 by tzwcfq

I use a bash script to control the brightness of the screen: echo $1 > /sys/class/backlight/intel_backlight/brightness.

The laptop has a Windows 10 key at cat /sys/firmware/acpi/tables/MSDM.


Beating the Heat

I think the ventilation of the lower end laptops from HP are quite bad.

I removed the CD drive, set the fan to be always on in the bios, and put a few pencils beneath the laptop.

Before the kernel update, I can check the temperatures of each of the 4 cpu cores with sensors. I only see one temperature for all cores now.

I also wrote a python program for setting the fan speed. I look at the code of note book fan control (https://github.com/hirschmann/nbfc) and find the configuration of a similar model. By trial and error, I find the offsets for the mode, temperature, and speed of the fan in the embedded controller (EC).

Maximal fan speed is a bit loud but that really cools down the laptop. When the bios controls the laptop automatically, the fan is nearly never at max speed.

However, the newest kernel of Qubes OS gets rid of the ec_sys module and my program doesn’t work now.


Memory

Usually I don’t run the sys-usb or sys-whonix qubes unless I need to use them. I also replace the fedora template by the minimal fedora template. I haven’t tried zram or liteqube (https://github.com/a-barinov/liteqube) yet.

Upgrading the BIOS

I think the bios is insydeh2o. I don’t know how to upgrade the BIOS with Linux. I plan to replace Qubes OS by Windows 10 and then run hp’s tool. Directly using dd to write the Windows 10 iso to a usb drive doesn’t work. I am trying genisoimage instead (dd - How to Create Bootable Windows 10 image in Debian? - Unix & Linux Stack Exchange).

2 Likes

Thank you for a great write-up! Did you check if suspend works? Could you also attach an HCL report, so this machine can be added to this list?

Moved to HCL reports

I unplugged the laptop, closed the lid, and let it sit for a few hours. I waited until the white led light at right corner blinked gradually on and off.

When I opened the lid, the screen turned on, the qubes that I started were still there. I used the mouse to close a terminal.

A few seconds later, the mouse froze but I can still use the keyboard. The mouse was usable again ~3 min later.

When I checked dmesg at dom0 (with alt-tab), I saw these lines:
dmesg.log (24.3 KB)

HCL report:

---
layout:
  'hcl'
type:
  'notebook'
hvm:
  'yes'
iommu:
  'yes'
slat:
  'yes'
tpm:
  'unknown'
remap:
  'yes'
brand: |
  HP
model: |
  HP Laptop 15-bs158cl
bios: |
  F.68
cpu: |
  Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu-short: |
  i5-8250U
chipset: |
  Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:5914] (rev 08)
chipset-short: |
  Kaby Lake R
gpu: |
  Intel Corporation UHD Graphics 620 [8086:5917] (rev 07) (prog-if 00 [VGA controller])
gpu-short: |
  Intel UHD Graphics 620
network: |
  Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
  Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)
memory: |
  12204
scsi: |
  Samsung SSD 860  Rev: 3B6Q
usb: |
  1
versions:

- works:
    partial
  qubes: |
    R4.1
  xen: |
    4.14.3
  kernel: |
    5.10.90-1
  remark: |
    Last owner upgraded the hard disk to a SSD. Temporary mouse freezes and screen flickers. I mostly fixed the occasional mouse freezes (~3min) by getting rid of zswap in fedora minimal templates and VMs. But the mouse can still freeze for ~3min upon resuming from hibernation. The screen occasionally flickers. Kernel parameters (i915.enable_psr=0 i915.enable_fbc=1) seems to reduce the flickering to happen about once every hour. Moving the mouse seems to stop the flickering.
  credit: |
    Qurious
  link: |
    https://forum.qubes-os.org/t/experience-with-hp-notebook-15-bs158cl
---

The bios settings talks about a TPM.
Here is a correction of my earlier post: I can actually install Qubes OS 4.1 with uefi after I disable secure boot.

2 Likes

The mouse froze for like 3 seconds. dmesg says:

[25766.279633] ACPI Error: No handler for Region [RCM0] (00000000dcc13bee) [SystemCMOS] (20200925/evregion-129)
[25766.279638] ACPI Error: Region SystemCMOS (ID=5) has no handler (20200925/exfldio-261)
[25766.279640] ACPI Error: Aborting method \_SB.WMID.ESDT due to previous error (AE_NOT_EXIST) (20200925/psparse-529)
[25766.279645] ACPI Error: Aborting method \_SB.PCI0.LPCB.EC0._Q42 due to previous error (AE_NOT_EXIST) (20200925/psparse-529)
[27309.275942] psmouse serio1: synaptics: queried max coordinates: x [..5648], y [..4826]
[27309.306667] psmouse serio1: synaptics: queried min coordinates: x [1292..], y [1026..]
[27494.843550] psmouse serio1: synaptics: queried max coordinates: x [..5648], y [..4826]
[27494.873977] psmouse serio1: synaptics: queried min coordinates: x [1292..], y [1026..]
[28504.608635] psmouse serio1: synaptics: queried max coordinates: x [..5648], y [..4826]
[28504.639011] psmouse serio1: synaptics: queried min coordinates: x [1292..], y [1026..]
[28580.673805] psmouse serio1: synaptics: queried max coordinates: x [..5648], y [..4826]
[28580.703674] psmouse serio1: synaptics: queried min coordinates: x [1292..], y [1026..]
[28972.848594] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[28972.850362] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[28972.852255] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[28972.854293] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[28972.856236] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[28972.856237] psmouse serio1: issuing reconnect request
[28977.937565] psmouse serio1: synaptics: queried max coordinates: x [..5648], y [..4826]
[28977.968581] psmouse serio1: synaptics: queried min coordinates: x [1292..], y [1026..]
[28977.968587] psmouse serio1: synaptics: Your touchpad (PNP: SYN3251 PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org.
[28978.032378] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b1, caps: 0xf00123/0x840300/0x2e800/0x400000, board id: 3320, fw id: 2548310
[28978.072745] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input19

intel_idle.max_cstate=4 alone (without i915.enable_psr=0 i915.enable_fbc=1) seems to get rid the occasional flickering of the screen. The screen hasn’t flickered for about 4 hours.

psmouse.synaptics_intertouch=1 is a bad idea. Before I set this kernel parameter to 1, the mouse would occasionally freeze for 3 mins and then become usable again. After I set this parameter to 1, the mouse would still freeze. When the mouse freezes, the mouse freezes forever.

Thank you @Qurious for your HCL report, which is online now.

1 Like

pressing the left and right mouse button at the same time seems to unfreeze the mouse.

1 Like