Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#1185 closed bug (fixed)

Yet another story about non-working ps2 keyboards on laptop.

Reported by: siarzhuk Owned by: marcusoverhagen
Priority: high Milestone: R1
Component: Drivers/Keyboard/PS2 Version: R1/pre-alpha1
Keywords: Cc: jonas.kirilla
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

This problem is observed on sis620-based laptop.

The Problem: Inbound keyboard doesn't work. External one, attached to ps/2 extension port has the same problem. Keyboard mode LEDs (Num Lock, Caps Lock etc.) are off and don't react on corresponding keys. Both inbound (Synaptic) touchpad connected to ps/2 bus and external ps/2 mouse at mentioned above extension port are working OK. The problem is observed only with keyboards.

The syslog acquired with activated in ps2 bus manager extra debug trace info is attached. The only editing I made - removing a lot of same "mouse events" blocks to reduce the size. The system was boot without any devices attached to ps2 extension port. In other words only inbound keyboard and touchpad were used during this test. No other modules were removed from the Haiku partition before the test. The Haiku was installed on this partition typically by jam build.

NOTE: This problem arise on my laptop about 3-4 months ago. Before this time, the ps2 keyboard was working almost OK. There were some timeouts before keyboards become available. In other words after Haiku loaded completely I have to wait about 20-30 seconds before keyboard become available. Both Tracker and Terminal windows at this time already opened. Only keyboard was "dead".

Please let me know if you need an additional info or more debugging and testing. Hope this information help you to resolve the problem.

Attachments (13)

syslog (45.1 KB ) - added by siarzhuk 13 years ago.
System log acquired with activated debug info in ps2 manager. Only inbound keyboard and paointing device (touchpad) used.
syslog.with.inbound.keyboard (15.5 KB ) - added by siarzhuk 13 years ago.
tracing for Haiku boot without any external ps2 devices
syslog.external.keyboard (17.6 KB ) - added by siarzhuk 13 years ago.
tracing for Haiku boot with external ps2 keyboard attached to laptop
ps2 (34.6 KB ) - added by marcusoverhagen 13 years ago.
syslog.2 (50.7 KB ) - added by siarzhuk 13 years ago.
the syslog acquired with provided ps2 module
syslog.ext.ms.hotunplug (141.7 KB ) - added by siarzhuk 13 years ago.
system booted with external ps2 mouse attached. The mouse is unplugged and plugged in again.
syslog.ext.ms.hotplug (80.5 KB ) - added by siarzhuk 13 years ago.
system booted with empty ps2 extension port. The mouse is pluuged in after the system boot completed.
ps2.2 (34.6 KB ) - added by marcusoverhagen 13 years ago.
ps2 bus manager with another bunch of workarounds added
syslog.hotplug.ms.2 (110.9 KB ) - added by siarzhuk 13 years ago.
syslog for test with hotplug of external ps2 mouse. acquired with attached ps2.2 module
syslog.hotunplug.ms.2 (189.3 KB ) - added by siarzhuk 13 years ago.
syslog for booting with attached ps2 mouse, and unplug it and replug. acquired with attached ps2.2 module
ps2.3 (34.6 KB ) - added by marcusoverhagen 13 years ago.
better workarounds
syslog.ms.hotunplug.3 (133.6 KB ) - added by siarzhuk 13 years ago.
log acquired with provided ps2.3 bus manager. Test scenario: boot with ms attached, unplug than plug in again.
syslog.ms.hotplug.3 (56.9 KB ) - added by siarzhuk 13 years ago.
log acquired with provided ps2.3 bus manager. Test scenario: boot without ms attached, plug in mouse than unplug it.

Download all attachments as: .zip

Change History (21)

by siarzhuk, 13 years ago

Attachment: syslog added

System log acquired with activated debug info in ps2 manager. Only inbound keyboard and paointing device (touchpad) used.

comment:1 by jonas.kirilla, 13 years ago

Cc: jonas.kirilla added

comment:2 by marcusoverhagen, 13 years ago

Status: newassigned

Please retest with hrev20883, enable TRACE-ing in ps2_common.h before compiling, and provide a syslog.

If it works, please also attach external PS/2 devices, and repeat testing.

If that also works, please test hotplugging.

comment:3 by siarzhuk, 13 years ago

Resolution: fixed
Status: assignedclosed

I have rebuild the modules with your changes and tried following test scenarios:

