Linux on a HP Omen – Part 2

Just some more work with my HP Omen.

Kernel / Distribution

It looks like best compatibility is currently with Debian Buster (testing) and 4.15.0-2-amd64. However, this kernel contains some sort of bug. As soon as I plugin AC, I am spammed with:

[  191.347794] acpi INT3400:00: Unsupported event [0x86]

There seems to be a patch for that, though it’s not yet in the kernel debian buster ships with. So in case you’re owning a HP Omen ce005ng I’d suggest to run Debian Buster or a newer kernel than debian stretch has in case you want to use all features – don’t worry you’ll be happy with debian stretch as well :^)

s2ram/s2disk

I had trouble getting suspend to disk or suspend to ram to work with the Debian Stretch kernel as well as 4.9.0-6-amd64. However, with the newer kernel (4.15.0-2-amd64) both work like a charm. While the older kernel is just freezing.

powersaving features

Intel: GuC Firmware

Just as written in my previous post, there’s no firmware for HuC in the debian stretch kernel, it is however in Buster with 4.15.0:

[    1.504235] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    1.505262] i915 0000:00:02.0: firmware: direct-loading firmware i915/kbl_dmc_ver1_01.bin
[    1.505676] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_01.bin (v1.1)
[    1.510799] i915 0000:00:02.0: firmware: direct-loading firmware i915/kbl_huc_ver02_00_1810.bin
[    1.510858] i915 0000:00:02.0: firmware: direct-loading firmware i915/kbl_guc_ver9_14.bin
[    1.515889] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
[    1.526185] [drm] GuC: Loaded firmware i915/kbl_guc_ver9_14.bin (version 9.14)
[    1.540157] i915 0000:00:02.0: GuC submission enabled (firmware i915/kbl_guc_ver9_14.bin [version 9.14])
[    1.540501] [drm] Initialized i915 1.6.0 20171023 for 0000:00:02.0 on minor 0
[    3.137805] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    4.142282] (NULL device *): firmware: direct-loading firmware i915/kbl_dmc_ver1_01.bin
[    4.142334] (NULL device *): firmware: direct-loading firmware i915/kbl_guc_ver9_14.bin
[    4.142340] (NULL device *): firmware: direct-loading firmware i915/kbl_huc_ver02_00_1810.bin

NVME

This notebook contains an NVME; recently powersaving features (APST) have been included in the kernel; with the debian stretch kernel these are not available / not working for my device (haven’t checked in detail) however, with the kernel in buster it does work:

root@asuna:/home/jean# nvme get-feature -f 0x0c -H /dev/nvme0
get-feature:0xc (Autonomous Power State Transition), Current value:0x000001
        Autonomous Power State Transition Enable (APSTE): Enabled
        Auto PST Entries        .................
        Entry[ 0]   
        .................
        Idle Time Prior to Transition (ITPT): 86 ms
        Idle Transition Power State   (ITPS): 3
        .................
        Entry[ 1]   
        .................
        Idle Time Prior to Transition (ITPT): 86 ms
        Idle Transition Power State   (ITPS): 3
        .................

Funky syslog message (few minutes after s2ram/s2disk)

root@asuna:/home/jean# 
Message from syslogd@asuna at Apr 15 11:48:33 ...
 kernel:[  831.428195] Uhhuh. NMI received for unknown reason 20 on CPU 0.
 
Message from syslogd@asuna at Apr 15 11:48:33 ...
 kernel:[  831.428196] Do you have a strange power saving mode enabled?
 
Message from syslogd@asuna at Apr 15 11:48:33 ...
 kernel:[  831.428197] Dazed and confused, but trying to continue

temperature and such stuff is pretty fine; this happened a few minutes after I tried s2ram/s2disk on battery. *shrugs*

Better bus than the old PS/2 protocol

Both the older and the newer kernel tell me:

[    2.382201] psmouse serio1: synaptics: The touchpad can support a better bus than the too old PS/2 protocol. Make sure MOUSE_PS2_SYNAPTICS_SMBUS and RMI4_SMB are enabled to get a better touchpad experience.

However:

root@asuna:/home/jean# grep RMI4_SMB /boot/config-4.15.0-2-amd64 
# CONFIG_RMI4_SMB is not set

Setting psmouse.synaptics_intertouch=1 results in a not working touchpad. So, not do-able right now, except I compile the kernel myself.

Bluetooth

Just installed blueman* and using the blueman-manager (gtk). Bluetooth did pretty much work out-of-the-box.

