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. Many thanks to Karl Reuss of the University Of Maryland Computer Science Center, who told me what the problem was in the driver. 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!