Re: SV 125 PS2 to Sun converter issue (keyboard not detected)

Mike Malopolski <[email protected]>
Newsgroups gmane.os.openbsd.sparc
Message-ID <[email protected]>
I got around to testing the converter with a PS2 KVM, works same as
with normal keyboard and mouse.

Thanks,

Mike.

On Sun, Mar 13, 2011 at 8:08 PM, Mike Malopolski <[email protected]> wrote:
> Miod,
>
> I spent a few hours today debugging different loops and timings, some
> interesting results:
>
> When I got the SV 125 device working yesterday, I did not change the
> ltries variable in the loops, but instead I increased the value sent
> into the DELAY() function from 1000 to 3000.  However, if no keyboard
> was present, it would still wait 15 seconds (which was your point this
> morning), which is way too long for serial users.
>
> Today I changed the value sent to DELAY() back to 1000 in the loops,
> and increased the ltries variable from 1000 to 3000 (and added printout
> of its value after each while loop).  The first two loops (the one that
> waits for the SKEY_STATE_RESET state and the one that waits for the
> SKEY_STATE_GETKEY state) always complete within the 1000 tries.  If a
> delay is not in place before the SKEY_CMD_LAYOUT is sent, the SV 125
> must not respond properly, because the third loop does not get anything
> other then -1 in 1000 tries.  The biggest indicator of this was that if
> I had the printf() for the ltries inside the condition that executes
> the break, it delayed the execution long enough for the keyboard to
> always work.  If I stored the ltries value in a temporary variable and
> printed out all three of them after the loops, then the keyboard would
> not be recognized.
>
> After all of that, I added a 3000 microsecond delay right before the
> SKBD_CMD_LAYOUT request because I assumed that the reason it worked
> yesterday was due to the longer delay (as opposed to the number of
> tries).  That worked, the SV 125 converter works correctly with that
> modification.
>
> The best part about that is if no keyboard is present, it will not
> increase the time it takes to boot (even if it did it would be .003 of
> a second * 5 for total of .015 of a second), but works with the SV 125.
>
> Again, I am not sure if this is something that anyone other then me
> would want, so if anyone is interested I included a unified diff output
> at the bottom of this message.
>
> Thanks for everyone's help.
>
> Regards,
>
> Mike.
>
> --- comkbd_ebus.c.orig  Sat Mar 12 23:49:38 2011
> +++ comkbd_ebus.c Sun Mar 13 19:22:21 2011
> @@ -483,6 +483,7 @@
>      if (ltries == 0)
>         continue;
>
> +      DELAY(3000);
>
>      /* Send layout request */
>      comkbd_putc(sc, SKBD_CMD_LAYOUT);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.