Trackpad and speaker issues with HP ENVY x360 Laptop 15-ey0754ng

Hello everybody. I really wanted to submit an HCL report saying that this device is working with Qubes 4.1.2 and the new kernel (older Qubes versions always resulted in a kernel panic before installation) but I am still having some issues. I wanted to ask the community if somebody might have an idea to fix the problems before reporting this device as not fully compatible.

Device: HP ENVY x360 15-ey0754ng
CPU: AMD Ryzen 5 5625U / 2,3 GHz
Video: AMD Radeon RX Vega 7
Sound: Audio by Bang & Olufsen ICEpower
SSD: 512GB PCIe
RAM: 16GB (DDR4 SDRAM - PC4-25600 - 3200 MHz)

1st trackpad (and touchscreen) are not recognized

I didn’t expect the touchscreen to work, but the trackpad would be very helpful. The trackpad is not recognized as a USB device in “sys-usb” nor as an input device (like the keyboard) by dom0. Other Linux distros (tested with Ubuntu and Fedora) can use the trackpad without any problems.

I’ve used the command hwinfo in Ubuntu to check how the device is connected and it returned the following:

...
*-input:14
     product: SYNA32CB:00 06CB:CE7D Mouse
     physical id: 10
     logical name: input34
     logical name: /dev/input/event14
     logical name: /dev/input/mouse3
     capabilities: i2c
*-input:15
product: SYNA32CB:00 06CB:CE7D Touchpad
     physical id: 11
     logical name: input35
     logical name: /dev/input/event15
     logical name: /dev/input/mouse4
     capabilities: i2c
...

I’ve tested assigning the PCI-device dom0:00_14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (found via qvm-devices pci list) to “sys-usb” which I assumed handles the i2c devices, but the trackpad was still not recognized.

2nd the speaker of the system is recognized but doesn’t play sound

I can select the speaker and I’m seeing the amplitudes in the audio manager, but nothing is coming from the speaker itself. Connecting headphones to the 3.5mm jack works perfectly. I first thought they might be faulty, but when entering the BIOS they are beeping…

I tried my best to find solutions to my problems, but I failed. I’m thankful for any suggestions.

Phil

Hi,
for the trackpad, if last kernel doesn’t work, maybe a driver issue ? or policies rules ?
Laptop hardware connection are manufacturer specific …

If it was my laptop, i would try some searches like:
https://forum.qubes-os.org/search?q=trackpad
https://www.startpage.com/do/search?q=qubes+i2c+trackpad
https://www.startpage.com/do/search?q=HP+ENVY+x360+15+trackpad+not+working

Did you figured out ?

For audio, well, hard to tell, let’s do with the generic answer: driver problem :slight_smile:
(Open a new topic for the audio issue, focus this one on the trackpad …)

Hi, thank you for your ideas.
I agree, there are probably some issues with the drivers…
I have been unable to find a workaround yet, but I am still testing and will update the thread as soon as something fixes my problems. Maybe a future update.
Using the device with headphones and a mouse works so far, but for traveling the touchpad would be nice.
After I resolve the touchpad problem, I will mark this thread as solved and open another one for the audio. That’s a good idea.

Wasn’t sure if you was talking about trackpad or touchpad.
Touchpad sound more logical…

Yours (touchpad) is probably connected via usb (if its was via PS/2 it would have worked).
Its must be dom0 policies related, to allow your touchpad as you allow a usb keyboard.
I’m not 100% sure, as I do not have a usb touchpad (if its the issue).

https://www.qubes-os.org/doc/usb-qubes/
https://www.qubes-os.org/doc/rpc-policy/ (see the 4.1 article)

edit:
reading again, if your Touchpad is not detected, my answer is not very helpful.
what say dmesg or journalctl ?
Maybe give a try to the 4.2rc ?

Sorry for the confusion, I mixed the terms up.
But to clarify booth devices are not recognized:

  • The touchscreen inside the display (which I expected)
  • The trackpad build inside the device, located beneath my keyboard (which I really want to fix)

Even if the devices are not recognized I checked the policies, but with no success. I’ve added sys-usb dom0 ask,user=root,default_target=dom0 (found in qubes.InputMouse) to qubes.InputTablet but sadly no changes.

I’ve also checked dmesg and journalctl (links below - just for documentation, I am pretty sure you would like to spend your time with other things than digging through other people’s logs). I was not able to spot any problems besides the ones listed below but truth be told I am not so familiar with this level of the OS.

  • An ACPI BIOS Warning (bug): Incorrect checksum in table
  • At 3.285496 ccp is unable to access a device. But I don’t think it is an input device.
  • At 20.003154 a SMBus base address mapping failed
    dmesg (PrivateBin)
    journalctl (PrivateBin)

Testing the 4.2rc is also a good option. As soon as everything is configured to my needs I will make a backup of the system and try the newest build.

Thank you again!

Just to be sure, you have choose the lastest-kernel option when installed.

from dmesg and journalctl:

[ 27.477635] and Apr 02 17:04:33
pciback 0000:04:00.4: xen-pciback: Driver tried to write to a read-only configuration space field at offset 0x2a6, size 2. This may be harmless, but if you have problems with your device:
1) see permissive attribute in sysfs
2) report problems to the xen-devel mailing list along with details of your device obtained from lspci.

