Opened 12 months ago

Last modified 34 hours ago

#18747 new bug

Keyboard and trackpad nonfunctional on Acer CB3-431

Reported by: lorddimwit Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/Input/PS2/Keyboard Version: R1/beta4
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

I have an Acer CB3-431 Chromebook, flashed with UEFI firmware from https://mrchromebox.tech.

I can boot Haiku (both Alpha 4 and nightly) off of a USB drive without any problems. Hardware support is pretty good, for the most part:

  • Graphics work great
  • Internal WiFi works fine
  • Sound appears to work

The missing hardware is:

  • Internal storage is not detected
  • The keyboard and trackpad do not work

The keyboard is especially interesting: it doesn't work, *except* in KDL. If I trigger a kernel crash (by removing the USB I booted from and then reinserting it), I am dropped into KDL and the internal keyboard works. I'm not sure why the keyboard would work in KDL but not normally.

A USB keyboard works, but hitting shift/space does not interrupt the bootloader, so I'm not able to do anything like boot into safe mode.

I've attached the output of listdev and the syslog; please let me know if you need anything else. I really appreciate what you've done with Haiku, thank you for your help!

Attachments (3)

devlist (2.1 KB ) - added by lorddimwit 12 months ago.
listdev output
syslog (108.3 KB ) - added by lorddimwit 12 months ago.
syslog
usbdevs (28.2 KB ) - added by lorddimwit 12 months ago.

Download all attachments as: .zip

Change History (10)

by lorddimwit, 12 months ago

Attachment: devlist added

listdev output

by lorddimwit, 12 months ago

Attachment: syslog added

syslog

by lorddimwit, 12 months ago

Attachment: usbdevs added

comment:1 by waddlesplash, 12 months ago

Component: - GeneralDrivers/Input/PS2/Keyboard
KERN: ps2: keyboard reset failed, status 0x80000009, data 0xff
KERN: ps2: keyboard getid failed, status 0x80000009, data 0x0000. Assuming no keyboard
KERN: ps2: keyboard probing failed
USER: Notify of added/removed/started/stopped device
Last message repeated 1 time
KERN: KeyboardDevice: error when opening /dev/input/keyboard/at/0: General system error
KERN: ps2: devfs_unpublish_device input/keyboard/at/0, status = 0x00000000

So, the keyboard reset fails, and then we assume there's no keyboard. But apparently there is one, because the KDL code to handle PS/2 interrupts clearly works. So I wonder what's going wrong here?

To confirm: the same thing happens on beta4 and nightlies (i.e. no keyboard and you see similar lines in the syslog)?

comment:2 by lorddimwit, 12 months ago

Those logs are from the nightly build from a couple of days ago.

The behavior is the same on Alpha 4 though I don’t recall if the syslog was the same. I can boot up Alpha 4 later tonight and let you know, though I’m willing to bet it’s the same.

comment:3 by pulkomandy, 11 months ago

I searched the web a bit, it seems Linux had trouble with these machines as well, and requires CONFIG_PINCTRL_CHERRYVIEW=y to do some configuration of IO ports before the PS2 controller can fully work.

Since KDL works, I assume it is "almost working" and maybe it's just the interrupts that are not getting delivered or something like that.

This is mentionned here for example: https://bbs.archlinux.org/viewtopic.php?id=213852

FreeBSD also seems to have various quirks for these machines because the keyboard controller is not behaving exactly like in a normal PC:

https://cgit.freebsd.org/src/commit/?id=319d2bf407b3762da6f1c67ffe8dce2fee587aaf

https://www.mail-archive.com/search?l=freebsd-current@freebsd.org&q=subject:%22Re%5C%3A+14.0%5C-CURRENT+boots+fine+but+keyboard+does+not+work%22&o=newest&f=1

comment:4 by waddlesplash, 3 months ago

Please retest after hrev58155.

comment:5 by lt_henry, 40 hours ago

I have access to Slimbook laptops and the models where I have tested Haiku suffer the same problem.

The unit I was playing yesterday with, believed there were also a ps2 mouse on the same bus (is that multplexing?), but wasn't the case because trackpad is i2c based, so I commented the multiplexing setup from the driver but had no luck at all, it also fails on reset and getid with the same values from the syslog above.

This laptops work well on Linux (they are a Linux specialized vendor). The keyboard uses the module serio-i8042 and shown to the user as "AT Translated Set 2 keyboard". Upstream kernel and no cmdline flags.

Is there something I can test?

comment:6 by pulkomandy, 36 hours ago

The mouse and keyboard are independant ps/2 ports sharing the same serial port controller. That's not multiplexing.

The multiplexing protocol is to allow multiple mouse devices and qandle them separately at the os level. In particular it is/was used for the trackpad and trackpoint on some thinkpad machines.

If you just have a ps2 keyboard, none of that should matter. But it looks like ps/2 controllers are getting quite far from uhe original and providing only a very approximate emulation.

comment:7 by lt_henry, 34 hours ago

I've checked linux i8042, and there are dozens of DMI matched quirks, but neither mine nor Acer CB431 are there. At least mine is hooked by driver using its ACPI name, PNP0f03. So it looks like in both cases there are no specific quirks, but some generic quirk I am not able to see.

Note: See TracTickets for help on using tickets.