Opened 13 years ago

Closed 13 years ago

#7973 closed bug (fixed)

No keyboard after graphics

Reported by: Doomtron Owned by: siarzhuk
Priority: normal Milestone: R1
Component: Drivers/Keyboard/PS2 Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Hello,

I tried to boot both images, R1alpha3 and nighlty, and after spending some time, I figured out that, in debug mode, my keyboard works, coz I can roll the debug msgs, but when it ends and I get graphics (I can get graphics just in safe mode, but I think it's another issue), my keyboard stop from working.

I running it on a netbook

I dont know how can I get the debug log, from haiku live, to attach, so I running linux here then I'll attach some information that I can get here.

Attachments (10)

hwinfo.log (299.2 KB ) - added by Doomtron 13 years ago.
hwinfo output
hwinfo.log.keyboard (522 bytes ) - added by Doomtron 13 years ago.
hwinfo keyboard specific output
lshw.log (14.6 KB ) - added by Doomtron 13 years ago.
lshw output
syslog.old (512.0 KB ) - added by Doomtron 13 years ago.
syslog (252.6 KB ) - added by Doomtron 13 years ago.
ps2.bz2 (23.7 KB ) - added by siarzhuk 13 years ago.
ps2 bus manager with command byte check and extra interrupts tracing.
syslog.2 (503.8 KB ) - added by Doomtron 13 years ago.
syslog.2.old (512.0 KB ) - added by Doomtron 13 years ago.
ps2+enable.bz2 (23.7 KB ) - added by siarzhuk 13 years ago.
Customized ps2 bus manager with sending enable keyboard commmand during probe.
no_keyboard_or_mouse.txt (8.7 KB ) - added by Mictlantecuhtli 13 years ago.

Change History (32)

by Doomtron, 13 years ago

Attachment: hwinfo.log added

hwinfo output

by Doomtron, 13 years ago

Attachment: hwinfo.log.keyboard added

hwinfo keyboard specific output

by Doomtron, 13 years ago

Attachment: lshw.log added

lshw output

comment:1 by Doomtron, 13 years ago

the revision for the nightly image is hrev42700

comment:2 by diver, 13 years ago

Platform: x86-64All
Version: R1/alpha3R1/Development

Could you try booting with keyboard unplugged and plug it in after boot finishes?

comment:3 by diver, 13 years ago

Ah, it's a netbook, please disregard then.

comment:4 by siarzhuk, 13 years ago

1) Is touchpad working OK?

2) Is it possible to use for testing USB keyboard and mouse? If so please do the following:

a) Read the ticket #6313;

b) Boot your nightly build;

c) Download the ps2.bz2 (but NOT ps2.2.bz2!!!!) bus manager binary attached to the ticket #6313 and expand it into /boot/system/add-ons/kernel/bus_managers replacing existing ps2 binary;

d) delete /boot/common/var/log/syslog;

e) Reboot the system, try press some keys on keyboard for some minutes and attach the /boot/common/var/log/syslog file to this ticket.

Do you have something like "Enable legacy USB support" in BIOS setup? Have you tried to disable it?

Thank you for assistance.

JFYI: PCI devices info can be obtained by "listdev" command, USB devices correspondently by "listusb" command.

comment:5 by Doomtron, 13 years ago

1) Is touchpad working OK?

Yes, touchpad works.

2) Is it possible to use for testing USB keyboard and mouse? If so please do the following:

I've to install it to HD to do it ? (i's not a problem, just asking)

I'll try to do it this week yet.

Ty.

in reply to:  5 comment:6 by siarzhuk, 13 years ago

Replying to Doomtron:

2) Is it possible to use for testing USB keyboard and mouse? If so please do the following:

I've to install it to HD to do it ? (i's not a problem, just asking)

In general, the system should have modified ps2 bus manager to collect required info. I'm not sure that life-CD can be modified in this way, but it is not a big problem to modify Haiku files on bootable USB sticks. Can you boot this netbook from USB stick? Another option of course is usual installation on hard drive.

comment:7 by Doomtron, 13 years ago

I attached my syslog.

I did put the syslog.old too, because the log was growing (it's right?) too fast.

Hope it helps.

in reply to:  7 comment:8 by siarzhuk, 13 years ago

Replying to Doomtron:

I attached my syslog.

Thank you!

I did put the syslog.old too, because the log was growing (it's right?) too fast.

Yes, it is growing too fast - every keyboard and mouse event reported here. I'm sorry that I have not warned you about saving the copy of the syslog just after the system booting was finished. Unfortunately both of syslogs provided by you contain only mouse events. Those events have "pushed" away the most interesting system initialization part. Haiku just copy the syslog to syslog.old every time the first one is about 512 kbytes. The bad thing in your case is that the syslog was copied at least twice - so all information logged at the system boot time was just overwritten. :-( That was my fault - I should warn you about it.

May I ask you to repeat the test again? Please do the following:
a) Delete both syslog and syslog.old from the system;
b) Reboot Haiku;
c) As soon as the system have booted - make a copy of /boot/common/var/log/syslog [and syslog.old too if it will be existing at that time]. After this you can safely attach those copies to the ticket. Note that you can replace existing attachments of syslog and syslog.old with new ones;

