From: Miguel Landaeta Subject: Re: chromebook keyboards To: tech@openbsd.org Date: Thu, 10 Oct 2024 18:40:43 +0000 On Tue, Oct 08, 2024 at 06:41:36PM +0000, Miod Vallat wrote: > > [...] > > If you have a laptop with non-functioning keyboard and this diff does > not help, disassemble its DSTD (follow instructions in acpidump(8)) and > check which HID name is used for the PNP0303 device; if it's neither > "GOOG000A" nor "MSFT0001", try adding it to sys/dev/acpi/pckbc_acpi.c > and report whether it helps (and also the PS2K part of your DSDT > disassembly). I have this type of hardware and I reported that bug on chromebooks before [1], so I gave it a try but I'm not sure why it didn't help (the driver is not attaching because it doesn't find interrupt info on the attach args). I got this message during boot: pckbc1 at acpi0: no interrupt And the keyboard is still super laggy. Please see below the ACPI disassembly for PNP0303 device and full dmesg from 7.6-current with the patch from this thread applied. I can provide more debugging info if needed. 1. https://marc.info/?l=openbsd-bugs&m=169030217301737&w=2 ACPI: [...] Scope (^^PCI0) { Device (PS2K) { Name (_UID, Zero) // _UID: Unique ID Name (_HID, "GOOG000A") // _HID: Hardware ID Name (_CID, Package (0x02) // _CID: Compatible ID { EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */, EisaId ("PNP030B") }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPNC", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } }) } } } [...] OpenBSD 7.6-current (MIGUEL.MP) #0: Thu Oct 10 17:14:05 UTC 2024 miguel@jehnny.nomadium.net:/sys/arch/amd64/compile/MIGUEL.MP real mem = 4215709696 (4020MB) avail mem = 4064727040 (3876MB) random: good seed from bootblocks mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 3.0 @ 0x1fef3000 (19 entries) bios0: vendor coreboot version "MrChromebox-4.20.0" date 05/15/2023 bios0: GOOGLE Kefka efi0 at bios0: UEFI 2.7 efi0: EDK II rev 0x10000 acpi0 at bios0: ACPI 6.0 acpi0: sleep states S0 S1 S3 S4 S5 acpi0: tables DSDT FACP SSDT MCFG TCPA APIC HPET TCPA BGRT acpi0: wakeup devices XHCI(S3) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimcfg0 at acpi0 acpimcfg0: addr 0xe0000000, bus 0-255 acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Celeron(R) CPU N3060 @ 1.60GHz, 2480.33 MHz, 06-4c-04, patch 00000411 cpu0: cpuid 1 edx=bfebfbff ecx=43d8e3bf cpu0: cpuid 6 eax=7 ecx=9 cpu0: cpuid 7.0 ebx=2282 edx=c000400 cpu0: cpuid a vers=3, gp=2, gpwidth=40, ff=3, ffwidth=40 cpu0: cpuid 80000001 edx=28100800 ecx=101 cpu0: cpuid 80000007 edx=100 cpu0: MELTDOWN cpu0: 24KB 64b/line 6-way D-cache, 32KB 64b/line 8-way I-cache, 1MB 64b/line 16-way L2 cache cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges cpu0: apic clock running at 79MHz cpu0: mwait min=64, max=64, C-substates=0.2, IBE cpu1 at mainbus0: apid 4 (application processor) cpu1: Intel(R) Celeron(R) CPU N3060 @ 1.60GHz, 2480.70 MHz, 06-4c-04, patch 00000411 cpu1: smt 0, core 2, package 0 ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 115 pins acpihpet0 at acpi0: 14318179 Hz acpiprt0 at acpi0: bus 0 (PCI0) acpiec0 at acpi0 acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001 acpibtn0 at acpi0: LID0 acpiac0 at acpi0: AC unit online acpibat0 at acpi0: BAT0 model "DELL FY" serial 01DA type LION oem "BYD" "GOOG0004" at acpi0 not configured acpicmos0 at acpi0 pckbc1 at acpi0: no interrupt "INTL9C60" at acpi0 not configured "INTL9C60" at acpi0 not configured dwiic0 at acpi0 I2C1 addr 0x91320000/0x1000 irq 32 iic0 at dwiic0 "ELAN0001" at iic0 addr 0x10 not configured dwiic1 at acpi0 I2C5 addr 0x91324000/0x1000 irq 36 iic1 at dwiic1 "10EC5650" at iic1 addr 0x1a not configured dwiic2 at acpi0 I2C6 addr 0x91326000/0x1000 irq 37 iic2 at dwiic2 ietp0 at iic2 addr 0x15 , can't establish interrupt "808622A8" at acpi0 not configured tpm0 at acpi0 TPM_ 1.2 (TIS) addr 0xfed40000/0x5000, Infineon SLB9635 1.2 rev 0x10 chvgpio0 at acpi0 GPSW uid 1 addr 0xfed80000/0x8000 irq 49, 56 pins chvgpio1 at acpi0 GPNC uid 2 addr 0xfed88000/0x8000 irq 48, 59 pins chvgpio2 at acpi0 GPEC uid 3 addr 0xfed90000/0x8000 irq 50, 24 pins chvgpio3 at acpi0 GPSE uid 4 addr 0xfed98000/0x8000 irq 91, 55 pins "INT3400" at acpi0 not configured "INT3403" at acpi0 not configured "INT3403" at acpi0 not configured "INT3403" at acpi0 not configured "INT3403" at acpi0 not configured acpicpu0 at acpi0: C2 bad (state 6 has no substates): C3 bad (state 6 has no substates): C1(1000@1 mwait.1), PSS acpicpu1 at acpi0: C2 bad (state 6 has no substates): C3 bad (state 6 has no substates): C1(1000@1 mwait.1), PSS "BOOT0000" at acpi0 not configured acpipwrres0 at acpi0: PLPE acpivideo0 at acpi0: GFX0 cpu0: using VERW MDS workaround cpu0: Enhanced SpeedStep 2480 MHz: speeds: 1601, 1600, 1520, 1440, 1360, 1280, 1200, 1120, 1040, 960, 880, 800, 720, 640, 560, 480 MHz pci0 at mainbus0 bus 0 iosf0 at pci0 dev 0 function 0 "Intel Braswell Host" rev 0x35: mbi inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics" rev 0x35 drm0 at inteldrm0 inteldrm0: msi, CHERRYVIEW, gen 8 "Intel Braswell Power" rev 0x35 at pci0 dev 11 function 0 not configured sdhc0 at pci0 dev 16 function 0 vendor "Intel", unknown product 0x2294 rev 0x35: apic 1 int 19 sdhc0: SDHC 3.00, 200 MHz base clock sdmmc0 at sdhc0: 8-bit, sd high-speed, mmc high-speed, ddr52, dma sdhc1 at pci0 dev 18 function 0 vendor "Intel", unknown product 0x2296 rev 0x35: apic 1 int 18 sdhc1: SDHC 3.00, 200 MHz base clock sdmmc1 at sdhc1: 4-bit, sd high-speed, mmc high-speed, ddr52, dma xhci0 at pci0 dev 20 function 0 "Intel Braswell xHCI" rev 0x35: msi, xHCI 1.0 usb0 at xhci0: USB revision 3.0 uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1 azalia0 at pci0 dev 27 function 0 "Intel Braswell HD Audio" rev 0x35: msi azalia0: no supported codecs ppb0 at pci0 dev 28 function 0 "Intel Braswell PCIE" rev 0x35: msi pci1 at ppb0 bus 1 ppb1 at pci0 dev 28 function 2 "Intel Braswell PCIE" rev 0x35: msi pci2 at ppb1 bus 2 iwm0 at pci2 dev 0 function 0 "Intel AC 7265" rev 0x61, msi pcib0 at pci0 dev 31 function 0 "Intel Braswell PCU LPC" rev 0x35 isa0 at pcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 irq 1 irq 12 pckbd0 at pckbc0 (kbd slot) wskbd0 at pckbd0: console keyboard pcppi0 at isa0 port 0x61 spkr0 at pcppi0 vmm0 at mainbus0: VMX/EPT (using slow L1TF mitigation) efifb at mainbus0 not configured scsibus1 at sdmmc0: 2 targets, initiator 0 sd0 at scsibus1 targ 1 lun 0: , 0000> removable sd0: 29820MB, 512 bytes/sector, 61071360 sectors umass0 at uhub0 port 2 configuration 1 interface 0 "Generic Mass Storage" rev 2.10/0.02 addr 2 umass0: using SCSI over Bulk-Only scsibus2 at umass0: 2 targets, initiator 0 sd1 at scsibus2 targ 1 lun 0: removable serial.058f6387101110340029 sd1: 29600MB, 512 bytes/sector, 60620800 sectors uhidev0 at uhub0 port 3 configuration 1 interface 0 "Microchip Technology Inc. Composite HID + CDC, APP-ESS14-1" rev 2.00/0.01 addr 3 uhidev0: iclass 3/0 uhid0 at uhidev0: input=64, output=64, feature=0 umodem0 at uhub0 port 3 configuration 1 interface 1 "Microchip Technology Inc. Composite HID + CDC, APP-ESS14-1" rev 2.00/0.01 addr 3 umodem0: data interface 2, has no CM over data, has no break umodem0: status change notification available ucom0 at umodem0: usb0.0.00003.2 uvideo0 at uhub0 port 4 configuration 1 interface 0 "CNFFH36O13542012B742 Integrated Webcam" rev 2.00/65.10 addr 4 video0 at uvideo0 ugen0 at uhub0 port 5 "Intel Bluetooth" rev 2.00/0.03 addr 5 vscsi0 at root scsibus3 at vscsi0: 256 targets softraid0 at root scsibus4 at softraid0: 256 targets root on sd0a (7ee9d14a3a66206f.a) swap on sd0b dump on sd0b inteldrm0: 1366x768, 32bpp wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0 wsdisplay0: screen 1-5 added (std, vt100 emulation) iwm0: hw rev 0x210, fw ver 17.3216344376.0, address 38:xx:xx:xx:xx:xx