Audio

I just had to add an /etc/bluetooth/audio.conf containing the following snippet to play audio from my google pixel 2 on my HP Omen:

[General]
Enable=Source

Sound had too low volume; I was able to increase that through pavucontrol. However, I can play music from my mobile phone on my notebook.

Network Access Point

Did I tell you that I am a connman fan?
technologies:

connmanctl> technologies
/net/connman/technology/bluetooth
  Name = Bluetooth
  Type = bluetooth
  Powered = True
  Connected = False
  Tethering = False
[..]

services:

connmanctl> services
[..]
   Pixel 2              bluetooth_xxx7_4xxExxxE75F

connect!

connmanctl> connect bluetooth_xxx7_4xxExxxE75F
Connected bluetooth_xxx7_4xxExxxE75F

disconnect from wlan (by typing in disconnect wifi_your-wifi-stringy) and check your IP / connection. Pretty cool stuff, isn’t it? :^)

connmanctl> services
* O Pixel 2              bluetooth_xxx7_4xxExxxE75F
*A  FRITZ!Box 7490       wifi_1xxxxxxxx3_4xxxxxxxxxxxx_managed_psk

This is pretty handy, because I may use the bluetooth connection of my mobile phone to access the internet with my notebook when I’m in a train. Okay, to be honest: the ICE has wifi, my mobile phone has wifi as well and I can use that instead of bluetooth (and it will most likely be faster).

TPM

This notebook got a treacherous platform module – okay okay, it’s trusted platform module. Let’s see if we can use it. dmesg doesn’t look too promising:

[    4.697261] tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xfed40000-0xfed4087f flags 0x201] vs fed40080 f80
[    4.697268] tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xfed40000-0xfed4087f flags 0x201] vs fed40080 f80

So, what do we have?

root@asuna:~# cat /sys/class/tpm/tpm0/device/description 
TPM 2.0 Device

All my tries to use the TPM device have failed due to various reasons. Probably going to write a dedicated post for that. In the meanwhile, one might just disable the TPM device in BIOS for a tiny bit increased battery run time. Anyway, no luck so far.

USB

USB 2

I would have worried if the usb ports would not work – though they do 🙂 Here’s a plugged in usb2 usb stick

[ 4690.692252] usb 1-1: new high-speed USB device number 4 using xhci_hcd
[ 4690.854782] usb 1-1: New USB device found, idVendor=13fe, idProduct=4100
[ 4690.854783] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4690.854785] usb 1-1: Product: USB DISK 2.0
[ 4690.854786] usb 1-1: Manufacturer:         
[ 4690.854786] usb 1-1: SerialNumber: 07023A57C19E0865
[ 4693.756377] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 4693.756913] scsi host4: usb-storage 1-1:1.0
[ 4693.757126] usbcore: registered new interface driver usb-storage
[ 4693.762529] usbcore: registered new interface driver uas
[ 4694.786018] scsi 4:0:0:0: Direct-Access              USB DISK 2.0     PMAP PQ: 0 ANSI: 6
[ 4694.786307] sd 4:0:0:0: Attached scsi generic sg1 type 0
[ 4697.514260] sd 4:0:0:0: [sdb] 15269888 512-byte logical blocks: (7.82 GB/7.28 GiB)
[ 4697.516388] sd 4:0:0:0: [sdb] Write Protect is off
[ 4697.516395] sd 4:0:0:0: [sdb] Mode Sense: 23 00 00 00
[ 4697.517864] sd 4:0:0:0: [sdb] No Caching mode page found
[ 4697.517873] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 4697.529871]  sdb: sdb1 sdb2
[ 4697.537276] sd 4:0:0:0: [sdb] Attached SCSI removable disk
[ 4697.901141] usb 1-1: USB disconnect, device number 4

USB 3

Note how this is called super-speed instead of high-speed. Cannot await hyper-speed.

