Problem

The laptop’s keyboard works properly when the computer on first boots up, but if the computer enters any kind of low power state (i.e. goes to sleep, restarts, or shuts down) while still having a charged battery/power source plugged in then the keyboard stops working (even in the BIOS), except the backlight works and the brightness/accessory keys work. This problem persists in both windows and linux distros. On NixOS, the booting sequence messages a couple ACPI BIOS errors before starting and occasionally the kernel sends usb errors (error -71) which then crashes the desktop environment. When using ‘showkey’, some keys send very weird key presses.

What I’ve Tried

  • multiple Operating Systems
  • updating the BIOS, then flashing it back
  • unplugging the keyboard from the motherboard, then replugging it
  • Lodespawn@aussie.zone
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    5 days ago

    Yeah the others don’t seem like they would be the solution. Have you tried a USB keyboard? Not as a permanent solution, but more to see if other keyboards do it too.

    Is the laptop still in warranty? If so, take it back, if not then maybe see if you can source a replacement keyboard. Might be annoying to replace depending on the chassis but probably easier than replacing the whole mainboard.

    How does the cable connecting the keyboard to mainboard look? Have you tried reseating it? Is it running through any pinch points?

    • better_than_nothin@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      5 days ago

      Yep, this is a very very common problem.

      I do use an external keyboard for this computer but on linux, the usb errors cause kernel panic, and I’m sure I could find a way to disable that input but I have no idea.

      The laptop is no longer under warranty, but this doesn’t seem to be a hardware issue as the keyboard works perfectly on first start up. I have tried reseating the keyboard to the main board, but I haven’t removed the mainboard itself, and I can’t tell if there’s any pinch points since the cable runs all the way behind the board, but the end looks clean.

          • Lodespawn@aussie.zone
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 days ago

            No I meant draining the battery completely, you should be able to achieve the same result by disconnecting the battery if it’s in an accessible location

            • better_than_nothin@lemmy.worldOP
              link
              fedilink
              arrow-up
              1
              ·
              4 days ago

              Oh yea, I have completely disconnected the battery, the problem still persists. This becomes especially a problem with distros that have menu in the bootloader because the keyboard will only work in the bootloader then stop working in the os itself.

              • Lodespawn@aussie.zone
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                4 days ago

                We’ll, the next step is ripping out the keyboard, it would be interesting to see if it boots and works fine with the internal kB disconnected and an external kB connected. That is, is it something on the keyboard that’s screwing with the USB or is it the USB itself. I once had a laptop (I think it was actually a Lenovo) that you could remove the keyboard from the top with a small probe, not so common these days. The mb should come off relatively easy. You could replace your thermal pastes while you’ve got everything dismantled.

                • better_than_nothin@lemmy.worldOP
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  4 days ago

                  Well Windows, the default OS, works normally with the external keyboard (even though one usb port doesn’t work with keyboards, works with anything else though).

                  However, Linux doesn’t get past starting systemd.