with quick search, I also think i2c are handle by
dom0:00_14.0 SMBus: Advanced Micro Devices […]

Not sure if the pciback refer to the touchpad, but you can try to add:
permissive=true only, and/or with no-strict-reset=true to the pci passthrough.
https://www.qubes-os.org/doc/how-to-use-pci-devices/#additional-attach-options

from dmseg

you appear to use rd.qubes.hide_all_usb.
If i2c use some wrapper including usb things, this could hide the touchpad.
(info about hide_all_usb are in the usb-qubes doc).
Wild idea of course …

[ 2.154656] i8042: PNP: PS/2 Controller [PNP0303:KBC0] at 0x60,0x64 irq 1
[ 2.154658] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[ 2.155048] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 2.155156] mousedev: PS/2 mouse device common for all mice

Don’t know what is it, but mouse is mentioned.

from journalctl:

Apr 02 17:04:39 dom0 qrexec-policy-daemon[2104]: qrexec: qubes.InputKeyboard: sys-usb → dom0: denied: no matching rule found

Unlikely, but who knows, if touchpad is somehow declaring itself as keyboard,
but not enought to be detected as such by Qubes OS or kernel ?
Probably not, at last resort, you can dig into this ^^

the rd.qubes.hide_all_usb is probably not the cause.

new keyword search:
https://www.startpage.com/do/search?q=qubes+touchpad+not+detected

from abandonned topic:
https://forum.qubes-os.org/t/qubes-users-problems-with-trackpad-during-installation/481