[ 4753.676601] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd
[ 4753.697567] usb 2-1: New USB device found, idVendor=1058, idProduct=1078
[ 4753.697573] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 4753.697577] usb 2-1: Product: Elements 1078
[ 4753.697581] usb 2-1: Manufacturer: Western Digital
[ 4753.697584] usb 2-1: SerialNumber: 57584E314135365035385548
[ 4753.698614] usb-storage 2-1:1.0: USB Mass Storage device detected
[ 4753.698948] scsi host4: usb-storage 2-1:1.0
[ 4754.716818] scsi 4:0:0:0: Direct-Access     WD       Elements 1078    1065 PQ: 0 ANSI: 6
[ 4754.717068] sd 4:0:0:0: Attached scsi generic sg1 type 0
[ 4754.717901] sd 4:0:0:0: [sdb] Spinning up disk...
[ 4755.740429] .
[ 4756.764417] .
[ 4757.792395] .
[ 4758.812400] .
[ 4759.836547] .
[ 4759.837443] ready
[ 4759.837695] sd 4:0:0:0: [sdb] 1953458176 512-byte logical blocks: (1.00 TB/931 GiB)
[ 4759.838131] sd 4:0:0:0: [sdb] Write Protect is off
[ 4759.838136] sd 4:0:0:0: [sdb] Mode Sense: 53 00 10 08
[ 4759.838423] sd 4:0:0:0: [sdb] No Caching mode page found
[ 4759.838431] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 4760.007779]  sdb: sdb1 sdb2
[ 4760.009424] sd 4:0:0:0: [sdb] Attached SCSI disk

USB-C

Now it’s getting interesting, eh? Attaching my Google Pixel 2:

[ 6238.602002] usb 1-4: new high-speed USB device number 5 using xhci_hcd
[ 6238.734036] usb 1-4: Device not responding to setup address.
[ 6238.942144] usb 1-4: Device not responding to setup address.
[ 6239.150005] usb 1-4: device not accepting address 5, error -71
[ 6239.486086] usb 1-4: new high-speed USB device number 6 using xhci_hcd
[ 6239.638602] usb 1-4: New USB device found, idVendor=18d1, idProduct=4ee1
[ 6239.638608] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 6239.638612] usb 1-4: Product: Pixel 2
[ 6239.638615] usb 1-4: Manufacturer: Google
[ 6239.638618] usb 1-4: SerialNumber: Fxxxxxx

I might also use my notebook for midi, no idea how that works, though:

[ 6348.591943] usbcore: registered new interface driver snd-usb-audio
[ 6352.527757] usb 1-4: USB disconnect, device number 10

Well, the port works out-of-the-box.

MMC

Ah.. And here it’s ultra high speed… Why did nobody invent hyper-speed Oo

[ 4995.099753] mmc0: cannot verify signal voltage switch
[ 4995.225240] mmc0: new ultra high speed SDR104 SDXC card at address 0001
[ 4995.240279] mmcblk0: mmc0:0001 EC2QT 59.6 GiB 
[ 4995.241202]  mmcblk0: p1 p2

Just in case you’re interested:

root@asuna:/home/jean# hdparm -tT --direct /dev/mmcblk0
 
/dev/mmcblk0:
 Timing O_DIRECT cached reads:   146 MB in  2.01 seconds =  72.76 MB/sec
 Timing O_DIRECT disk reads: 224 MB in  3.00 seconds =  74.61 MB/sec

Good enough for an SD-card isn’t it? So the sd-card-reader works out-of-the-box as well (or might have it’s firmware in one of the various firmware-packages I’ve installed)

Webcam

root@asuna:/home/jean# dmesg | grep uvc
[    7.285261] uvcvideo: Found UVC 1.00 device HP Wide Vision HD Camera (0bda:58eb)
[    7.286697] uvcvideo 1-6:1.0: Entity type for entity Extension 4 was not initialized!
[    7.286700] uvcvideo 1-6:1.0: Entity type for entity Processing 2 was not initialized!
[    7.286701] uvcvideo 1-6:1.0: Entity type for entity Camera 1 was not initialized!
[    7.286864] usbcore: registered new interface driver uvcvideo

I wasn’t able to get good quality with this camera; you can set it to 1280×720 playing with the parameters; by default it will just display 640×480. In both cases quality is bad, though. However, I rarely use/need a webcam.

More to come.. 🙂

