Skip to content

Add quirk entry for Acer Predator PHN16S-71#16

Open
mariuszkopowski wants to merge 1 commit into
PXDiv:mainfrom
mariuszkopowski:patch-1
Open

Add quirk entry for Acer Predator PHN16S-71#16
mariuszkopowski wants to merge 1 commit into
PXDiv:mainfrom
mariuszkopowski:patch-1

Conversation

@mariuszkopowski

Copy link
Copy Markdown

Hi, I have a Predator PHN16S-71. Sadly, the driver does not support it, but I have tested it using DAMX. When loaded, all features work except the keyboard RGB and RGB mode. Everything else works perfectly. Hence, I'm adding support for PHN16S-71 based on PHN16-71.

@papodesysadmin

Copy link
Copy Markdown

Related finding: PHN16-73 RGB static requires I2C-HID (ENEK5130), not WMI

Sharing this in case it applies to PHN16S-71 as well (same predator_v4 generation).

On the PHN16-73, WMI method 6 (static RGB) and method 20 (dynamic with mode=0) both return AE_OK but produce zero visual change. Dynamic effects (modes 1-8) work fine — only static color is broken via WMI.

What actually works

The RGB controller on these newer models is an I2C-HID device (ENEK5130):

HID_ID=0018:00000CF2:00005130
HID_NAME=ENEK5130:00 0CF2:5130
Bus: I2C-HID
Device: /dev/hidraw2

Static color via ioctl(fd, HIDIOCSFEATURE, packet):

# Packet: a4 21 02 64 00 00 RR GG BB brightness 00
packet = bytes([0xa4, 0x21, 0x02, 0x64, 0x00, 0x00, R, G, B, brightness, 0x00])
fd = os.open("/dev/hidraw2", os.O_RDWR)
HIDIOCSFEATURE = 0xC0004806 | (len(packet) << 16)
fcntl.ioctl(fd, HIDIOCSFEATURE, packet)

Tested: all colors work, changes reliably. Limitation: one color for entire keyboard (no per-zone via HID).

Implication for the kernel module

For models with ENEK5130, the gkbbl_static sysfs path is effectively dead code for RGB. These models need either:

  1. A new sysfs interface routing to HID instead of WMI
  2. Or documentation that userspace should use hidraw directly

Check if PHN16S-71 has ENEK5130

cat /sys/class/hidraw/hidraw*/device/uevent | grep ENEK

If it shows ENEK5130, the same HID approach should work.

References

@mariuszkopowski

Copy link
Copy Markdown
Author

HID_NAME=ENEK5130:00 0CF2:5130
HID_PHYS=i2c-ENEK5130:00

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants