USB Client

USB client controller driver, two gadget drivers of file-backed storage and CDC-EEM/RNDIS will be provided to end-user. File-backed storage gadget provides the host with an access to disk image on the client platform. CDC-EEM/RNDIS gadget makes the client platform appear as a network adapter from the host stand point. Both Windows and Linux host system are supported.

API Framework

Figure 2.14. API Framework

API Framework

The design is based on Linux USB gadget API framework. The peripheral controller driver implements the following functions according to Poulsbo USB client controller hardware:

Mass storage gadget driver follows the protocol USB Mass Storage Bulk-Only Transport. It handles SCSI commands from host and USB requests bypassed from controller for device/config/interface descriptor setting. CDC-EEM/RNDIS gadget driver follows Microsoft Remote NDIS Specification. It is responsible for the following operations:

Utility provides end-user an easy way to use exposed device by gadget drivers. It will use samba service to mount shared image file and DHCP to set IP address.