Role of device drivers
Device drivers enable publishers to communicate with attached devices by supporting POSIX system calls such as open() and read(). Publishers issue these system calls to drivers to obtain information about the devices that the drivers manage; they then publish the information to RMPS objects that applications monitor. Using this information, applications can issue RMPS commands to perform actions such as setting the power of a USB hub.
Activity | Action |
---|---|
Driver startup | USB launcher service starts and stops drivers when devices are added or removed. |
Driver communication |
Drivers create entries in /dev for attached USB devices and manage communication with USB-connected devices: mass storage, DVD, SD Card, etc. The service monitors /dev entries and, when it notices a state change, asks the driver to retrieve device and mount information, which it then publishes through RMPS.a The service also gets event notifications (e.g., device insertions and removals) from the USB server; it then writes these to RMPS. |