Thank you for assistance and the patience!

by Doomtron, 13 years ago

Attachment: syslog.old added

by Doomtron, 13 years ago

Attachment: syslog added

comment:9 by Doomtron, 13 years ago

OK, syslog re-attached.

in reply to:  9 ; comment:10 by siarzhuk, 13 years ago

Replying to Doomtron:

OK, syslog re-attached.

Yes, now the whole initialization is listed. Thank you very much. The situation looks like the same as #6313 - the keyboard was initialized and opened but produce no notifications about key press. OK, I'm looking on the solutions for this problem.

By the way the mouse device was failed on Synaptics touchpad detection procedure - so it works in standard mouse mode. Do you have any additional info about it? Does it works under Linux inas touchpad or in mouse mode? What is the brand name of this netbook?

in reply to:  10 comment:11 by Doomtron, 13 years ago

Replying to siarzhuk:

Replying to Doomtron:

OK, syslog re-attached.

Yes, now the whole initialization is listed. Thank you very much. The situation looks like the same as #6313 - the keyboard was initialized and opened but produce no notifications about key press. OK, I'm looking on the solutions for this problem.

By the way the mouse device was failed on Synaptics touchpad detection procedure - so it works in standard mouse mode. Do you have any additional info about it? Does it works under Linux inas touchpad or in mouse mode? What is the brand name of this netbook?

Yes, touchpad works in mouse mode on linux.

by siarzhuk, 13 years ago

Attachment: ps2.bz2 added

ps2 bus manager with command byte check and extra interrupts tracing.

comment:12 by siarzhuk, 13 years ago

The possible suspect is ps2 controller throwing no interrupts on key press or issuing wrong interrupt state.

May I ask you for another test with just attached ps2 bus manager? This customized manager has additional check of ps2 controller command byte and tries to re-enable keyboard interrupt in the command byte on keyboard opening. It also produce some tracing for interrupts with OBF bit unset - probably they where ignored silently. Please use listed above procedure to perform this test. Note that it would be nice if you press any keys more that 30 - 50 times. It helps me to see if the keyboard interrupts were issued or not.

Another possible point to test is checking KDL's "ints" state. Please try to press simultaneously Alt-Print-D keys. In case you fall through into Kernel Debugging Land successfully please check the following:

1) run "ints" command. note the count of handled/unhandled interrupts for "int 1";

2) run "es" command to go out of KDL;

3) press any key about 20 times;

4) press Alt-Print-D to go into KDL again;

5) run "ints" command and note the count of handled/unhandled interrupts for "int 1" and show me, please, those counts from step 1 and step 5 in comparison.

Please do not disappoint in case you cannot go into KDL by Alt-Print-D - it is predicted behavior for non-working ps2 controller. ;-) But you have said in the problem description that you can use keyboard in "debug mode" - did you mean KDL?

Thank you for assistance and please exuse me for some delay. Good luck!

comment:13 by mmlr, 13 years ago

Just in case this is an interrupt routing issue (a bogus source override or polarity setting maybe): Could you also try disabling ACPI in the safe mode settings at the boot menu and see if it works then?

by Doomtron, 13 years ago

Attachment: syslog.2 added

by Doomtron, 13 years ago

Attachment: syslog.2.old added

in reply to:  13 comment:14 by Doomtron, 13 years ago

Replying to mmlr:

Just in case this is an interrupt routing issue (a bogus source override or polarity setting maybe): Could you also try disabling ACPI in the safe mode settings at the boot menu and see if it works then?

Disabling ACPI don't work.

in reply to:  12 ; comment:15 by Doomtron, 13 years ago

Replying to siarzhuk:

The possible suspect is ps2 controller throwing no interrupts on key press or issuing wrong interrupt state.

May I ask you for another test with just attached ps2 bus manager? This customized manager has additional check of ps2 controller command byte and tries to re-enable keyboard interrupt in the command byte on keyboard opening. It also produce some tracing for interrupts with OBF bit unset - probably they where ignored silently. Please use listed above procedure to perform this test. Note that it would be nice if you press any keys more that 30 - 50 times. It helps me to see if the keyboard interrupts were issued or not.

Another possible point to test is checking KDL's "ints" state. Please try to press simultaneously Alt-Print-D keys. In case you fall through into Kernel Debugging Land successfully please check the following:

1) run "ints" command. note the count of handled/unhandled interrupts for "int 1";

2) run "es" command to go out of KDL;

3) press any key about 20 times;

4) press Alt-Print-D to go into KDL again;

5) run "ints" command and note the count of handled/unhandled interrupts for "int 1" and show me, please, those counts from step 1 and step 5 in comparison.

