System information
5 Device Emulation
Operation Code Meaning Description
0x12 Inquiry Requests basic information like the vendor name.
0x25 Read Capacity Requests the data capacity information.
0x28 Read Read Request.
0x2A Write Write Request.
There are four basic SCSI commands for a mass storage device:
More information about the supporting SCSI commands can be found at [73]. The
MSBO firmware administrates a send and receive buffer for the incoming and outgoing
SCSI commands. This buffer is called Transfer Buffer. The USB Controller writes the
received SCSI requests to the Transfer Buffer (see figure 5.7).
AHB-HPI
Bridge
USB Wrapper
Host
Computer
MSBO
Daemon
USB ControllerARM CPU
Bulk out
DMA
Transfer
Buffer
MSBO
Firmware
...
SCSI
Command
CBW
Figure 5.7: Usage of the Transfer Buffer. The buffer contains the incoming USB requests.
Otherwise, the data which has to be sent is also written to the Transfer Buffer. The USB
controller uses this buffer to provide bulk data to the host computer. The buffer is locked
until the data is sent to the host. The location of this buffer depends on the used USB
firmware. There are a different kinds of firmware which were developed for special cases.
Table F.2 lists the available USB firmware for the CHARM card. The firmware sends a
MESSAGE_CMD_CONFIGURATION message to tell the MSBO daemon the location of
the Transfer Buffer.
Data Source
The CHARM card has a small amount of non volatile memory. Large files like disk images
have to be stored outside the CHARM memory. There are two types of network storage
used by the CHARM: a file on a network file system or a file on a web server. Figure 5.8
illustrates the two types of data source for the MSBO daemon. The daemon transforms the
74