Role of device drivers

QNX SDP8.0Device Publishers Developer's GuideAPIArchitecture

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.

Here is a summary of how the usblauncher_otg publisher typically interacts with the corresponding drivers:
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.

Page updated:
a The usblauncher_otg service doesn't perform device-specific actions, such as ejecting the disc in a USB optical drive.