Please do not disappoint in case you cannot go into KDL by Alt-Print-D - it is predicted behavior for non-working ps2 controller. ;-) But you have said in the problem description that you can use keyboard in "debug mode" - did you mean KDL?

Thank you for assistance and please exuse me for some delay. Good luck!

My keyboard is working now :D new syslogs attached.

ty, now i'll open a bug for wifi card xD

by siarzhuk, 13 years ago

Attachment: ps2+enable.bz2 added

Customized ps2 bus manager with sending enable keyboard commmand during probe.

in reply to:  15 ; comment:16 by siarzhuk, 13 years ago

Replying to Doomtron:

My keyboard is working now :D

Nice to hear. The tracing says that the "disable keyboard bit" in command byte was "on" after keyboard reset. This bit was forced back to "off" in my changes. Looks like that was the problem.

Well, we have found the origin of the problem, but still should find a way to fix it correctly. :-) I have prepared yet another customized version of ps2 bus manager - this one send the "enable" command during keyboard probing. It looks like more safe way to enable it than direct operating by bits in the command byte. The name is "ps2+enable.bz2" Could you, please, try it too? Note the name of unpacked module must be "ps2". ;-)

Thank you!

PS: Tomorrow (30 Sep) I'm going to vacations until the 11th October. I will commit the fix after my return - it is a good idea to be available for urgent fixes in case of possible [bad] side effect of my changes. :-) So if you need a version that do not overflow the syslog with ps2 debugging stuff - please let me know ASAP - I try to prepare it for you.

in reply to:  16 ; comment:17 by Doomtron, 13 years ago

Replying to siarzhuk:

Replying to Doomtron:

My keyboard is working now :D

Nice to hear. The tracing says that the "disable keyboard bit" in command byte was "on" after keyboard reset. This bit was forced back to "off" in my changes. Looks like that was the problem.

Well, we have found the origin of the problem, but still should find a way to fix it correctly. :-) I have prepared yet another customized version of ps2 bus manager - this one send the "enable" command during keyboard probing. It looks like more safe way to enable it than direct operating by bits in the command byte. The name is "ps2+enable.bz2" Could you, please, try it too? Note the name of unpacked module must be "ps2". ;-)

Thank you!

PS: Tomorrow (30 Sep) I'm going to vacations until the 11th October. I will commit the fix after my return - it is a good idea to be available for urgent fixes in case of possible [bad] side effect of my changes. :-) So if you need a version that do not overflow the syslog with ps2 debugging stuff - please let me know ASAP - I try to prepare it for you.

The keyboard do not work with ps2+enable :/ Do you want logs ?

in reply to:  17 comment:18 by siarzhuk, 13 years ago

Replying to Doomtron:

The keyboard do not work with ps2+enable :/ Do you want logs ?

If you still have the logs - it would be nice for me to investigate it. Just to be sure, that enable command was send to keyboard successfully and did not clear disable bit in the command byte as I thought. That is the problem I mentioned in my the previous comment.

by Mictlantecuhtli, 13 years ago

Attachment: no_keyboard_or_mouse.txt added

comment:19 by Mictlantecuhtli, 13 years ago

I think this ticket is about my keyboard & mouse problems too.

I'm trying to run Haiku in a virtual machine under Windows Server 2008 R2 Hyper-V session. The last lines in my syslog (no_keyboard_or_mouse.txt) might reveal something...

Version 0, edited 13 years ago by Mictlantecuhtli (next)

comment:20 by modeenf, 13 years ago

Mictlantecuhtli : have you tested the ps2.bz2 driver?

218 ps2: keyboard reset failed, status 0x80000009, data 0x00 
219 ps2: keyboard probing failed 
220 ps2: devfs_unpublish_device input/keyboard/at/0, status = 0x00000000 
221 KeyboardDevice: error when opening /dev/input/keyboard/at/0: No error 
222 ps2: cannot enable mouse input/mouse/ps2/ibm_trackpoint_0 

About booting with USB. I have found that some you have to write mbr to. Ether with makebootable or plain install.

in reply to:  19 comment:21 by siarzhuk, 13 years ago

Replying to Mictlantecuhtli:

I think this ticket is about my keyboard & mouse problems too.

No, it is not the same - your keyboard was not initialized at all. Please use ps2 bus manager from #6313:

1) Download the ps2.bz2 (but NOT ps2.2.bz2!!!!) bus manager binary attached to the ticket #6313 and expand it into /boot/system/add-ons/kernel/bus_managers replacing existing ps2 binary;

2) delete /boot/common/var/log/syslog and syslog.old;

3) Reboot the system, try press some keys on keyboard for some minutes and attach the /boot/common/var/log/syslog or syslog.old file to this ticket.

4) Open another ticket for your problem.

Thank you.

comment:22 by siarzhuk, 13 years ago

Resolution: fixed
Status: newclosed

Should be fixed in hrev42820. Please check and reopen in case the problem appears again.

Note: See TracTickets for help on using tickets.