Command line for mmcsdpub

Updated: April 19, 2023

Start mmcsdpub device publisher

Synopsis

mmcsdpub [-b] [-D] [-d] [-e] -f device_path [-f device_path]*
         [-l] [-m pps_path] [-p insertion:removal] [-s dll_path] [-v]

Options

-b
Run mmcsdpub in the foreground (not background). This option is handy for debugging because you can press CtrlC to terminate the publisher.
By default, mmcsdpub runs in the background.
-D
Inform mmcsdpub of one or more devices managed by a devb-sdmmc driver.
This option applies to the devices named in -f options that appear later in the command line.
-d
Inform mmcsdpub of one or more devices managed by a devb-mmcsd driver.
This option applies to the devices named in -f options that appear later in the command line. A devb-mmcsd driver is used by default, so you need this option only if you used -D earlier to specify the alternative devb-sdmmc driver type for other devices.
-e
Enable auto-enumeration and unmounting of device partitions, based on the state of inserted media (i.e., cards in SD slots). When this option is used, mmcsdpub enumerates partitions on cards when they're ready and then unmounts the partitions when the cards are removed. This activity applies to device paths named in subsequent -f options. For example, consider the command line:
mmcsdpub -f /dev/sda0 -e -f /dev/sdb0
This command forces mmcsdpub to enumerate any partitions on the device represented by /dev/sdb0 (much like running mount -e /dev/sdb0) and to unmount these partitions when appropriate but not to enumerate or unmount the partitions represented by /dev/sda0.
Typically, -e is used when the mmcsd normv option is used for devb-mmcsd. This driver option keeps the /dev entry whether or not a card is inserted in the slot.
By default, auto-enumeration and unmounting of SD and MMC device partitions is disabled. Also, the -e option is ignored for a device path if -D is also used in front of it. For instance, the auto-enumeration wouldn't apply to the device path named in this command line:
mmcsdpub -D -e -f /dev/sda0
-f device_path
Monitor the specified device path (i.e., /dev entry) for state changes to a card reader. You can name multiple devices in separate -f options to make mmcsdpub monitor and communicate with them to obtain information on inserted SD or MMC cards.
Note: This flag and a device entry must be specified at least once on the command line.
-l
Log messages to slog2info instead of standard out.
By default, mmcsdpub logs messages to standard out.
-m pps_path
The PPS directory path. The subdirectories for storing the device, driver, and mount objects are located in this directory. The default is /pps/qnx/.
-p insertion:removal
The insertion and removal polling intervals (in milliseconds), which are how often mmcsdpub checks for card insertions and removals. Often, you'll want the insertion interval to be shorter than the removal interval because detecting new cards and publishing their information through PPS has higher priority than cleaning up PPS objects for cards that have been removed.
The default insertion interval is 1000 ms; the default removal interval is 2000 ms.
-s dll_path
The plugin path. At startup, mmcsdpub looks in this path for plugins that it can load and use to provide more detailed device information (for details, see Plugins).
If this option isn't specified, no plugins are loaded.
-v
Increase output verbosity. The -v option is cumulative, so you can use several v's to increase verbosity. Setting one v logs SD and MMC card insertions and removals. Setting two v's adds the logging of PPS object creation and deletion. Setting three v's logs more detailed events as well as errors that are less severe.
Increasing the output verbosity can help you understand the operation of mmcsdpub. But when you specify many v's, the logging becomes significant. A higher verbosity setting is good for systems under development but probably shouldn't be used in production systems or during performance testing.

Description

Note: You should start mmcsdpub with an explicit command only if the process terminates unexpectedly. Before trying to start mmcsdpub manually, always confirm that the service isn't already running by checking the list of active processes with pidin or ps.

The mmcsdpub command starts the SD device publisher, which monitors SD entries in /dev and publishes up-to-date information on SD or MMC cards through PPS.

You must provide one or more device paths (through -f options) to tell mmcsdpub which device entries to monitor for detecting state changes to card readers. You can put -D or -d options in front of device paths named with -f, to indicate which driver manages certain device paths. Through other options, you can set how often mmcsdpub checks for card insertions and removals and how it logs errors and events.

The mmcsdpub service runs as a self-contained process that doesn't require any user input or accept any commands. It has no client utility for performing device-publishing tasks on request or for adjusting any of its settings. To reconfigure mmcsdpub, you must restart the service with different command-line options. We recommend putting the mmcsdpub command line in a startup script (for instance, startup.sh) to launch the publisher automatically during bootup.