That is interesting! Can you share some of the context around it?
Yup, here’s an excerpt from dmesg around the input info and then also what
/proc/bus/input/devices contains (if that’s useful)
[ 1.602517] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12 [ 1.604593] i8042: Warning: Keylock active [ 1.609391] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 1.609393] serio: i8042 AUX port at 0x60,0x64 irq 12 [ 1.609530] mousedev: PS/2 mouse device common for all mice [ 1.609672] rtc_cmos 00:01: RTC can wake from S4 [ 1.612270] rtc_cmos 00:01: registered as rtc0 [ 1.612856] rtc_cmos 00:01: setting system clock to 2022-07-30T23:30:32 UTC (1659223832) [ 1.612863] rtc_cmos 00:01: alarms up to one month, y3k, 242 bytes nvram [ 1.614396] intel_pstate: Intel P-state driver initializing [ 1.616521] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0 [ 1.616776] intel_pstate: HWP enabled [ 1.617615] ledtrig-cpu: registered to indicate activity on CPUs [ 1.617720] efifb: probing for efifb [ 1.617737] efifb: framebuffer at 0x4000000000, using 13312k, total 13312k [ 1.617738] efifb: mode is 2256x1504x32, linelength=9024, pages=1 [ 1.617739] efifb: scrolling: redraw [ 1.617739] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0 [ 1.617845] Console: switching to colour frame buffer device 141x47 [ 1.620362] fb0: EFI VGA frame buffer device [ 1.626818] NET: Registered PF_INET6 protocol family [ 1.630031] Segment Routing with IPv6 [ 1.630033] In-situ OAM (IOAM) with IPv6 [ 1.630041] mip6: Mobile IPv6 [ 1.630042] NET: Registered PF_PACKET protocol family [ 1.630258] mpls_gso: MPLS GSO support [ 1.632218] microcode: sig=0x906a3, pf=0x80, revision=0x41d [ 1.633160] microcode: Microcode Update Driver: v2.2. [ 1.633165] IPI shorthand broadcast: enabled [ 1.633171] sched_clock: Marking stable (1612155931, 20043321)->(1649241394, -17042142) [ 1.633767] registered taskstats version 1 [ 1.633769] Loading compiled-in X.509 certificates [ 1.659276] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1' [ 1.659284] Loaded X.509 cert 'Debian Secure Boot Signer 2021 - linux: 4b6ef5abca669825178e052c84667ccbc0531f8c' [ 1.660951] zswap: loaded using pool lzo/zbud [ 1.661745] Key type ._fscrypt registered [ 1.661746] Key type .fscrypt registered [ 1.661747] Key type fscrypt-provisioning registered [ 1.664772] Key type encrypted registered [ 1.664776] AppArmor: AppArmor sha1 policy hashing enabled [ 1.667008] integrity: Loading X.509 certificate: UEFI:db [ 1.667044] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53' [ 1.667044] integrity: Loading X.509 certificate: UEFI:db [ 1.667052] integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4' [ 1.667052] integrity: Loading X.509 certificate: UEFI:db [ 1.667056] integrity: Loaded X.509 cert 'frame.work-LaptopADLDB: 02' [ 1.668501] ima: Allocated hash algorithm: sha256 [ 1.704392] ima: No architecture policies found [ 1.704405] evm: Initialising EVM extended attributes: [ 1.704406] evm: security.selinux [ 1.704407] evm: security.SMACK64 (disabled) [ 1.704407] evm: security.SMACK64EXEC (disabled) [ 1.704408] evm: security.SMACK64TRANSMUTE (disabled) [ 1.704408] evm: security.SMACK64MMAP (disabled) [ 1.704408] evm: security.apparmor [ 1.704409] evm: security.ima [ 1.704409] evm: security.capability [ 1.704410] evm: HMAC attrs: 0x1 [ 1.754268] Freeing unused decrypted memory: 2036K [ 1.754845] Freeing unused kernel image (initmem) memory: 2704K [ 1.777760] Write protecting the kernel read-only data: 24576k [ 1.778628] Freeing unused kernel image (text/rodata gap) memory: 2040K [ 1.779161] Freeing unused kernel image (rodata/data gap) memory: 1664K [ 1.787971] x86/mm: Checked W+X mappings: passed, no W+X pages found. [ 1.788077] Run /init as init process [ 1.788091] with arguments: [ 1.788097] /init [ 1.788099] with environment: [ 1.788100] HOME=/ [ 1.788100] TERM=linux [ 1.788100] BOOT_IMAGE=/boot/vmlinuz-5.18.0-3-amd64 [ 1.853451] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1e/PNP0C09:00/PNP0C0D:00/input/input2 [ 1.854362] ACPI: button: Lid Switch [LID0] [ 1.854564] ACPI: battery: Slot [BAT1] (battery present) [ 1.856137] hid: raw HID events driver (C) Jiri Kosina [ 1.857212] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input3 [ 1.860051] acpi PNP0C14:01: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:00) [ 1.863636] i801_smbus 0000:00:1f.4: SPD Write Disable is set [ 1.863812] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt [ 1.868797] ACPI: bus type thunderbolt registered [ 1.869825] i2c i2c-0: 2/2 memory slots populated (from DMI) [ 1.870616] ACPI: bus type USB registered [ 1.871080] usbcore: registered new interface driver usbfs [ 1.871476] usbcore: registered new interface driver hub [ 1.871569] i2c i2c-0: Successfully instantiated SPD at 0x50 [ 1.871831] usbcore: registered new device driver usb [ 1.873855] ACPI: button: Power Button [PWRB] [ 1.874244] ACPI: bus type drm_connector registered [ 1.881526] intel-lpss 0000:00:15.0: enabling device (0004 -> 0006) [ 1.881966] idma64 idma64.0: Found Intel integrated DMA 64-bit [ 1.883270] xhci_hcd 0000:00:14.0: xHCI Host Controller [ 1.883276] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1 [ 1.884507] xhci_hcd 0000:00:14.0: hcc params 0x20007fc1 hci version 0x120 quirks 0x0000000200009810 [ 1.884810] xhci_hcd 0000:00:14.0: xHCI Host Controller [ 1.884811] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2 [ 1.884812] xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed [ 1.884860] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.18 [ 1.884861] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.884862] usb usb1: Product: xHCI Host Controller [ 1.884863] usb usb1: Manufacturer: Linux 5.18.0-3-amd64 xhci-hcd [ 1.884864] usb usb1: SerialNumber: 0000:00:14.0 [ 1.885030] hub 1-0:1.0: USB hub found [ 1.885066] hub 1-0:1.0: 12 ports detected [ 1.888251] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.18 [ 1.888254] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.888255] usb usb2: Product: xHCI Host Controller [ 1.888256] usb usb2: Manufacturer: Linux 5.18.0-3-amd64 xhci-hcd [ 1.888257] usb usb2: SerialNumber: 0000:00:14.0 [ 1.888321] hub 2-0:1.0: USB hub found [ 1.888353] hub 2-0:1.0: 4 ports detected [ 1.888744] usb: port power management may be unreliable [ 1.890537] nvme 0000:01:00.0: platform quirk: setting simple suspend [ 1.890571] nvme nvme0: pci function 0000:01:00.0 [ 1.913862] intel-lpss 0000:00:15.1: enabling device (0004 -> 0006) [ 1.914284] idma64 idma64.1: Found Intel integrated DMA 64-bit [ 1.921149] nvme nvme0: 20/0/0 default/read/poll queues [ 1.926085] nvme0n1: p1 p2 p3 [ 1.937663] intel-lpss 0000:00:15.3: enabling device (0004 -> 0006) [ 1.938278] idma64 idma64.2: Found Intel integrated DMA 64-bit [ 2.109340] input: FRMW0001:00 32AC:0006 Wireless Radio Control as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input5 [ 2.109380] input: FRMW0001:00 32AC:0006 Consumer Control as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input6 [ 2.109393] input: FRMW0001:00 32AC:0006 as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input7 [ 2.109419] hid-generic 0018:32AC:0006.0001: input,hidraw0: I2C HID v1.00 Device [FRMW0001:00 32AC:0006] on i2c-FRMW0001:00 [ 2.109716] input: PIXA3854:00 093A:0274 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-PIXA3854:00/0018:093A:0274.0002/input/input8 [ 2.109765] input: PIXA3854:00 093A:0274 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-PIXA3854:00/0018:093A:0274.0002/input/input9 [ 2.110022] hid-generic 0018:093A:0274.0002: input,hidraw1: I2C HID v1.00 Mouse [PIXA3854:00 093A:0274] on i2c-PIXA3854:00 [ 2.174326] i915 0000:00:02.0: [drm] VT-d active for gfx access [ 2.174401] Console: switching to colour dummy device 80x25 [ 2.174427] i915 0000:00:02.0: vgaarb: deactivate vga console [ 2.174459] i915 0000:00:02.0: [drm] Transparent Hugepage mode 'huge=within_size' [ 2.175217] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem [ 2.175286] i915 0000:00:02.0: firmware: direct-loading firmware i915/adlp_dmc_ver2_14.bin [ 2.177191] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc_ver2_14.bin (v2.14) [ 2.183778] xhci_hcd 0000:00:0d.0: xHCI Host Controller [ 2.183785] xhci_hcd 0000:00:0d.0: new USB bus registered, assigned bus number 3 [ 2.184958] xhci_hcd 0000:00:0d.0: hcc params 0x20007fc1 hci version 0x120 quirks 0x0000000200009810 [ 2.185145] xhci_hcd 0000:00:0d.0: xHCI Host Controller [ 2.185148] xhci_hcd 0000:00:0d.0: new USB bus registered, assigned bus number 4 [ 2.185151] xhci_hcd 0000:00:0d.0: Host supports USB 3.2 Enhanced SuperSpeed [ 2.185215] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.18 [ 2.185218] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.185220] usb usb3: Product: xHCI Host Controller [ 2.185221] usb usb3: Manufacturer: Linux 5.18.0-3-amd64 xhci-hcd [ 2.185221] usb usb3: SerialNumber: 0000:00:0d.0 [ 2.185310] hub 3-0:1.0: USB hub found [ 2.185317] hub 3-0:1.0: 1 port detected [ 2.185485] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.18 [ 2.185491] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.185492] usb usb4: Product: xHCI Host Controller [ 2.185493] usb usb4: Manufacturer: Linux 5.18.0-3-amd64 xhci-hcd [ 2.185494] usb usb4: SerialNumber: 0000:00:0d.0 [ 2.185577] hub 4-0:1.0: USB hub found [ 2.185595] hub 4-0:1.0: 4 ports detected
I: Bus=0011 Vendor=0001 Product=0001 Version=ab83 N: Name="AT Translated Set 2 keyboard" P: Phys=isa0060/serio0/input0 S: Sysfs=/devices/platform/i8042/serio0/input/input0 U: Uniq= H: Handlers=sysrq kbd leds event0 B: PROP=0 B: EV=120013 B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe B: MSC=10 B: LED=7 I: Bus=0019 Vendor=0000 Product=0005 Version=0000 N: Name="Lid Switch" P: Phys=PNP0C0D/button/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1e/PNP0C09:00/PNP0C0D:00/input/input2 U: Uniq= H: Handlers=event1 B: PROP=0 B: EV=21 B: SW=1 I: Bus=0019 Vendor=0000 Product=0001 Version=0000 N: Name="Power Button" P: Phys=PNP0C0C/button/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input3 U: Uniq= H: Handlers=kbd event2 B: PROP=0 B: EV=3 B: KEY=10000000000000 0 I: Bus=0011 Vendor=0002 Product=0006 Version=0000 N: Name="ImExPS/2 Generic Explorer Mouse" P: Phys=isa0060/serio1/input0 S: Sysfs=/devices/platform/i8042/serio1/input/input4 U: Uniq= H: Handlers=mouse2 event5 B: PROP=1 B: EV=7 B: KEY=1f0000 0 0 0 0 B: REL=143 I: Bus=0019 Vendor=0000 Product=0006 Version=0000 N: Name="Video Bus" P: Phys=LNXVIDEO/video/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input10 U: Uniq= H: Handlers=kbd event6 B: PROP=0 B: EV=3 B: KEY=3e000b00000000 0 0 0 I: Bus=0003 Vendor=0bda Product=5634 Version=0021 N: Name="Laptop Camera: Laptop Camera" P: Phys=usb-0000:00:14.0-7/button S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/input/input11 U: Uniq= H: Handlers=kbd event3 B: PROP=0 B: EV=3 B: KEY=100000 0 0 0 I: Bus=0018 Vendor=093a Product=0274 Version=0100 N: Name="PIXA3854:00 093A:0274 Mouse" P: Phys=i2c-PIXA3854:00 S: Sysfs=/devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-PIXA3854:00/0018:093A:0274.0002/input/input12 U: Uniq= H: Handlers=mouse0 event4 B: PROP=2 B: EV=17 B: KEY=1 30000 0 0 0 0 B: REL=3 B: MSC=10 I: Bus=0018 Vendor=093a Product=0274 Version=0100 N: Name="PIXA3854:00 093A:0274 Touchpad" P: Phys=i2c-PIXA3854:00 S: Sysfs=/devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-PIXA3854:00/0018:093A:0274.0002/input/input13 U: Uniq= H: Handlers=mouse1 event7 B: PROP=5 B: EV=1b B: KEY=e520 30000 0 0 0 0 B: ABS=2e0800000000003 B: MSC=20 I: Bus=0001 Vendor=111d Product=7695 Version=0001 N: Name="HDA Digital PCBeep" P: Phys=card0/codec#0/beep0 S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input14 U: Uniq= H: Handlers=kbd event8 B: PROP=0 B: EV=40001 B: SND=6 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH Mic" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input15 U: Uniq= H: Handlers=event9 B: PROP=0 B: EV=21 B: SW=10 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH Headphone" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input16 U: Uniq= H: Handlers=event10 B: PROP=0 B: EV=21 B: SW=4 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=3" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input17 U: Uniq= H: Handlers=event11 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=7" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input18 U: Uniq= H: Handlers=event12 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=8" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input19 U: Uniq= H: Handlers=event13 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=9" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input20 U: Uniq= H: Handlers=event14 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=10" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input21 U: Uniq= H: Handlers=event15 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=11" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input22 U: Uniq= H: Handlers=event16 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=12" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input23 U: Uniq= H: Handlers=event17 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=13" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input24 U: Uniq= H: Handlers=event18 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=14" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input25 U: Uniq= H: Handlers=event19 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=15" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input26 U: Uniq= H: Handlers=event20 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=16" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input27 U: Uniq= H: Handlers=event21 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=17" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input28 U: Uniq= H: Handlers=event22 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0010 Vendor=001f Product=0001 Version=0100 N: Name="PC Speaker" P: Phys=isa0061/input0 S: Sysfs=/devices/platform/pcspkr/input/input29 U: Uniq= H: Handlers=kbd event23 B: PROP=0 B: EV=40001 B: SND=6
Yeah, it’s definitely there and getting assigned
input7! I wonder if the missing Sensor profile for
input7 is causing the entire device to be ignored…
A bit of backstory: The 12th Gen laptop exposes the ambient light sensor via HID the same way it exposes the RFKill and brightness keys–as a sensor usage page off of the I2C HID device with the ACPI name
It’s interesting that it says this in your kernel log:
input: FRMW0001:00 32AC:0006 Wireless Radio Control as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input5 input: FRMW0001:00 32AC:0006 Consumer Control as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input6 input: FRMW0001:00 32AC:0006 as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-FRMW0001:00/0018:32AC:0006.0001/input/input7 ^ Blank usage page name! ----/
Unfortunately it breaks some support on Linux due to the way the kernel loads libinput vs hid sensor class drivers. And fixing it properly would require a big kernel refactor.
I didn’t realize at the time, but this might be what he was talking about.
It may, for now, be a known issue.
this is a linux kernel problem that is kind of tricky to solve. As the way the linux kernel is written devices can be either registered as a hid-sensor or libinput device, but we have a compound device that is both.
If you look at dmesg on boot you will see the ec hid endpoint is registered as a libinput device and then taken over by the hid-sensor-hub driver.
I have a thread with some of the linux hid subsystem maintainers, and the conclusion is the way the Linux Kernel is currently written, we should just write a framework driver to support both.
Right now on linux the hid-sensor-hub removes support for input device nodes, so you can only use the ALS or keyboard hotkeys.
By default the ALS will work but hotkeys do not.
You can enable the hotkey support by blacklisting the hid-sensor-hub driver:
Add the following:
And then restart.
basically what happens is in drivers/hid/hid-sensor-hub.c in sensor_hub_probe if any part of the descriptor matches a HID_SENSOR_* device, then the entire device will become a sensor_hub device. And all of the endpoints will be unbound from being an input device.
So are we saying there’s an action item here:
Framework to update Linux guides for 12th gen boards? Already there.
Are we also saying there’s an action item here too:
Framework to develop driver to support both modes?
I guess I’m asking: What’s the path forward, and what does it mean?
Oh I figured it out! It is the last step in this guide: Fedora 36 Installation on the Framework Laptop - Framework Guides
There is one known issue that is specific to systems with 12th Gen Intel Core. The ALS and the brightness up/down keys conflict on currently shipping kernels. You can disable the ALS to restore brightness up/down functionality with the following command (making sure you’ve first updated your packages to get the latest kernel available):
sudo grubby --update-kernel=ALL --args="module_blacklist=hid_sensor_hub"
After running the command, you need to restart the computer
Thank you for the background, the technical details are super interesting.
Since it sounds like either the hotkeys will work or the ambient light sensor will work at the moment and not both, I’m going to keep the ambient light sensor functionality since I can still adjust it manually if needed.
But thanks for the workaround if others would rather have the hotkeys, and looking forward to when they both work!
So basically we need a driver? Is Framework Computer interested in investing money, making the driver?
If not, can this be solved at the EC level by modifying what it sends (or it would be incompatible with windows)?
For me, I never liked the ALS functions too much, so I will stick with it disabled on my 12th gen batch 2 (if by that time, Framework Computer hasn’t made a driver for it)
I was able to reproduce this issue on both Fedora 36 and Windows 11.
I upgraded from the 11th gen i7-1165G7 to the 12th gen i7-1260P and found that the brightness buttons don’t work.
The problem was resolved in Windows 11 after installing the driver bundle. No fix in Fedora 36 however.
@Kieran_Levin I guess you meant (note the
_ instead of
Update: on Ubuntu 22.04, I also had to run
update-initramfs -u before the reboot for the changes to take effect.
Unfortunately blacklisting the kernel module didn’t do the trick. It did get blacklisted, as evident by the output of
lsmod, but the brightness keys aren’t detected by KDE Plasma and
xinput on Arch Linux.
@ConfuSomu It’s working here on my Arch, did you forget to run
mkinitcpio -p linux ?
Just to confirm black-listing the
hid_sensor_hub as described above along with running the
update-initramfs -u before the reboot fixed both screen brightness buttons and the airplane mode button on Ubuntu 22.04 LTS.
Thanks everyone for the thread.No further issues on my 12gen Intel MOBO upgrade.everything seems to be working as far as I can tell since yesterday.
@ConfuSomu It’s working here on my Arch, did you forget to run
mkinitcpio -p linux?
I’m on Arch Linux as well and tried both
each followed by
sudo mkinitcpio -p linux, shutting down the laptop and booting it up again. Unfortunately neither worked (I checked with
sudo evtest /dev/input/event2 and verified that nothing happens when press the brightness up/down keys.)
I get a few warnings during
sudo mkinitcpio -p linux about ‘Possibly missing firmware …’; could that have anything to do with the problem?
If your input devices are anything like mine where 2 is the keyboard then you’re testing the wrong device. The brightness buttons are on a different input device. On my machine it’s
I think I had to fix the permissions as well of the backlight device.
I’ve added my user to the video group and created the following udev rule to make it permanent:
SUBSYSTEM=="backlight", ACTION=="add", \ RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness", \ RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness",
Probably not but depends what exactly is missing. On newer kernels it usually shows up for amdgpu but that doesn’t matter.
Thanks @apol1o ! Worked like a charm.
As anyone sent a ticket to Framework for it to be corrected ?
For me it is anoying because in the morning I want to set it below 3% and I am afraid to set it to 0 and then to get a dark screen. Without a hardware key to set it back !
What’s the point of a ticket to Framework? Since @Kieran_Levin posted about it, Framework definitely knows about the problem and gave a simple to implement workaround.
If you want it to work OOTB you’re best off submitting a ticket to your distro since if you want a fix that works automatically you’d not only need to release an upstream kernel patch, but also would need to make sure your distro adopts it and rolls it out in an auto-update.
I’d suggest you just use the workaround as the easiest and fastest way to fix things, but in case you do get your backlight stuck at 0% you could also learn the shortcut to open a terminal and make sure you have a command line app like
light to change the backlight (this of course can be done through SSH or sending a value to the proper sysfs device path as well. I’d suggest SSH is a better option than typing blind). I’ve also noticed that if the backlight is set to 0% and I suspend the laptop it tends to come back at 100%, but maybe that’s a peculiarity of how Arch does suspend/resume.
ADIT 13rd sept : updated the ubuntu 22 default kernel via update center… today and now nowit works on 5.15 ! (?)
EDIT: booting on kernel 5.15 instead of 5.18 reset the behaviour. Trying to do sudo update-initramfs -u again and reboot but it didn t work with htis kernel
So it worked for me on Ubunru Mate 22.04 using kernel 5.18
sudo nano /etc/modprobe.d/framework-als-blacklist.conf
=> it creates an empty file.
Then do :
sudo update-initramfs -u
What a joy to have a fully functionnal Framework laptop ! I tend to use brightness every 30 minutes especially in the morning.