okvm
okvm's KVM over IP
The okvm project team in 2005 developed an open source okvm KVM Development Kit - so engineers could cost effectively roll their own integrated KVM over IP control appliances. These okvm KVM Development kits included:
- one okvm PCI KVM Adapter card
- the okvm KVM over IP software source code
- the source information needed to manufacture the okvm PCI KVM Adapter card (circuit diagrams, BOM,PCD layout etc)
A number of the KVM PCI cards were produced - sponsored by Opengear. However this project did not find traction in the developer community. So kits are no longer available and development in this branch of the project has stopped. Also Opengear now sells a proprietary KVM over IP solution!
History
KVM switches were designed many years back, to allow a single operator to control multiple computers. This was done by switching between the human interface devices (Keyboard, Video screen and Mouse) of each server in the computer room. Over time, this switching task has evolved from patch, through mechanical switches, into proprietary digital KVM switch solutions.
To enable these KVM switches (and the attached computers) in data centers to be managed over the local IP network, a selection of proprietary KVM over IP solutions were then developed. KVM over IP also delivers remote management capability. The okvm project set out to develop a fully open source KVM over IP technology altrenative.
The notes below describe what was developed before work on this branch of the okvm project ceased
The okvm KVM over IP management software
The okvm KVM over IP management software is closely linked with the okvm Console management software. It is being built with the same standard uClinux Linux kernal, and embodies the same popular and proven Linux software modules for networking (NetFilter, IPTables), secure access (OpenSSH) and communications (OpenSSL) and user authentication (PAM, RADIUS, TACACS+ and LDAP). It also embodies modified VNC server and client software, and full source code is available for all modules. The majority of the project written in C and the okvm KVM over IP management software can be run on
a standard PC ... however some additional hardware is necessary. The okvm KVM and Serial over IP software could be downloaded from okvm.sf.net. It also shipped on CD with KVM Development Kit.
The Hardware
Implementing KVM over IP on a PC platform requires a hardware component to
deliver the keyboard/ video/ mouse interfaces. To enable this, the okvm team is delivering "open source" PCI card designs (which anyone is free to build). These low cost PCI cards can be installed in any suitable PC system running the okvm Linux software, and they will implement the keyboard, video and mouse
capture/emulation support required for a fully featured KVM over IP management server. The plan here was to develop a number of open source reference design cards around a selction of graphics processor chip technologies.
okvm's PCI KVM Adapter
The first open source PCI adapter design uses the Jepico j-L201 graphics processor; and
The circuit diagrams and other hardware source documentation can be downloaded now from okvm.sf.net enabling
third parties to freely manufacture their own cards. Also Opengear is manufacturing these cards, and supplying them at cost to developers. The drivers for the video,
keyboard and mouse capture/emulation and the PCI control are included in the open source okvm KVM software. The adapter has four basic functions:
- Capture PC Screen RGB video at 1024x768 75Hz into a host accessible
frame buffer (1280x1024 capable)
- Modified VNC server software sends screen changes to the remote VNC client at a lower frame rate
- Emulate the keyboard function at the target server being controlled
- VNC server software receives remote client keyboard strokes
- The keyboard emulation hardware sends these to the target server using PS/2 protocol
- Emulate the mouse function at the target server being controlled
- VNC server software receives client mouse movements
- The mouse emulation hardware sends these to the target server using PS/2 protocol
- Interoperate with an external multi-channel analog or digital KVM switch
- An external low-cost KVM switch allows KVM access to multiple servers, one at a time
The block diagram shows how the basic okvm functions are provided on the PCI cards:
- PCI Bridge couples target I/O and DMA devices to host CPU
- RGB Digitizer converts analog SXGA signal to 48-bit digital and has an I2C interface for video configuration
- Image Streaming Platform LSI JEPICO j-L201 captures digital image into frame buffer memory
- Dual port RAM is a convenient means for the host to transfer keyboard and mouse protocol bytes to Micro controller
- Micro controller transfers keyboard and mouse protocol bytes to target system using PS/2 2-wire clocked serial interface