## Common udev tags Common udev tags — generic udev tags supported |

## Types and Values

#define | ID_MM_CANDIDATE
#define | ID_MM_PHYSDEV_UID
#define | ID_MM_DEVICE_PROCESS
#define | ID_MM_DEVICE_IGNORE
#define | ID_MM_PORT_IGNORE
#define | ID_MM_PORT_TYPE_AT_PPP
#define | ID_MM_PORT_TYPE_AT_PRIMARY
#define | ID_MM_PORT_TYPE_AT_SECONDARY
#define | ID_MM_PORT_TYPE_GPS
#define | ID_MM_PORT_TYPE_QCDM
#define | ID_MM_PORT_TYPE_AUDIO
#define | ID_MM_PORT_TYPE_QMI
#define | ID_MM_PORT_TYPE_MBIM
#define | ID_MM_TTY_BAUDRATE
#define | ID_MM_TTY_FLOW_CONTROL
#define | ID_MM_TTY_BLACKLIST
#define | ID_MM_TTY_MANUAL_SCAN_ONLY

## Description

This section defines generic udev tags that are used by ModemManager, associated to full devices or to specific ports in a given device.

## Functions

## Types and Values

### ID_MM_CANDIDATE

    #define ID_MM_CANDIDATE "ID_MM_CANDIDATE"

This is a port-specific tag added automatically when all other ModemManager related tags have already been set.

Since: 1.10

### ID_MM_PHYSDEV_UID

    #define ID_MM_PHYSDEV_UID "ID_MM_PHYSDEV_UID"

This is a device-specific tag that allows users to 'name' modem devices with a predefined 'unique ID' string.

When this tag is given per-port, the daemon will consider that all ports with the same UID value are associated to the same device. This is useful for e.g. modems that expose multiple RS232 ports connected to the system via different platform ports (or USB to RS232 adapters).

This UID is exposed in the 'Device' property and can then be used in mmcli calls to refer unequivocally to a specific device, regardless of its modem index, e.g.: $ mmcli --modem=UID ...

Since: 1.10

### ID_MM_DEVICE_PROCESS

    #define ID_MM_DEVICE_PROCESS "ID_MM_DEVICE_PROCESS"

This is a device-specific tag that allows explicitly requesting the processing of all ports exposed by the device. This tag is usually used by users when the daemon runs with WHITELIST-ONLY filter policy type, and is associated to the MM_FILTER_RULE_EXPLICIT_WHITELIST rule.

This tag may also be specified in specific ports, e.g. when the modem exposes a single platform port without any parent device.

Since: 1.10

### ID_MM_DEVICE_IGNORE

    #define ID_MM_DEVICE_IGNORE "ID_MM_DEVICE_IGNORE"

This is a device-specific tag that allows explicitly requesting to ignore all ports exposed by the device.

This tag was originally applicable to TTY ports and only when running in certain filter policy types. Since 1.12, this tag applies to all filter types and to all port types (not only TTYs), and is associated to the MM_FILTER_RULE_EXPLICIT_BLACKLIST rule.

Since: 1.10

### ID_MM_PORT_IGNORE

    #define ID_MM_PORT_IGNORE "ID_MM_PORT_IGNORE"

This is a port-specific tag that allows explicitly ignoring a given port in a device.

This tag applies to all types of ports.

Since: 1.10

### ID_MM_PORT_TYPE_AT_PPP

    #define ID_MM_PORT_TYPE_AT_PPP "ID_MM_PORT_TYPE_AT_PPP"

This is a port-specific tag applied to TTYs that we know in advance are AT ports to be used as data ports exclusively.

This tag will also prevent QCDM probing on the port.

Since: 1.10

### ID_MM_PORT_TYPE_AT_PRIMARY

    #define ID_MM_PORT_TYPE_AT_PRIMARY "ID_MM_PORT_TYPE_AT_PRIMARY"

This is a port-specific tag applied to TTYs that we know in advance are AT ports to be used as primary control ports.

This tag will also prevent QCDM probing on the port.

Since: 1.10

### ID_MM_PORT_TYPE_AT_SECONDARY

    #define ID_MM_PORT_TYPE_AT_SECONDARY "ID_MM_PORT_TYPE_AT_SECONDARY"

