Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Writing Device Drivers
Previous Next

Sample USB Device Driver

This section describes a template USB device driver that uses the USBA 2.0 framework for the Solaris environment. This driver demonstrates many of the features discussed in this chapter. This template or skeleton driver is named usbskel.

The usbskel driver is a template that you can use to start your own USB device driver. The usbskel driver demonstrates the following features:

  • Reading the raw configuration data of a device. Every USB device needs to be able to report device raw configuration data.

  • Managing pipes. The usbskel driver opens an interrupt pipe to show how to manage pipes.

  • Polling. Comments in the usbskel driver discuss how to do polling.

  • USB version management and registration.

  • USB logging.

  • Accommodations for USB hotplugging.

  • Accommodations for Solaris suspend and resume.

  • Accommodations for power management.

  • USB serialization.

  • Use of USB callbacks.

This usbskel driver is available on Sun's web site at

For source for additional USB drivers, see the OpenSolaris web site. Go to, and click “Source Browser” in the menu on the left side of the page.

Previous Next

  Published under the terms fo the Public Documentation License Version 1.01. Design by Interspire