ls /sys/module/psmouse/driver/*/ may also give useful information -

e.g. from me:

[user@dom0 ~]$ cat /sys/module/psmouse/drivers/serio\:psmouse/description 
PS/2 mouse driver

https://github.com/QubesOS/qubes-issues/issues/5486
what say : sudo libinput list-devices ? not detected ?

some other keyword:
https://www.startpage.com/do/search?q=hp+envy+linux+touchpad+not+detected
https://developers.hp.com/hp-client-management/forum/touchpad-does-not-work-after-installing-ubuntu-2004-hp-laptop

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash psmouse.proto=bare"
GRUB_CMDLINE_LINUX="i8042.reset i8042.nomux i8042.nopnp i8042.noloop"

everything is not need I guess, in your log you have something similar:

[ 2.154658] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp

By the way, what was the kernel version used with your hwinfo in Ubuntu ?
I suppose your BIOS is up to date as well.

Thank you so much for your time and suggestions.
I needed some time to work through everything.

I double-checked the installed kernel. Yes, it is the latest. Qubed did not allow me to update it

sudo qubes-dom0-update kernel-latest
Using sys-firewall as UpdateVM to download updates for Dom0; this may take some time...
Qubes OS Repository for Dom0			2.9MB/s | 3.0kB	00:00
Package kernel-latest-1000:6.1.12-1.qubes.fc32.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

qubes-prefs
check_updates_vm          D  True
clockvm                   -  sys-net
default_audiovm           D  dom0
default_dispvm            -  fedora-37-dvm
default_guivm             D  dom0
default_kernel            -  6.1.12-1.fc32
default_netvm             -  sys-firewall
default_pool              -  vm-pool
default_pool_kernel       -  linux-kernel
default_pool_private      D  vm-pool
default_pool_root         D  vm-pool
default_pool_volatile     D  vm-pool
default_qrexec_timeout    D  60
default_shutdown_timeout  D  60
default_template          -  fedora-37
management_dispvm         -  default-mgmt-dvm
stats_interval            D  3
updatevm                  -  sys-firewall

I applied the GRUB-Config and added the SMBus to sys-usb again.

nano /etc/default/grub
RUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=false
GRUB_TERMINAL_OUTPUT="gfxterm"
GRUB_CMDLINE_LINUX="rd.luks.uuid=luks-0c65cb5e-d2d0-474f-af0e-89c65050b234 rd.l>
GRUB_DISABLE_RECOVERY="true"
GRUB_THEME="/boot/grub2/themes/qubes/theme.txt"
GRUB_CMDLINE_XEN_DEFAULT="console=none dom0_mem=min:1024M dom0_mem=max:4096M uc>
GRUB_DISABLE_OS_PROBER="true"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX rd.qubes.hide_all_usb i8042.reset i8042>
GRUB_CMDLINE_LINUX_DEFAULT="psmouse.proto=bare"

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

vm-pci attach --option no-strict-reset=true --option permissive=true --persistent sys-usb dom0:00_14.0

Furthermore, I investigated the disabled keyboard. It seems like it is just a part of my USB mouse… There is also no other device in the list, which I could imagine as my trackpad.

sudo xinput
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ sys-usb: XiaoMi Mi Wireless Mouse       	id=11	[slave  pointer  (2)]
⎜   ↳ sys-usb: XiaoMi Mi Wireless Mouse Consumer Control	id=13	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=9	[slave  keyboard (3)]
    ↳ HP WMI hotkeys                          	id=10	[slave  keyboard (3)]
    ↳ sys-usb: XiaoMi Mi Wireless Mouse System Control	id=12	[slave  keyboard (3)]
    ↳ sys-usb: XiaoMi Mi Wireless Mouse Consumer Control	id=14	[slave  keyboard (3)]

sudo libinput list-devices
Device:           Power Button
Kernel:           /dev/input/event2
Group:            1
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Video Bus
Kernel:           /dev/input/event4
Group:            2
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Power Button
Kernel:           /dev/input/event0
Group:            3
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Lid Switch
Kernel:           /dev/input/event1
Group:            4
Seat:             seat0, default
Capabilities:     switch
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           AT Translated Set 2 keyboard
Kernel:           /dev/input/event3
Group:            5
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           HP WMI hotkeys
Kernel:           /dev/input/event10
Group:            6
Seat:             seat0, default
Capabilities:     keyboard switch
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           sys-usb: XiaoMi Mi Wireless Mouse
Kernel:           /dev/input/event11
Group:            7
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           sys-usb: XiaoMi Mi Wireless Mouse System Control
Kernel:           /dev/input/event12
Group:            8
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           sys-usb: XiaoMi Mi Wireless Mouse Consumer Control
Kernel:           /dev/input/event13
Group:            9
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a
# with qubes.InputKeyboard containing ys-usb dom0 ask,user=root,default_target=dom0

I also tried the psmouse/description command whose result looks like yours. I tried to update some drivers, too.

cat /sys/module/psmouse/drivers/serio\:psmouse/description
PS/2 mouse driver

sudo qubes-dom0-update xorg-x11-drv-synaptics-devel

I am not entirely sure, but I used Ubuntu 22.04.2 LTS to get the hwinfo results whose kernel version should be (based on a quick internet search) Linux 5.19. But the trackpad also worked with an installation of Fedora 37 using the kernel version 6.0.

Moreover, today I upgraded dom0 from 2001:4.14.5-19.fc32 to 2001:4.14.5-20.fc32`, but still nothing to report.

Until now I did not validate the BIOS ‘cause I trusted HP with shipping devices with a current version and I wanted to avoid using Windows on the device again (HP-Laptops’ BIOSs can only be upgraded via a Windows tool). I upgraded from BIOS version F.08 to the current F.11 and upgraded the touchscreen firmware on the fly. Nevertheless, no effect.

While using Windows 2 Go to update the BIOS I recognized, that the device’s speakers were not working, too. I am going to back up my Qubes now, then I will install Windows directly onto the device to validate, that the audio is working at all. Otherwise, there might be something internally broken and I have to return it. After I figured out if the speakers are working, I will test the latest dev build or just a fresh installation.

I will keep you updated. Thank you again for checking my logs and trying to help! I really appreciate your help.

I was a bit verbose with my explanation, with some wild (unnecessary) guesses.

This shouldn’t be needed.

The GRUB_CMDLINE_LINUX example wasn’t meant to be copy/paste,
its a quote of the hp.com topic. (don’t use the _DEFAULT suffix)

I don’t think you need the SMBus part, your touchpad is a PS/2 mouse driver.

The revelant part is:

[ 2.154658] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp

The first thing you need to try, as suggest by the log.

GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX i8042.nopnp"

# sudo grub2-mkconfig -o /boot/grub2/grub.cfg (legacy boot)
sudo grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg

If it doesn’t resolve the touchpad problem, you can try to add the other kernel options.
(1 by 1, or all at once, don’t know, didn’t dig)

GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX psmouse.proto=bare i8042.reset i8042.nomux i8042.nopnp i8042.noloop"

Hello again.

Today I found some time to play with my laptop again and I can report that I solved the trackpad issue. (As mentioned above I will deal with the audio problems in a different thread as soon as I proved that there is no hardware problem involved)

Just entering the grub arguments was not enough. I also switched dom0 updates to Unstable updates. But at least, I can use the trackpad now.

For other users with similar problems: This is my current GRUB configuration sudo nano /etc/default/grub applied via sudo grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg. But I am unsure if just switching the update channel is sufficient.


GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=false

GRUB_TERMINAL_OUTPUT="gfxterm"

GRUB_CMDLINE_LINUX="rd.luks.uuid=luks-0c65cb5e-d2d0-474f-af0e-89c65050b234 rd.lvm.lv=qubes_dom0/root rd.lvm.lv=qubes_dom0/swap plymouth.ignore-serial-consoles rd.driver.pre=btrfs rhgb quiet"

GRUB_DISABLE_RECOVERY="true"

GRUB_THEME="/boot/grub2/themes/qubes/theme.txt"

GRUB_CMDLINE_XEN_DEFAULT="console=none dom0_mem=min:1024M dom0_mem=max:4096M ucode=scan smt=off gnttab_max_frames=2048 gnttab_max_maptrack_frames=4096"

GRUB_DISABLE_OS_PROBER="true"

GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX rd.qubes.hide_all_usb i8042.nopnp i8042.reset i8042.nomux i8042.noloop"

I have to thank you again for your time, help, and patience, szz9pza. I’m sure I couldn’t have solved the problem without your ideas.

2 Likes