Dear Keith,
Am 22.05.20 um 02:36 schrieb Keith Hui:
Paul's recent dialogue about PS/2 keyboard in SeaBIOS reminds me that I am also suffering PS/2 keyboard issues on three mainboards that I am having with coreboot/SeaBIOS combo and need to ask here.
The boards are P2B-LS, P3B-F and P8Z77-M all from Asus. The last one I'm doing a new port that is currently under review at coreboot.
On those boards I almost never got PS/2 keyboard to work before my Linux kernel (4.4.14, soon 5.4.x) finishes booting and I get login prompt. Only on P3B-F it would work intermittently earlier. USB keyboards always worked right away. The PS/2 Keyboards I'm using are two pieces of classic: IBM Model M and the first Microsoft Natural.
I am using SeaBIOS 1.13.0 which already carries commit dbf9dd27f which described and should have fixed the issue I'm having. I also tried tweaking with the PS/2 keyboard "spinup" timeout from 0 to 500 to 2500 to 3500ms with no noticeable difference. Now I'm stumped.
Please always attach the debug logs (at least level 5), and look for the error messages.
In your board status upload `asus/p2b-ls/4.11-105-gdf0c731e68/2019-11-25T09_18_08Z` from January 2020 [1], with SeaBIOS debug level increased, there is:
/1ff2d000\ Start thread |1ff2d000| i8042_flush |1ff2d000| i8042_command cmd=ad |1ff2d000| i8042_wait_write |1ff2d000| i8042_command cmd=a7 |1ff2d000| i8042_wait_write |1ff2d000| i8042_flush |1ff2d000| i8042_command cmd=1aa |1ff2d000| i8042_wait_write |1ff2d000| i8042_wait_read |1ff2d000| i8042 param=55 |1ff2d000| i8042_command cmd=1ab |1ff2d000| i8042_wait_write |1ff2d000| i8042_wait_read |1ff2d000| i8042 param=0 |1ff2d000| Copying data 8@0xfffe9038 to 8@0x1ff2dfd4 |1ff2d000| ps2_command aux=0 cmd=1ff |1ff2d000| i8042 ctr old=30 new=30 |1ff2d000| i8042_command cmd=1060 |1ff2d000| i8042_wait_write |1ff2d000| i8042_wait_write |1ff2d000| i8042_command cmd=1060 |1ff2d000| i8042_wait_write |1ff2d000| i8042_wait_write |1ff2d000| ps2_sendbyte aux=0 cmd=ff |1ff2d000| i8042_kbd_write c=255 |1ff2d000| i8042_wait_write |1ff2d000| ps2 read aa |1ff2d000| Discarding ps2 data aa (status=13) |1ff2d000| ps2 read fa |1ff2d000| WARNING - Timeout at ps2_recvbyte:182! |1ff2d000| i8042_command cmd=1060 |1ff2d000| i8042_wait_write |1ff2d000| i8042_wait_write |1ff2d000| ps2 command 1ff failed (aux=0) |1ff2d000| WARNING - Timeout at ps2_keyboard_setup:498! \1ff2d000/ End thread
In your board status upload `asus/p3b-f/4.11-2240-gf9a4a4a58a/2020-04-17T20_46_02Z` from April 2020 [1], SeaBIOS logs a successful PS/2 initialization was successful.
PS2 keyboard initialized
So I guess, that was the intermittent case. A failure case would be nice to see if it’s similar. Have you ever tried the master branch, where MrChromebox’ commit bfdb3f86 (ps2port: adjust init routine to fix PS/2 keyboard issues) wasn’t reverted yet?
Is the error for the ASUS P8Z77-M the same?
Kind regards,
Paul
[1]: https://review.coreboot.org/cgit/board-status.git/commit/?id=ff1406af7f8e011... [2]: https://review.coreboot.org/cgit/board-status.git/commit/?id=6943126b2e76ae5...