Skip Navigation Links | |
Exit Print View | |
Writing Device Drivers Oracle Solaris 11.1 Information Library |
Part I Designing Device Drivers for the Oracle Solaris Platform
1. Overview of Oracle Solaris Device Drivers
2. Oracle Solaris Kernel and Device Tree
5. Managing Events and Queueing Tasks
7. Device Access: Programmed I/O
10. Mapping Device and Kernel Memory
13. Hardening Oracle Solaris Drivers
14. Layered Driver Interface (LDI)
Part II Designing Specific Kinds of Device Drivers
15. Drivers for Character Devices
18. SCSI Host Bus Adapter Drivers
19. Drivers for Network Devices
USB in the Oracle Solaris Environment
How USB Devices Appear to the System
USB Devices and the Oracle Solaris Device Tree
Devices With Multiple Interfaces
Devices With Interface-Association Descriptors
Checking Device Driver Bindings
Before the Client Driver Is Attached
Registering Drivers to Gain Device Access
Synchronous and Asynchronous Transfers and Callbacks
Device Configuration Facilities
Multiple-Configuration Devices
Modifying or Getting the Alternate Setting
Retrieving a String Descriptor
Getting Device, Interface, or Endpoint Status
Getting the Bus Address of a Device
Part III Building a Device Driver
22. Compiling, Loading, Packaging, and Testing Drivers
23. Debugging, Testing, and Tuning Device Drivers
24. Recommended Coding Practices
B. Summary of Oracle Solaris DDI/DKI Services
C. Making a Device Driver 64-Bit Ready
This section describes a template USB device driver that uses the USBA 2.0 framework for the Oracle 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 Oracle Solaris suspend and resume.
Accommodations for power management.
USB serialization.
Use of USB callbacks.