Firmware upgrade broke SW_TABLET_MODE on HP Dragonfly G2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I use HP Dragonfly G2, Arch linux, kernel 6.1.9, and I upgraded the
firmware from 1.9.1 to 1.11 (using fwupdmgr/LVFS), and this upgrade
broke tablet mode detection on my laptop. I did some debugging, and
that's what I found:

1. On both firmware versions: hp-wmi registers SW_TABLET_MODE, but never
reports events. Although HPWMI_EVENT_GUID is present on my system,
hp_wmi_notify never gets any events of any kind. Good thing is that at
least hp_wmi_get_tablet_mode (/sys/devices/platform/hp-wmi/tablet) works
on my laptop.

2. "Intel HID switches" is the device that reports actual SW_TABLET_MODE
events on firmware 1.9.1, but not anymore on firmware 1.11.
SW_TABLET_MODE is registered after the first event (by auto_add_switch,
on firmware 1.9.1 only).

3. SW_TABLET_MODE reported by "Intel HID switches" (on firmware 1.9.1)
differs from /sys/devices/platform/hp-wmi/tablet, when the laptop is not
fully folded, but put into a stand position (the hinge is open more than
180°, the keyboard faces the table). The reason is because hp-wmi only
treats system_device_mode[0] == 6 as tablet, but 5 (stand mode) isn't
included, while "Intel HID switches" report SW_TABLET_MODE = 1 in the
stand mode.

I'm pretty sure about my findings, I flashed each of these two firmware
versions again and tested what happens in hp-wmi and intel/hid, of
course without changing any software versions.

Regarding point 3, I can send a patch for hp-wmi, but it's not going to
be useful for my laptop because of point 1, and I can't be fully sure it
doesn't break other HP laptops (unless Jorge confirms?).

Now back to the main topic. There are two directions that I see:

1. Fix the regression in the firmware and make Intel HID switches work
again. Unfortunately, I didn't have success reporting the firmware bug
via HP customer support, and they don't seem to admit the bug or even
having uploaded their firmware to LVFS. If Jorge (or anyone else on the
mailing list) could give me some contact of a person responsible for
firmware on LVFS or the proper way to file a bug report, I would highly
appreciate it. Maybe Alex has an idea why intel/hid could stop working?

2. Somehow tweak hp-wmi to start getting events on my laptop and switch
to SW_TABLET_MODE reports from hp-wmi (also fixing the stand mode
reports). For this, I would need help from Jorge (or someone who knows
HP laptop internals), I don't have ideas why it might be broken for me.

I will appreciate any help, and I'm happy to provide additional
information if needed.

Thanks,
Max



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux