[OT] USB KVM switches

From: Eric Smith <eric_at_brouhaha.com>
Date: Tue Feb 1 13:56:23 2005

Bruce wrote:
> And people ask me why I don't like USB keyboards (and it's not just
> because I've never found one that I like more than the IBM 'clickers')
[...]
> my position has
> always been "Hey, you've got a perfectly good dedicated keyboard port
> that's worked for decades. Why go to all the trouble to replace it?"

Because one of my requirements was to also support a Mac that does not
have a PS/2 keyboard port. I'm not sure whether the Mac even has an
ADB port that could have been used with a translator, but it seemed
obvious that if both the PC and the Mac supported USB keyboards that
a USB KVM should do the trick.

The PCs running Linux and the Macs running OS 9.2 and OS X all work
fine with the various USB keyboards plugged in directly. It's only
when I try to use either the Belkin or Iogear USB KVMs that I have
trouble.

I agree that in general USB is a big can of worms. I spent nine
months at my last job developing software for a "bare-metal" USB host
controller. The hardware only provided the lowest-level serializer/
deserializer function, so I had to do a *lot* of USB stuff in software
that is normally done hardware, including responding with ACK packets
no more than 7.5 bit times after the end of a receive.

Anyhow, having spent nine months hacking up a USB host controller and
a partial protocol stack, mostly to support printers, I think I know
about as well as anyone that USB is horrid.

However, unlike the PS/2 keyboard interface, it's a very well-documented
sort of horridness. The AT keyboard interface, and thus the PS/2
interface, was *described* in the IBM AT Technical Reference, but there
were not *specifications*. In other words, it didn't say that the
time between two events was a minimum of X ns and a maximum of Y ns.
So everyone building AT and PS/2 keyboards just tried to make it "close
enough" to what they thought IBM expected.

The USB standard gives very detailed specifications of every aspect of
the electrical interface, timing, and protocols, so it should be much
easier to build a USB device or host that meets those specifications,
and have a reasonable expectation that it will actually work with
arbitrary other USB hosts or devices that also meet the specifications.

Sigh.
Received on Tue Feb 01 2005 - 13:56:23 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:37:34 BST