envbvs@epb2.lbl.gov (Brian V. Smith) (05/06/89)
The problem with the qvss (qv.o) driver on a Vaxstation II under Ultrix 3.0 is that when any output goes to /dev/console, the keyboard is re-initialized. This means that, for some reason, one must hit tab or return twice to get a tab or return (respectively), and keyclick is turned on if it was off before. The fix is to remove the call to _qvkbdreset in the routine _qvopen. This may be "nop"ed out by the following: FIRST, VERY IMPORTANTLY: locate the call to _qvkbdreset in the routine _qvopen. It should be at offset 0x110: example: unix> adb /vmunix _qvopen+110?i 8006e574: calls $0,_qvkbdreset ________________________________________________________________________________ NOW TO PATCH THE FILES: >>> For the qv.o file: unix> adb -w qv.o _qvopen+110?W 01010101 _qvopen+113?W 01010101 ^D unix> (note that this inserts 7, not 8 nops because the second write overlaps the first) ________________________________________________________________________________ >>> For the kernel /vmunix file: unix> adb -w /vmunix _qvopen+110?W 01010101 _qvopen+113?W 01010101 ^D unix> ________________________________________________________________________________ >>> Finally, if you want to change the running kernel (/dev/mem): unix> adb -w -k /vmunix /dev/mem _qvopen+110/W 01010101 <<<----- NOTE the '/' instead of '?' _qvopen+113/W 01010101 <<<----- NOTE the '/' instead of '?' ^D unix> ________________________________________________________________________________ If there is a more "correct" fix for this problem, feel free to send mail to me or post your fix to the net. _____________________________________ Brian V. Smith (bvsmith@lbl.gov) Lawrence Berkeley Laboratory We don't need no signatures!