Fork us on GitHub Follow us on Facebook Follow us on Twitter

Opened 7 months ago

Last modified 7 months ago

#781 accepted defect

PS/2 mouse on HW can break due to early activity

Reported by: Jiri Svoboda Owned by: Jiri Svoboda
Priority: major Milestone:
Component: helenos/unspecified Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

If I move the mouse cursor while the OS is booting on Lenovo X250 leads to the mouse not working - the ps2mouse driver reports failure to initialize mouse reporting (the answer is not 0xfa).

Change History (5)

comment:1 Changed 7 months ago by Jiri Svoboda

I think the problem might be resolved by draining the mouse buffer at the beginning of mouse driver initialization. The problem is there is no way to do that - chardev only supports blocking read (must read at least one byte).

comment:2 Changed 7 months ago by Jakub Jermář

Milestone: 0.8.0

comment:3 Changed 7 months ago by Jiri Svoboda

As I thought the problem is caused by Grub enabling mouse reporting. The ps2mouse driver thus gets a mouse report instead of the expected acknowledgement byte. The problem can be reproduced on qemu as well. You need to start HelenOS without a USB mouse (tools/ew.py provides a usb mouse by default) and you need to capture the mouse while in Grub menu so that the guest starts receiving mouse reports.

comment:4 Changed 7 months ago by Jiri Svoboda

Owner: set to Jiri Svoboda
Status: newaccepted

comment:5 Changed 7 months ago by Jiri Svoboda

It seems that this should be fixed by:

  • disabling mouse reporting first
  • then draining the input buffer
  • then initializing the mouse as usual
Note: See TracTickets for help on using tickets.