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)
Change History (10)
by , 12 months ago
by , 12 months ago
comment:1 by , 12 months ago
Component: | - General → Drivers/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 , 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 , 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
comment:5 by , 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 , 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 , 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.
listdev output