El día martes, septiembre 05, 2023 a las 03:24:30p. m. -0600, Warner Losh escribió:
> On Tue, Sep 5, 2023 at 2:22 PM Steve Kargl <s...@troutmask.apl.washington.edu> > wrote: > > > On Tue, Sep 05, 2023 at 01:29:34PM -0600, Warner Losh wrote: > > > + /* > > > + * Some Chromebooks don't confirm to the google comment above so do > > the > > > > s/confirm/conform ? > > > > > > > + * Chromebook workaround for all <= 2018 coreboot systems that have > > a > > > + * 'blank' version. At least once Acer "Peppy" chromebook has this > > > issue, > > > > s/once/one ? > > > > Yes. Thanks! Dashed off the comment in a hurry since I wanted to get the > patch out > there in a hurry... But that was kinda sloppy of me.. fixed. I've had to apply the patch manually (attached as context diff). With this the keyboard works also fine. Thanks matthias -- Matthias Apitz, ✉ g...@unixarea.de, http://www.unixarea.de/ +49-176-38902045 Public GnuPG key: http://www.unixarea.de/key.pub
*** /usr/src/sys/dev/atkbdc/atkbdc.c.ORIG Sat Aug 5 12:50:44 2023 --- /usr/src/sys/dev/atkbdc/atkbdc.c Wed Sep 6 07:08:49 2023 *************** *** 149,154 **** --- 149,155 ---- char *maker = kern_getenv("smbios.system.maker"); char *product = kern_getenv("smbios.system.product"); char *version = kern_getenv("smbios.bios.version"); + char *reldate = kern_getenv("smbios.bios.reldate"); for (i = 0; i < nitems(quirks); i++) if (QUIRK_STR_EQUAL(quirks[i].bios_vendor, bios_vendor) && *************** *** 156,161 **** --- 157,173 ---- QUIRK_STR_EQUAL(quirks[i].product, product) && QUIRK_STR_MATCH(quirks[i].version, version)) return (quirks[i].quirk); + + /* + * Some Chromebooks don't conform to the google comment above so do the + * Chromebook workaround for all <= 2018 coreboot systems that have a + * 'blank' version. At least one Acer "Peppy" chromebook has this issue, + * with a reldate of 08/13/2014. + */ + if (QUIRK_STR_EQUAL("coreboot", bios_vendor) && + (version != NULL && *version == ' ') && + (reldate != NULL && strlen(reldate) >= 10 && strcmp(reldate + 6, "2018") <= 0)) + return (CHROMEBOOK_WORKAROUND); return (0); }