| <?xml version="1.0" encoding="UTF-8" ?> |
| |
| <!-- |
| ModemManager 1.0 Interface Specification |
| |
| Copyright (C) 2020 Google, Inc. |
| --> |
| |
| <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> |
| |
| <!-- |
| org.freedesktop.ModemManager1.Modem.Sar: |
| @short_description: The ModemManager dynamic SAR interface. |
| |
| The SAR interface defines operations and properties for dynamic SAR, so |
| that user applications can control the output power level dynamically. |
| |
| Using the SAR interface is not trivial, and it requires prior knowledge of |
| the internal SAR mapping table configured in each device. |
| |
| The SAR mapping table is defined by the manufacturer of the device, and is |
| usually setup to match a specific hardware setup (e.g. a specific laptop or |
| hardware configuration). This table may provide different power levels for |
| different frequency bands and/or antennas. |
| |
| An example SAR mapping table, where all bands and antennas share the same |
| level, could look like this: |
| <table> |
| <tr><td>Power Level</td><td>LTE B3</td> <td>LTE B7</td> <td>LTE B20</td></tr> |
| <tr><td>0</td> <td>26.0 dBm</td> <td>26.5 dBm</td> <td>27.0 dBm</td></tr> |
| <tr><td>1</td> <td>26.5 dBm</td> <td>27.0 dBm</td> <td>27.5 dBm</td></tr> |
| <tr><td>2</td> <td>27.0 dBm</td> <td>27.5 dBm</td> <td>28.0 dBm</td></tr> |
| <tr><td>3</td> <td>27.5 dBm</td> <td>28.0 dBm</td> <td>28.5 dBm</td></tr> |
| <tr><td>4</td> <td>28.0 dBm</td> <td>28.5 dBm</td> <td>28.5 dBm</td></tr> |
| <tr><td>5</td> <td>28.5 dBm</td> <td>28.5 dBm</td> <td>28.5 dBm</td></tr> |
| </table> |
| |
| In this example, the SAR mapping table has 6 different levels (0 to 5), |
| and it's applied exclusively for LTE bands B3, B7 and B20 in all available |
| antennas. None of this information is exposed to the user in the SAR |
| interface, not even the amount of levels available. |
| --> |
| <interface name="org.freedesktop.ModemManager1.Modem.Sar"> |
| |
| <!-- |
| Enable: |
| @enable: %TRUE to enable dynamic SAR and %FALSE to disable it. |
| |
| Enable or disable dynamic SAR. |
| |
| When enabled, the modem's output power level can be dynamically updated |
| by the host. |
| |
| When disabled, the modem's output power level is dynamically updated |
| exclusively by the device. |
| |
| Since: 1.20 |
| --> |
| <method name="Enable"> |
| <arg name="enable" type="b" direction="in" /> |
| </method> |
| |
| <!-- |
| SetPowerLevel: |
| @level: Index of the SAR power level mapping table. |
| |
| Set current dynamic SAR power level for all antennas on the device. |
| |
| Please check with your modem vendor for detailed description on the |
| number of levels and corresponding power output for each level. |
| |
| The index set here will apply to all antennas on the system. |
| |
| Since: 1.20 |
| --> |
| <method name="SetPowerLevel"> |
| <arg name="level" type="u" direction="in" /> |
| </method> |
| |
| <!-- |
| State: |
| |
| Boolean indicating whether dynamic SAR is currently enabled. |
| |
| Since: 1.20 |
| --> |
| <property name="State" type="b" access="read" /> |
| |
| <!-- |
| PowerLevel: |
| |
| Current index of the SAR power level mapping table that is being used |
| for setting the output power of all antennas on the system. |
| |
| This value is only applicable when dynamic SAR is enabled. |
| |
| Since: 1.20 |
| --> |
| <property name="PowerLevel" type="u" access="read" /> |
| |
| </interface> |
| </node> |