1) Boot Haiku without external ps2 devices. The keyboard stay active (unfreezes) about 20 seconds after main Terminal window appears on the screen. All this time I push the key "i" every second. Just after first "i" symbol was displayed in Terminal I have stopped typing and rebooted the system. Attached "syslog.with.inbound.keyboard" file is slightly purged system log for this test.

2) Boot Haiku with external keyboard attached to extension ps2 port of my laptop. Now, the external keyboard become available just after Terminal opens. The inbound keyboard still require that 20-seconds delay for activation. Both inbound and external keyboards are functional simultaneously. Attached "syslog.external.keyboard" file represent tracing for this test.

3) Boot Haiku without external keyboard attached to ps2 extension port. After Tracker windows appear on the screen I plugged the external keyboard into ps2 port. This keyboard is become active and functional just after plugging. But inbound keyboard still "wait" for 20 seconds before activation. Both inbound and external keyboards are functional simultaneously.

4) The last test I have provided - is booting Haiku with attached external keyboard and plugging it out after system finish to boot. The inbound keyboard is also available in this scenario. Of course after this 20-seconds delay. I have plugged the external keyboard back to port and it becomes available too. Do you want to look into tracing for this and previous tests?

In other words it works now. Thank you.

By the way this "initial" 20-seconds delay is still exists. It is not observed with the same hardware on BeOS R5. It is a bit annoying but not critical. May be you have idea about the source of this delay? I do not think that is related to this bug. Probably I should write another ticket for this problem with lower priority?

by siarzhuk, 13 years ago

tracing for Haiku boot without any external ps2 devices

by siarzhuk, 13 years ago

Attachment: syslog.external.keyboard added

tracing for Haiku boot with external ps2 keyboard attached to laptop

by marcusoverhagen, 13 years ago

Attachment: ps2 added

by siarzhuk, 13 years ago

Attachment: syslog.2 added

the syslog acquired with provided ps2 module

by siarzhuk, 13 years ago

Attachment: syslog.ext.ms.hotunplug added

system booted with external ps2 mouse attached. The mouse is unplugged and plugged in again.

by siarzhuk, 13 years ago

Attachment: syslog.ext.ms.hotplug added

system booted with empty ps2 extension port. The mouse is pluuged in after the system boot completed.

by marcusoverhagen, 13 years ago

Attachment: ps2.2 added

ps2 bus manager with another bunch of workarounds added

by siarzhuk, 13 years ago

Attachment: syslog.hotplug.ms.2 added

syslog for test with hotplug of external ps2 mouse. acquired with attached ps2.2 module

by siarzhuk, 13 years ago

Attachment: syslog.hotunplug.ms.2 added

syslog for booting with attached ps2 mouse, and unplug it and replug. acquired with attached ps2.2 module

comment:4 by marcusoverhagen, 13 years ago

Resolution: fixed
Status: closedreopened

by marcusoverhagen, 13 years ago

Attachment: ps2.3 added

better workarounds

comment:5 by marcusoverhagen, 13 years ago

Please repeat the last two tests once again with the new bus manager.

FYI, I also updated bug #155 concering the hotplug failure.

by siarzhuk, 13 years ago

Attachment: syslog.ms.hotunplug.3 added

log acquired with provided ps2.3 bus manager. Test scenario: boot with ms attached, unplug than plug in again.

by siarzhuk, 13 years ago

Attachment: syslog.ms.hotplug.3 added

log acquired with provided ps2.3 bus manager. Test scenario: boot without ms attached, plug in mouse than unplug it.

comment:6 by siarzhuk, 13 years ago

I have tested both test scenarios - booting with attached mouse and hot unplugging, and booting without attached mouse and hot plugging it. In both cases mouse pointer after [re]plugging doesn't more move. :-( Corresponding acquired system logs are attached.

comment:7 by marcusoverhagen, 13 years ago

Resolution: fixed
Status: reopenedclosed

The last logfiles show that the hotplug events are both detected now, and the mouse devices are published by the driver.

The workaround to ignore non responding port 0 works, too.

When input_server bug #155 is fixed, hotplug will be functional.

comment:8 by marcusoverhagen, 13 years ago

I forgot to mention two things.

The internal keyboard works now, previously is was disturbed by port 0 problems.

The external keyboard works about 20 seconds erlier before the internal does work too. This is a keyboard controller issue that can't be fixed, the same delay happens with this hardware under FreeBSD too.

Note: See TracTickets for help on using tickets.