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);
  }

Reply via email to