Lines Matching +full:serial +full:- +full:out
1 .. SPDX-License-Identifier: GPL-2.0-or-later
4 Dell DDV WMI interface driver (dell-wmi-ddv)
10 Many Dell notebooks made after ~2020 support a WMI-based interface for
15 so it was called `DDV`. Currently the ``dell-wmi-ddv`` driver supports
21 trial-and-error, please keep that in mind.
27 including batteries. It has a form similar to `CC-PPPPPP-MMMMM-YMD-SSSS-FFF`
52 …), Locale("MS\\0x409"), Description("WMI Function"), guid("{8A42EA14-4F2A-FD45-6422-0087F7A7E608}"…
57 …Return Battery Design Capacity.")] void BatteryDesignCapacity([in] uint32 arg2, [out] uint32 argr);
58 …ttery Full Charge Capacity.")] void BatteryFullChargeCapacity([in] uint32 arg2, [out] uint32 argr);
59 …turn Battery Manufacture Name.")] void BatteryManufactureName([in] uint32 arg2, [out] string argr);
60 …turn Battery Manufacture Date.")] void BatteryManufactureDate([in] uint32 arg2, [out] uint32 argr);
61 …d, read, write, Description("Return Battery Serial Number.")] void BatterySerialNumber([in] uint32…
62 …Return Battery Chemistry Value.")] void BatteryChemistryValue([in] uint32 arg2, [out] string argr);
63 …ption("Return Battery Temperature.")] void BatteryTemperature([in] uint32 arg2, [out] uint32 argr);
64 …, Description("Return Battery Current.")] void BatteryCurrent([in] uint32 arg2, [out] uint32 argr);
65 …, Description("Return Battery Voltage.")] void BatteryVoltage([in] uint32 arg2, [out] uint32 argr);
66 …Manufacture Access(MA code).")] void BatteryManufactureAceess([in] uint32 arg2, [out] uint32 argr);
67 …escription("Return Battery Relative State-Of-Charge.")] void BatteryRelativeStateOfCharge([in] uin…
68 …ription("Return Battery Cycle Count")] void BatteryCycleCount([in] uint32 arg2, [out] uint32 argr);
69 …write, Description("Return Battery ePPID")] void BatteryePPID([in] uint32 arg2, [out] string argr);
70 …Battery Raw Analytics Start")] void BatteryeRawAnalyticsStart([in] uint32 arg2, [out] uint32 argr);
71 …y Raw Analytics")] void BatteryeRawAnalytics([in] uint32 arg2, [out] uint32 RawSize, [out, WmiSize…
72 …("Return Battery Design Voltage.")] void BatteryDesignVoltage([in] uint32 arg2, [out] uint32 argr);
73 …s A Block")] void BatteryeRawAnalyticsABlock([in] uint32 arg2, [out] uint32 RawSize, [out, WmiSize…
74 …ad, write, Description("Return Version.")] void ReturnVersion([in] uint32 arg2, [out] uint32 argr);
75 …sor Information")] void FanSensorInformation([in] uint32 arg2, [out] uint32 RawSize, [out, WmiSize…
76 …Information")] void ThermalSensorInformation([in] uint32 arg2, [out] uint32 RawSize, [out, WmiSize…
79 Each WMI method takes an ACPI buffer containing a 32-bit index as input argument,
80 with the first 8 bit being used to specify the battery when using battery-related
92 The data format of many battery-related methods seems to be based on the
93 `Smart Battery Data Specification`, so unknown battery-related methods are
97 -------------------------------------
102 ------------------------------
107 -----------------------------------
112 -----------------------------------
117 - bits 0 to 4 contain the manufacture day.
118 - bits 5 to 8 contain the manufacture month.
119 - bits 9 to 15 contain the manufacture year biased by 1980.
122 --------------------------------
124 Returns the serial number of the battery as an u16.
127 ----------------------------------
132 - "Li-I" for Li-Ion
135 -------------------------------
140 ---------------------------
146 ---------------------------
151 -------------------------------------
156 - the third nibble contains the general failure mode
157 - the fourth nibble contains the specific failure code
161 - permanent failure (``0x9``)
162 - overheat failure (``0xa``)
163 - overcurrent failure (``0xb``)
169 - fuse blown (``0x0``)
170 - cell imbalance (``0x1``)
171 - overvoltage (``0x2``)
172 - fet failure (``0x3``)
179 - overheat at start of charging (``0x5``)
180 - overheat during charging (``0x7``)
181 - overheat during discharging (``0x8``)
185 - overcurrent during charging (``0x6``)
186 - overcurrent during discharging (``0xb``)
189 -----------------------------------------
194 ------------------------------
199 -------------------------
204 --------------------------------------
208 - ``0x0``: Success
209 - ``0x1``: Interface not supported
210 - ``0xfffffffe``: Error/Timeout
216 ---------------------------------
221 - a block number starting with 0 (u8)
222 - 31 bytes of unknown data
228 ---------------------------------
233 ---------------------------------------
244 --------------------------
249 ---------------------------------
255 - fan type (u8)
256 - fan speed in RPM (little endian u16)
259 -------------------------------------
265 - thermal type (u8)
266 - current temperature (s8)
267 - min. temperature (s8)
268 - max. temperature (s8)
269 - unknown field (u8)
272 TODO: Find out what the meaning of the last byte is.
280 Basically for each new ACPI battery, the serial numbers of the batteries behind
281 indices 1 till 3 are compared with the serial number of the ACPI battery.
282 Since the serial number of the ACPI battery can either be encoded as a normal
284 index with a matching serial number is then selected.
286 A serial number of 0 indicates that the corresponding index is not associated
293 Reverse-Engineering the DDV WMI interface
302 5. Use the built-in UEFI diagnostics to view sensor types/values for fan/thermal
309 1. Load the ``dell-wmi-ddv`` driver, use the ``force`` module param
312 3. Compare the data with the built-in UEFI diagnostics.
317 to the ``dell-wmi-ddv`` driver.
319 See Documentation/admin-guide/reporting-issues.rst for further information.