Hi Maxim, Thank you for the detailed debugging and information. The BIOS upgrade should have not affected the tablet mode behaviour. Unfortunately, HP does not have an official process to support HP Dragonfly G2 under Linux that I am aware of with exception of a few HP team members. Nonetheless, this is unacceptable, and I will forward the information to the BIOS team for them to investigate. Personally, I work in a different team so I will try to get a patch out depending on BIOS team response. Regards, Jorge Lopez Hewlett-Packard "Once you stop learning, you start dying" Albert Einstein > -----Original Message----- > From: Maxim Mikityanskiy <maxtram95@xxxxxxxxx> > Sent: Tuesday, February 7, 2023 8:07 AM > To: Lopez, Jorge A (Security) <jorge.lopez2@xxxxxx>; Alex Hung > <alexhung@xxxxxxxxx>; Hans de Goede <hdegoede@xxxxxxxxxx>; Mark > Gross <markgross@xxxxxxxxxx>; platform-driver-x86@xxxxxxxxxxxxxxx > Cc: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>; Mario Limonciello > <mario.limonciello@xxxxxxx>; Barnabás Pőcze <pobrn@xxxxxxxxxxxxxx>; > Rishit Bansal <rishitbansal0@xxxxxxxxx>; Enver Balalic > <balalic.enver@xxxxxxxxx> > Subject: Firmware upgrade broke SW_TABLET_MODE on HP Dragonfly G2 > > CAUTION: External Email > > 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