A diversion… almost fell at the first hurdle
In the lab I have two computers, a desktop PC and a MacMini, that provide day to day computing. The Mac for iPhone development and the PC for general duties. I powered down the Mac and swapped in the Raspberry Pi to the Keyboard/Mouse USB Connections and the HDMI for the display. Then I added power via the MicroUSB and with a SD card initialized with Raspberian set about trying to remember how this Pi thing worked.
All was fine for about 2 minutes and then the keyboard became unresponsive. A power cycle failed to resolve the issue. If I had been a bit less hardware oriented I could well have given up at this point but I hate a mystery so decided to delve deeper… My Pi is a very early model, ordered when these devices were first appearing and on back-order, so I figured that there could easily be a hardware issue with early revision boards. After a bit of googling I find some oblique references to power draw causing the PolyFuses to activate and causing the board to go deaf; this was exactly the sort of behaviour I was seeing so..
I warmed up the soldering iron and installed two small wires shorting out each of the Poly Fuses (F1 and F2). Then reconnected everything and the keyboard came back to life.
There is nothing special about my KVM switch so I imagine that reports of trouble getting Pi hardware talking to various keyboards is probably down to this issue.
The Motorola Oncore dates from a day when 5V TTL levels were common-place so the most obvious solution is to combine the Oncore with the Pi using a 3.3v to 5v level converters but given that I already had a nice Oncore enclosure that worked using RS232 (and interfaced well to my PC via a Modem Serial Cable) I decided to, at least initially, interface at the RS232 level.
The Pi has a UART available via the GPIO header with 3.3v logic levels however I found a simple RS232 interface board from a UK company at a price that made it a good alternative to knocking up something myself. (I actually opted for the slightly souped up version of this board that additionally has 1-wire I/O; but the principles should be the same; I have an interest is temperature logging so the 1-wire interface could prove useful for another project at a later date).
The Interface provides RS232 levels for RX and TX but does not support the PPS DCD signal. A quick look at the board showed it used a MAX3232 transceiver with two out of four transceivers used, which left two free. By connecting DCD from the GPS to unused Pin 13 yielded 3.3v logic levels on unused Pin 12 which could be patched to the GPIO Pin 18.
Pin1 DCD (for PPS signal) routes to other side of board
On top side of board we use the free transceiver on the MAX3232 chip to convert the +/-9v RS232 signals to 3.3v logic levels for the Pi. The output is routed to GPIO Pin 18 on the header. Easy! Only 2 wires and we have a working interface!