11 Comments

  • Crone123

    20. September 2018 at 10:56 Antworten

    Hello,
    Did you have some problems with audio on DP?
    With my nvidia card (HP Omen 17″ an000nf) , I can use the audio on HDMI but not on DP (which works with W10).

    Thank you !

    PS: If you want to boot Linux on a computer like my computer:

    Post nvidia-390 (and +) install, boot with:

    osi_acpi=! osi_acpi=“Windows 2009″ acpi_backlight=vendor snd_hda_intel.single_cmd=1 nomodeset nouveau.runpm=1

    (Screen will be laggy but it makes the install possible)

    After nvidia-390 install, boot with:

    osi_acpi=! osi_acpi=“Windows 2009″ acpi_backlight=vendor snd_hda_intel.single_cmd=1

    And install and enable nvhda with:
    options nvhda load_state=1

    With the hope it can help someone 🙂

    • jean

      22. September 2018 at 9:55 Antworten

      Hi,

      I’m sorry, I do not have any display-port device (apart from the notebook itself) so unable to test it. Guess you already played around with the various snd_hda_intel parameters? Really sure that snd_hda_intel.single_cmd=1 is required?

      Jean

  • Zenyan

    11. Oktober 2018 at 0:19 Antworten

    Hi,

    Thank you for sharing your experience with installing Linux on HP Omen, it helped me with some of the problems I found while doing the same on my Omen 15 2015.

    I have an issue with the fans after suspend. As after waking the computer the fans go on a high speed and stay there. I have to shut it down so they can go back to normal. Even restarting doesn’t solve the problem. Did you face this problem before ?

    I looked around and found that it was an issue with some kernel versions but now I’m on the latest one 4.18.12 and I suppose that bug was fixed.

    • jean

      11. Oktober 2018 at 18:45 Antworten

      root@asuna:/home/jean# s2ram
      KMS graphics driver is in use, skipping quirks.
      root@asuna:/home/jean#

      fans stayin quiet.

      jean@asuna:~$ uname -a
      Linux asuna 4.17.0-3-amd64 #1 SMP Debian 4.17.17-1 (2018-08-18) x86_64 GNU/Linux

      • jean

        11. Oktober 2018 at 19:16 Antworten

        jean@asuna:~$ uname -a
        Linux asuna 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64 GNU/Linux

        also working fine. Fan’s staying quiet.

        • Zenyan

          12. Oktober 2018 at 17:38 Antworten

          I already tested many kernel versions
          4.8
          4.12
          4.13
          4.15
          I had the issue on all of them
          Btw the CPUs seem to work normal and everything is at low temperature so it has nothing to do with overload or anything it’s just the fans go out of control when I resume from suspend !

          I am just avoiding suspend and shut down the laptop. this morning I was on battery and the laptop went into sleep and the issue is still there after resume which got me annoyed for a bit xD but other than that everything is working just fine.

          I appreciate your response. if you ever stumble upon something similar please let me know. Thanks a lot.

          • jean

            12. Oktober 2018 at 21:17

            any special sysctl or kernel-parameters (boot) you’re using? any specific driver? Are you using the nvidia card directly all the time or bumblebee? Did you check the temperature of the nvidia card?

        • Zenyan

          13. Oktober 2018 at 23:48 Antworten

          I am a bit embarrassed to say that I tried so hard to get the GPU temperature lm-sensors doesn’t seem to be able to detect it.
          I tried nvidia-smi :

          $ nvidia-smi
          NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

          and nvidia-settings doesn’t show much as if it doesn’t detect the dirver either…

          I don’t really remember how I got ubuntu to work. I think what i did is I booted with nomodeset the first time then i purged all nvidia-* installed packages.

          Now I don’t use any kernel parameters and don’t use propietry driver, I don’t know if it’s nouveau that is used now but yeah I have bumble bee installed ( and i haven’t tried to run anything with optirun yet )

          • jean

            14. Oktober 2018 at 10:15

            root@asuna:~# dmesg | grep disc
            [ 9.198736] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP
            [ 9.353087] bbswitch: disabling discrete graphics

            If bumblebee / optirun is working correctly you can check the temperature in the nvidia-settings tab:

            jean@asuna:~$ optirun -b none nvidia-settings -c :8

            And you’ll notice that the card is turned on in dmesg when doing so:

            [ 3929.727835] bbswitch: enabling discrete graphics

            However, setting up bumblebee correctly and primusrun is a nightmare. Took me a few days. Check „INTEL+NVIDIA HYBRID USING BUMBLEBEE / OPTIRUN / PRIMUSRUN“ on https://jeanbruenn.info/2018/04/01/omen-hp-with-linux/

          • Zenyan

            24. Oktober 2018 at 14:43

            Hello Jean,

            I have been busy with work lately. I ended up installing the proprietary nvidia-driver to solve this problem and removed Bumblebee. now I can suspend and resume without any problems. I disabled the graphics card for the moment. I will give it another shot later if I need it and have enough time.

            Thank you so much for your help.

          • jean

            25. Oktober 2018 at 20:53

            You’re welcome, let me know if you stumble upon the solution 🙂

Post a Comment