System information

5 Device Emulation
One of the most important feature of a remote management card is the interaction with
the host. Keyboard and mouse interactions from the commanding computer have to be
transmitted to the remote managed host. The CHARM card has USB interfaces to facilitate
these devices. Additionally, the CHARM card implements also a USB mass storage device.
For this reason, the card can provide a boot device to the host computer. The USB mass
storage implementation is separate in two parts: one for the high level USB protocol and
one for the SCSI
1
commands inside the USB packets. By the reason of this approach, the
software, processing the SCSI commands can also used for the device emulation via PCI.
The next development step is the reduction of the USB interface. With the aid of the PCI
interface, the CHARM could implement a BEV
2
or BCV
3
device. BCV or BEV devices are
IPL
4
devices that has the ability to load and execute an OS.
The host interaction can be accomplished by the PCI interface, too. At boot time, the
CHARM card can use the BIOS keyboard buffer to emulate keystrokes. Additionally, the
CHARM card can also access the PS/2 keyboard controller on the mainboard. The first
sections of this chapter discuss device emulation via USB. After a brief overview of the
USB protocol, the USB interface of the CHARM will be explained. Section 5.1.3 and 5.1.4
illustrate the USB device emulation done in the CHARM more in detail. At the end of the
chapter, the keyboard interaction using the PCI interface is presented.
5.1 USB Device Emulation
The onboard USB controller undertakes the low level USB protocol. It interfaces with the
onboard USB plugs and the Excalibur device. Section 5.1.2 discusses the interface and
feature of the USB chip. Basically, only one of the four existing USB connectors on the
CHARM is used. This is realized by the implementation of a USB composite device. Such
devices provide several independent functions at a single USB connection. The CHARM
card provides a keyboard, a mouse and a mass storage function. The usage of USB has
the advantage to emulated a variety of device. Hence, the CHARM function can easily
expand with new features. For example, the CHARM can provide a video device at its
USB interface on the card bracket. The host screen can be made available to this video
device and emulates a kind of VGA plug on a graphic card. Thereby, the host can be
commanded even if the network connection is down. But in this case, two USB connection
are used: one for the host and one for the inspecting computer obtaining the host screen
1
Small Computer System Interface
2
A Bootstrap Entry Vector is a pointer that points to code inside an option ROM [67].
3
A Boot Connection Vector is a pointer that points to code inside the option ROM that will perform
device initialization [67].
4
Initial Program Load
65