This is a port-specific tag applied to TTYs that we know in advance are AT ports to be used as secondary control ports.

This tag will also prevent QCDM probing on the port.

Since: 1.10

### ID_MM_PORT_TYPE_GPS

    #define ID_MM_PORT_TYPE_GPS "ID_MM_PORT_TYPE_GPS"

This is a port-specific tag applied to TTYs that we know in advance are GPS data ports where we expect to receive NMEA traces.

This tag also prevents AT and QCDM probing in the port.

Since: 1.10

### ID_MM_PORT_TYPE_QCDM

    #define ID_MM_PORT_TYPE_QCDM "ID_MM_PORT_TYPE_QCDM"

This is a port-specific tag applied to TTYs that we know in advance are QCDM ports.

The only purpose of this tag is to prevent AT probing in the port.

Since: 1.10

### ID_MM_PORT_TYPE_AUDIO

    #define ID_MM_PORT_TYPE_AUDIO "ID_MM_PORT_TYPE_AUDIO"

This is a port-specific tag applied to TTYs that we know in advance are audio ports.

This tag also prevents AT and QCDM probing in the port.

Since: 1.12

### ID_MM_PORT_TYPE_QMI

    #define ID_MM_PORT_TYPE_QMI "ID_MM_PORT_TYPE_QMI"

This is a port-specific tag applied to generic ports that we know in advance are QMI ports.

This tag will also prevent other types of probing (e.g. AT, MBIM) on the port.

This tag is not required for QMI ports exposed by the qmi_wwan driver.

Since: 1.16

### ID_MM_PORT_TYPE_MBIM

    #define ID_MM_PORT_TYPE_MBIM "ID_MM_PORT_TYPE_MBIM"

This is a port-specific tag applied to generic ports that we know in advance are MBIM ports.

This tag will also prevent other types of probing (e.g. AT, QMI) on the port.

This tag is not required for MBIM ports exposed by the cdc_mbim driver.

Since: 1.16

### ID_MM_TTY_BAUDRATE

    #define ID_MM_TTY_BAUDRATE "ID_MM_TTY_BAUDRATE"

This is a port-specific tag applied to TTYs that require a specific baudrate to work. USB modems will usually allow auto-bauding configuration, so this tag is really only meaningful to true RS232 devices.

The value of the tag should be the number of bauds per second to use when talking to the port, e.g. "115200". If not given, the default of 57600bps is assumed.

Since: 1.10

### ID_MM_TTY_FLOW_CONTROL

    #define ID_MM_TTY_FLOW_CONTROL "ID_MM_TTY_FLOW_CONTROL"

This is a port-specific tag applied to TTYs that require a specific flow control mechanism to work not only in data mode but also in control mode.

The value of the tag should be either 'none', 'xon-xoff' or 'rts-cts', and must be a flow control value supported by the device where it's configured. If not given, it is assumed that the TTYs don't require any specific flow control setting in command mode.

Since: 1.10

### ID_MM_TTY_BLACKLIST

    #define ID_MM_TTY_BLACKLIST "ID_MM_TTY_BLACKLIST"

`ID_MM_TTY_BLACKLIST` has been deprecated since version 1.18.0 and should not be used in newly-written code.

This was a device-specific tag that allowed explicitly blacklisting devices that exposed TTY devices so that they were never probed.

This tag was applicable only when running in certain filter policy types, and is no longer used since 1.18.

Since: 1.12

### ID_MM_TTY_MANUAL_SCAN_ONLY

    #define ID_MM_TTY_MANUAL_SCAN_ONLY "ID_MM_TTY_MANUAL_SCAN_ONLY"

`ID_MM_TTY_MANUAL_SCAN_ONLY` has been deprecated since version 1.18.0 and should not be used in newly-written code.

This was a device-specific tag that allowed explicitly greylisting devices that exposed TTY devices so that they were never probed automatically. Instead, an explicit manual scan request could be sent to the daemon so that the TTY ports exposed by the device were probed.

This tag was applicable only when running in certain filter policy types, and is no longer used since 1.18.

Since: 1.12