SYSRQ... (part2)
Mike A. Harris
mharris en meteng.on.ca
Dom Ene 23 21:48:42 CST 2000
I've been desperately trying to figure out how to get SYSRQ
working on my system...
Ok:
1) SYSRQ is compiled into my kernel - here's the relevant line
from my .config:
root en asdf:/# grep SYSRQ /boot/K6-2.2.14-1
CONFIG_MAGIC_SYSRQ=y
2) This is in fact the kernel that I am using:
root en asdf:/usr/src# cat /proc/version
Linux version 2.2.14-1 (root en asdf.capslock.lan) (gcc version
egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Wed Jan 5
09:05:10 EST 2000
3) I have manually turned on sysrq via proc:
root en asdf:/# cat /proc/sys/kernel/sysrq
1
4) The scancode built into the kernel source for SYSRQ is:
root en asdf:/usr/src/linux# rgrep -r SYSRQ_KEY *
Documentation/sysrq.txt:'#define SYSRQ_KEY 0x54' in
[/usr/src/linux/]include/asm/keyboard.h to
drivers/char/keyboard.c: if (keycode == SYSRQ_KEY) {
[SNIP other architecure files]
5) The scancode my computer reports with the showkey command:
4 root en asdf:/usr/src/linux# showkey -s
kb mode was XLATE
press any key (program terminates after 10s of last keypress)...
[I pressed and released LEFT-ALT alone]
0x38
0xb8
[I pressed and released PRINT-SCREEN alone]
0xe0 0x2a 0xe0 0x37 0xe0 0xb7 0xe0 0xaa
[I pressed ALT-SYSRQ (ALT-PRINTSCREEN)]
0x38
0x54 0xd4
0xb8
Note that the ALT make code 0x38 is there, followed by 0x54 which
is defined in the kernel source as being SYSRQ_KEY, followed by
the 0xd4 break code, and finally the break code for the left alt
key which is 0xb8.
[I pressed ALT-SYSRQ-P]
0x38 (L-ALT make)
0x54 0xd4 (SYSRQ make - SYSRQ break)
0x19 (P make)
0x99 (P break)
0xb8 (L-ALT break)
In all of the above, the order the keys were pressed in and held
should be obvious, but just to clarify for those that don't see
it: When I pressed ALT-SYSRQ, I held DOWN the ALT key WHILE I
pressed SYSRQ, I did not press ALT, then let it go, then press
SYSRQ. When I pressed ALT-SYSRQ-P I held DOWN ALT, pressed and
held down SYSRQ, and while both keys were held down I pressed P.
I also tried every other possible random way of pressing the keys
imaginable and it simply does not work. My kernel is compiled
correctly, the /proc/sys/kernel/sysrq is enabled as evidenced
from above, my SYSRQ key scancode is identical to the one
compiled into the kernel, however it does not work. I've tried
everything that I can, and the only way I figure I'll get it to
work, is if I get someone to steal the machine that SYSRQ was
developed on.
This is very odd because I'm sure it works for other people.
The *ONLY* things that I can possibly think of given the
information I have gleaned from the documentation for sysrq, the
info I've received from various others in the past, and the
source code and header files that could possibly account for it
not working is:
1) My keyboard is immediately sending the break code right after
the make code regardless of wether the key was released yet.
This appears to be so, because if I press ALT-SYSRQ and hold
both keys down, the 0x54 0xd4 is displayed even though I have
not released the key. Continuing to hold down the key does
not generate repeated keys whereas doing the same with other
keys on the keyboard does.
2) SYSRQ is horribly broken.
Since I doubt #2, I must assume that it is #1 or some yet to be
determined problem. As such, could someone please comment on
this?
If you do believe #1 is in fact my problem, is it possible to
patch the kernel so that the 0x54 0xd4 sequence triggers SYSRQ?
Again, assuming #1 is the problem, and what I just proposed is
not feasible or not easily done, what other possible solution
might one suggest?
I've considered using another key, however - after perusing the
source code, and the output of showkeys, it appears that SYSRQ is
the only scancode on the keyboard that can be activated in
conjunction with another key. If this is true, then if I use a
different keycode, it will be activated alone no? This would be
too dangerous having a single key SYSRQ on the keyboard.
I would very much appreciate any help in getting the 0x54 0xd4
keyboard raw scancode sequence to activate SYSRQ properly for me.
I'm going to look into the sources and try to hack it up myself
for now going on my assumption of #1 above...
Thanks in advance.
TTYL
--
Mike A. Harris Linux advocate
Computer Consultant GNU advocate
Capslock Consulting Open Source advocate
Join the FreeMWare project - the goal to produce a FREE program in
which you can run Windows 95/98/NT, and other operating systems.
http://www.freemware.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
Más información sobre la lista de distribución Ayuda