[coreboot - Support #515] (New) CONFIG_DRIVERS_PS2_KEYBOARD=y doesn't fixate detected keyboard to AT Translated 2 between cold/warm boot

Thierry Laurion <[email protected]>
Newsgroups gmane.linux.bios
Message-ID <[email protected]>
Issue #515 has been reported by Thierry Laurion.

----------------------------------------
Support #515: CONFIG_DRIVERS_PS2_KEYBOARD=y doesn't fixate detected keyboard to AT Translated 2 between cold/warm boot
https://ticket.coreboot.org/issues/515

* Author: Thierry Laurion
* Status: New
* Priority: Normal
* Target version: none
* Start date: 2023-11-20
* Affected versions: 4.21, 4.15, 4.16, 4.17, 4.18, 4.19, master
----------------------------------------
This is a long term issue under QubesOS for x230t/x220t and now x230 users as an be seen https://github.com/QubesOS/qubes-issues/issues/3306


The reason is unclear since it is not a generalized behavior. 
Is it because of EC firmware version variation, keyboard SKU? 
User reports don't clarify this enough.

What is known (Heads linux payload of coreboot here). 
If coreboot doesn't do anything for ps2 keyboard, linux does what it can to initialize ps2 and then determine mode of comms, which varies across cold boot/warm boot and sometimes falls back to Raw 2 Translated, which OSes behavior for keyboard cause issues with Backspace, | and \ keys.


This is short version of https://github.com/QubesOS/qubes-issues/issues/3306

----
cbmem -1 filtered output:

Coldboot with/without CONFIG_DRIVERS_PS2_KEYBOARD=y
![not normal](https://github.com/linuxboot/heads/assets/827570/c05f82e7-da27-4056-99c0-e59ef32ad08c)

Warm boot:
![normal](https://github.com/linuxboot/heads/assets/827570/5b4009a9-28ea-4c63-98f4-17a472f3b3a2)

----
When applying ugly hack on pc80 coreboot driver:
- discussion https://github.com/QubesOS/qubes-issues/issues/3306#issuecomment-1817347378)
- ugly patch https://github.com/linuxboot/heads/pull/1525/commits/1a6fbfa26ebf0a0afb58a9d626cdd633f730b1e6

coldboot issue resolved by removing exit 0 from patch above:
![signal-2023-11-18-05-49-02-251-1.jpg](https://github.com/QubesOS/qubes-issues/assets/827570/fe2e509f-8838-41f4-a8b4-bb92ba546c27)

So it seems that we could force AT Translated 2 for keyboards that need it.


Linux i8042.debug output given by user under https://github.com/linuxboot/heads/pull/1525 (i8042.notimeout, i8042.debug andcoreboot CONFIG_DRIVERS_PS2_KEYBOARD=y on):
- [i8042 debug output being going into AT 2 Translated mode](https://github.com/linuxboot/heads/files/13352680/dom0_dmesg_i8042_success_stripped.txt)
- [i8042 debug output being going into Raw 2 Translated mode](https://github.com/linuxboot/heads/files/13352681/dom0_dmesg_i8042_fail_stripped.txt)


---

Other solutions attempted:
- Forcing coreboot-> linux i8042 options through COMMAND_LINE without success: i8042.translate=1:kbd, i8042.reset + i8042.notimeout and others without success. Coldboot still shows Raw Translated 2

Other possibilities suggested by chat:
- adapt pc80 or borrow fixes from libpayload/unifying pc80 code.





-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: https://ticket.coreboot.org/my/account
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.