I recently picked up a few Avocent DSR4020s off eBay for pretty cheap. They're IP KVM switches which I'd hoped to get up and running over my network so I could do remote administration of the machines, but it turns out that the networked part requires proprietary software which you pretty much can't get from Avocent (now owned by Emerson) for the boxes in question, possibly even if you offer to shell out wads of cash. The general feeling on the internet is that the IP client was not that great anyway.
On the bright side, they have a local port for VGA + PS/2 keyboard/mouse which makes for a pretty nice 16-port KVM switch if you get the dongles, some of which can also be quite cheap. For $30-50 on eBay, you can get the switch, plus $8 or so each for the PS/2 version of the dongles (the USB ones seem to be somewhat more, but they also have plain serial and Sun versions as well).
That's all well and good, I figured I could use it on my Macs with ADB->PS2 adaptors since decent ADB KVMs are pretty hard to come by now, but that's kind of clunky. Besides, I was curious to see what made the dongles tick; they connect over Cat5, so I figured even at the price they originally went for at retail, there's no way they would stick a triple 100+ MHz ADC on each of those dongles (for one thing, you probably would have had a hard time powering it off of 500 mA). So I opened one of the pods for the PS/2+VGA dongles up (required a Vise-Grip to crack it, but it worked).
I'll post pictures later, but it's actually a pretty simple setup.
It uses an
EL4543 to amplify the analog video and send it out over three of the Cat5 pairs; that's actually a really neat little chip, it sends the sync bits over the three channels by playing with the common mode voltages. That also explains why there's no DVI or other digital versions of the pods.
It then takes the PS/2 signals in to a bog-standard 8051 compatible micro, the
SST89E516RD2, which is the main controller in the pod; there's an EEPROM hanging off the micro, and it communicates with the KVM switch through an RS485 converter (ISL485EIBZ, which looks to be an Avocent-specific version of the
ISL8485). Curiously, probably because they needed a reference ground for the common-mode voltages of the DAC, it only uses the positive leg of the converter, with the negative leg driven to 1/2 VCC; at that rate, they might as well have used an RS232 converter if not for the half-duplex mode.
There's just a cable coming into a socket for the video and the PS/2 lines, which suggests to me that there may be a common board for at least their PS/2 and Sun versions, since those are mostly at least electrically compatible.
Nicely enough, they provided test points that hook up to the microcontroller reset line and all 4 relevant comms lines (Tx, Rx, TxEn, RxEn), which should make it pretty easy to hook up a logic analyzer to start looking at the protocol. I have the USB version coming in and will probably get the Sun version soon as well to see the differences (PS/2 and Sun (and ADB for that matter) are bit-bangable 5v signals, but that micro doesn't have USB support and there's no controller for it on the board, so clearly their implementation isn't totally universal; there's no provision for an RS232 converter on there for their serial version, either).
In any case, my assumption is that all the interesting keyboard/mouse data comes over the RS485 line encapsulated in a custom protocol. There's some intelligent device querying in there; individual dongles remember their names that you assign them, among other things. I'm willing to bet that there's some sort of copy protection/lockout scheme in there as well, though it'll have to wait until I get time to look at the communications before I know for sure. The micro they use supports some pretty potent code protection schemes, so it may be impossible to read the code out to disassemble, but just in case, I've ordered a compatible programmer/reader and TQFP test/programming jig off eBay.
I'd like to see about making a dongle (should be relatively cheap) that can do ADB directly since these switches can be bought for a song on eBay. There's no reason a "universal" dongle couldn't be made that handles all the popular modes, perhaps with a DIP switch for selecting the type. I also don't think the ISL4543 supports sync-on-green natively, which is essential for some 68k Macs, so full support for that and the Mac sense codes a la the Griffin MacPnP adaptor would be swell as well.
Pictures tonight, maybe!