sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget-/translations/zh_CN/wmi/devices/alienware-wmimodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/zh_TW/wmi/devices/alienware-wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/it_IT/wmi/devices/alienware-wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/ja_JP/wmi/devices/alienware-wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/ko_KR/wmi/devices/alienware-wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/pt_BR/wmi/devices/alienware-wmimodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/sp_SP/wmi/devices/alienware-wmimodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h)SPDX-License-Identifier: GPL-2.0-or-laterh]h)SPDX-License-Identifier: GPL-2.0-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhG/var/lib/git/docbuild/linux/Documentation/wmi/devices/alienware-wmi.rsthKubhsection)}(hhh](htitle)}(h.Dell AWCC WMI interface driver (alienware-wmi)h]h.Dell AWCC WMI interface driver (alienware-wmi)}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Introductionh]h Introduction}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hX`The WMI device WMAX has been implemented for many Alienware and Dell's G-Series models. Throughout these models, two implementations have been identified. The first one, used by older systems, deals with HDMI, brightness, RGB, amplifier and deep sleep control. The second one used by newer systems deals primarily with thermal control and overclocking.h]hXbThe WMI device WMAX has been implemented for many Alienware and Dell’s G-Series models. Throughout these models, two implementations have been identified. The first one, used by older systems, deals with HDMI, brightness, RGB, amplifier and deep sleep control. The second one used by newer systems deals primarily with thermal control and overclocking.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hX It is suspected that the latter is used by Alienware Command Center (AWCC) to manage manufacturer predefined thermal profiles. The alienware-wmi driver exposes Thermal_Information and Thermal_Control methods through the Platform Profile API to mimic AWCC's behavior.h]hX It is suspected that the latter is used by Alienware Command Center (AWCC) to manage manufacturer predefined thermal profiles. The alienware-wmi driver exposes Thermal_Information and Thermal_Control methods through the Platform Profile API to mimic AWCC’s behavior.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hThis newer interface, named AWCCMethodFunction has been reverse engineered, as Dell has not provided any official documentation. We will try to describe to the best of our ability its discovered inner workings.h]hThis newer interface, named AWCCMethodFunction has been reverse engineered, as Dell has not provided any official documentation. We will try to describe to the best of our ability its discovered inner workings.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhnote)}(hvThe following method description may be incomplete and some operations have different implementations between devices.h]h)}(hvThe following method description may be incomplete and some operations have different implementations between devices.h]hvThe following method description may be incomplete and some operations have different implementations between devices.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhhhhhNubh)}(hhh](h)}(hWMI interface descriptionh]hWMI interface description}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4hhhhhKubh)}(hThe WMI interface description can be decoded from the embedded binary MOF (bmof) data using the `bmfdec `_ utility:h](h`The WMI interface description can be decoded from the embedded binary MOF (bmof) data using the }(hjEhhhNhNubh reference)}(h*`bmfdec `_h]hbmfdec}(hjOhhhNhNubah}(h]h ]h"]h$]h&]namebmfdecrefurihttps://github.com/pali/bmfdecuh1jMhjEubhtarget)}(h! h]h}(h]bmfdecah ]h"]bmfdecah$]h&]refurij`uh1ja referencedKhjEubh utility:}(hjEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hj4hhubh literal_block)}(hX[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("WMI Function"), guid("{A70591CE-A997-11DA-B012-B622A1EF5492}")] class AWCCWmiMethodFunction { [key, read] string InstanceName; [read] boolean Active; [WmiMethodId(13), Implemented, read, write, Description("Return Overclocking Report.")] void Return_OverclockingReport([out] uint32 argr); [WmiMethodId(14), Implemented, read, write, Description("Set OCUIBIOS Control.")] void Set_OCUIBIOSControl([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(15), Implemented, read, write, Description("Clear OC FailSafe Flag.")] void Clear_OCFailSafeFlag([out] uint32 argr); [WmiMethodId(19), Implemented, read, write, Description("Get Fan Sensors.")] void GetFanSensors([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(20), Implemented, read, write, Description("Thermal Information.")] void Thermal_Information([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(21), Implemented, read, write, Description("Thermal Control.")] void Thermal_Control([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(23), Implemented, read, write, Description("MemoryOCControl.")] void MemoryOCControl([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(26), Implemented, read, write, Description("System Information.")] void SystemInformation([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(28), Implemented, read, write, Description("Power Information.")] void PowerInformation([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(32), Implemented, read, write, Description("FW Update GPIO toggle.")] void FWUpdateGPIOtoggle([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(33), Implemented, read, write, Description("Read Total of GPIOs.")] void ReadTotalofGPIOs([out] uint32 argr); [WmiMethodId(34), Implemented, read, write, Description("Read GPIO pin Status.")] void ReadGPIOpPinStatus([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(35), Implemented, read, write, Description("Read Chassis Color.")] void ReadChassisColor([out] uint32 argr); [WmiMethodId(36), Implemented, read, write, Description("Read Platform Properties.")] void ReadPlatformProperties([out] uint32 argr); [WmiMethodId(37), Implemented, read, write, Description("Game Shift Status.")] void GameShiftStatus([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(128), Implemented, read, write, Description("Caldera SW installation.")] void CalderaSWInstallation([out] uint32 argr); [WmiMethodId(129), Implemented, read, write, Description("Caldera SW is released.")] void CalderaSWReleased([out] uint32 argr); [WmiMethodId(130), Implemented, read, write, Description("Caldera Connection Status.")] void CalderaConnectionStatus([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(131), Implemented, read, write, Description("Surprise Unplugged Flag Status.")] void SurpriseUnpluggedFlagStatus([out] uint32 argr); [WmiMethodId(132), Implemented, read, write, Description("Clear Surprise Unplugged Flag.")] void ClearSurpriseUnpluggedFlag([out] uint32 argr); [WmiMethodId(133), Implemented, read, write, Description("Cancel Undock Request.")] void CancelUndockRequest([out] uint32 argr); [WmiMethodId(135), Implemented, read, write, Description("Devices in Caldera.")] void DevicesInCaldera([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(136), Implemented, read, write, Description("Notify BIOS for SW ready to disconnect Caldera.")] void NotifyBIOSForSWReadyToDisconnectCaldera([out] uint32 argr); [WmiMethodId(160), Implemented, read, write, Description("Tobii SW installation.")] void TobiiSWinstallation([out] uint32 argr); [WmiMethodId(161), Implemented, read, write, Description("Tobii SW Released.")] void TobiiSWReleased([out] uint32 argr); [WmiMethodId(162), Implemented, read, write, Description("Tobii Camera Power Reset.")] void TobiiCameraPowerReset([out] uint32 argr); [WmiMethodId(163), Implemented, read, write, Description("Tobii Camera Power On.")] void TobiiCameraPowerOn([out] uint32 argr); [WmiMethodId(164), Implemented, read, write, Description("Tobii Camera Power Off.")] void TobiiCameraPowerOff([out] uint32 argr); };h]hX[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("WMI Function"), guid("{A70591CE-A997-11DA-B012-B622A1EF5492}")] class AWCCWmiMethodFunction { [key, read] string InstanceName; [read] boolean Active; [WmiMethodId(13), Implemented, read, write, Description("Return Overclocking Report.")] void Return_OverclockingReport([out] uint32 argr); [WmiMethodId(14), Implemented, read, write, Description("Set OCUIBIOS Control.")] void Set_OCUIBIOSControl([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(15), Implemented, read, write, Description("Clear OC FailSafe Flag.")] void Clear_OCFailSafeFlag([out] uint32 argr); [WmiMethodId(19), Implemented, read, write, Description("Get Fan Sensors.")] void GetFanSensors([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(20), Implemented, read, write, Description("Thermal Information.")] void Thermal_Information([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(21), Implemented, read, write, Description("Thermal Control.")] void Thermal_Control([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(23), Implemented, read, write, Description("MemoryOCControl.")] void MemoryOCControl([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(26), Implemented, read, write, Description("System Information.")] void SystemInformation([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(28), Implemented, read, write, Description("Power Information.")] void PowerInformation([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(32), Implemented, read, write, Description("FW Update GPIO toggle.")] void FWUpdateGPIOtoggle([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(33), Implemented, read, write, Description("Read Total of GPIOs.")] void ReadTotalofGPIOs([out] uint32 argr); [WmiMethodId(34), Implemented, read, write, Description("Read GPIO pin Status.")] void ReadGPIOpPinStatus([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(35), Implemented, read, write, Description("Read Chassis Color.")] void ReadChassisColor([out] uint32 argr); [WmiMethodId(36), Implemented, read, write, Description("Read Platform Properties.")] void ReadPlatformProperties([out] uint32 argr); [WmiMethodId(37), Implemented, read, write, Description("Game Shift Status.")] void GameShiftStatus([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(128), Implemented, read, write, Description("Caldera SW installation.")] void CalderaSWInstallation([out] uint32 argr); [WmiMethodId(129), Implemented, read, write, Description("Caldera SW is released.")] void CalderaSWReleased([out] uint32 argr); [WmiMethodId(130), Implemented, read, write, Description("Caldera Connection Status.")] void CalderaConnectionStatus([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(131), Implemented, read, write, Description("Surprise Unplugged Flag Status.")] void SurpriseUnpluggedFlagStatus([out] uint32 argr); [WmiMethodId(132), Implemented, read, write, Description("Clear Surprise Unplugged Flag.")] void ClearSurpriseUnpluggedFlag([out] uint32 argr); [WmiMethodId(133), Implemented, read, write, Description("Cancel Undock Request.")] void CancelUndockRequest([out] uint32 argr); [WmiMethodId(135), Implemented, read, write, Description("Devices in Caldera.")] void DevicesInCaldera([in] uint32 arg2, [out] uint32 argr); [WmiMethodId(136), Implemented, read, write, Description("Notify BIOS for SW ready to disconnect Caldera.")] void NotifyBIOSForSWReadyToDisconnectCaldera([out] uint32 argr); [WmiMethodId(160), Implemented, read, write, Description("Tobii SW installation.")] void TobiiSWinstallation([out] uint32 argr); [WmiMethodId(161), Implemented, read, write, Description("Tobii SW Released.")] void TobiiSWReleased([out] uint32 argr); [WmiMethodId(162), Implemented, read, write, Description("Tobii Camera Power Reset.")] void TobiiCameraPowerReset([out] uint32 argr); [WmiMethodId(163), Implemented, read, write, Description("Tobii Camera Power On.")] void TobiiCameraPowerOn([out] uint32 argr); [WmiMethodId(164), Implemented, read, write, Description("Tobii Camera Power Off.")] void TobiiCameraPowerOff([out] uint32 argr); };}hj}sbah}(h]h ]h"]h$]h&]hhuh1j{hhhK%hj4hhubh)}(hFMethods not described in the following document have unknown behavior.h]hFMethods not described in the following document have unknown behavior.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhj4hhubeh}(h]wmi-interface-descriptionah ]h"]wmi interface descriptionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hArgument Structureh]hArgument Structure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKKubh)}(hXxAll input arguments have type **uint32** and their structure is very similar between methods. Usually, the first byte corresponds to a specific *operation* the method performs, and the subsequent bytes correspond to *arguments* passed to this *operation*. For example, if an operation has code 0x01 and requires an ID 0xA0, the argument you would pass to the method is 0xA001.h](hAll input arguments have type }(hjhhhNhNubhstrong)}(h **uint32**h]huint32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhh and their structure is very similar between methods. Usually, the first byte corresponds to a specific }(hjhhhNhNubhemphasis)}(h *operation*h]h operation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh= the method performs, and the subsequent bytes correspond to }(hjhhhNhNubj)}(h *arguments*h]h arguments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh passed to this }(hjhhhNhNubj)}(h *operation*h]h operation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhz. For example, if an operation has code 0x01 and requires an ID 0xA0, the argument you would pass to the method is 0xA001.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKMhjhhubeh}(h]argument-structureah ]h"]argument structureah$]h&]uh1hhhhhhhhKKubeh}(h] introductionah ]h"] introductionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hThermal Methodsh]hThermal Methods}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKUubh)}(hhh](h)}(h=WMI method GetFanSensors([in] uint32 arg2, [out] uint32 argr)h]h=WMI method GetFanSensors([in] uint32 arg2, [out] uint32 argr)}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hhhhhKXubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjEubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jHhjEubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjEubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(hOperation (Byte 0)h]hOperation (Byte 0)}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjtubah}(h]h ]h"]h$]h&]uh1jrhjoubjs)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1jrhjoubjs)}(hhh]h)}(h Argumentsh]h Arguments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1jrhjoubeh}(h]h ]h"]h$]h&]uh1jmhjjubah}(h]h ]h"]h$]h&]uh1jhhjEubhtbody)}(hhh](jn)}(hhh](js)}(hhh]h)}(h0x01h]h0x01}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h;Get the number of temperature sensors related with a fan IDh]h;Get the number of temperature sensors related with a fan ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h bullet_list)}(hhh]h list_item)}(hByte 1: Fan ID h]h)}(hByte 1: Fan IDh]hByte 1: Fan ID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]bullet-uh1jhhhK]hjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh]h)}(h0x02h]h0x02}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hj4ubah}(h]h ]h"]h$]h&]uh1jrhj1ubjs)}(hhh]h)}(h9Get the temperature sensor IDs related to a fan sensor IDh]h9Get the temperature sensor IDs related to a fan sensor ID}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hjKubah}(h]h ]h"]h$]h&]uh1jrhj1ubjs)}(hhh]j)}(hhh](j)}(hByte 1: Fan IDh]h)}(hjjh]hByte 1: Fan ID}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hjhubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(h Byte 2: Indexh]h)}(hjh]h Byte 2: Index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKahjubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]j#j$uh1jhhhK`hjbubah}(h]h ]h"]h$]h&]uh1jrhj1ubeh}(h]h ]h"]h$]h&]uh1jmhjubeh}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]colsKuh1jChj@ubah}(h]h ]h"]h$]h&]uh1j>hj-hhhNhNubeh}(h]7wmi-method-getfansensors-in-uint32-arg2-out-uint32-argrah ]h"]=wmi method getfansensors([in] uint32 arg2, [out] uint32 argr)ah$]h&]uh1hhjhhhhhKXubh)}(hhh](h)}(hCWMI method Thermal_Information([in] uint32 arg2, [out] uint32 argr)h]hCWMI method Thermal_Information([in] uint32 arg2, [out] uint32 argr)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKeubj?)}(hhh]jD)}(hhh](jI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubji)}(hhh]jn)}(hhh](js)}(hhh]h)}(hOperation (Byte 0)h]hOperation (Byte 0)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h Argumentsh]h Arguments}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhj,ubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjubah}(h]h ]h"]h$]h&]uh1jhhjubj)}(hhh](jn)}(hhh](js)}(hhh]h)}(h0x01h]h0x01}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjUubah}(h]h ]h"]h$]h&]uh1jrhjRubjs)}(hhh]h)}(hUnknown.h]hUnknown.}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjlubah}(h]h ]h"]h$]h&]uh1jrhjRubjs)}(hhh]j)}(hhh]j)}(hNoneh]h)}(hjh]hNone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKjhjubah}(h]h ]h"]h$]h&]uh1jrhjRubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x02h]h0x02}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](h)}(h;Get system description number with the following structure:h]h;Get system description number with the following structure:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjubj)}(hhh](j)}(hByte 0: Number of fansh]h)}(hjh]hByte 0: Number of fans}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h%Byte 1: Number of temperature sensorsh]h)}(h%Byte 1: Number of temperature sensorsh]h%Byte 1: Number of temperature sensors}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hByte 2: Unknownh]h)}(hjh]hByte 2: Unknown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h"Byte 3: Number of thermal profilesh]h)}(h"Byte 3: Number of thermal profilesh]h"Byte 3: Number of thermal profiles}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj&ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]j#j$uh1jhhhKohjubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]j)}(hhh]j)}(h None h]h)}(hNoneh]hNone}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjPubah}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKlhjJubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x03h]h0x03}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhj}ubah}(h]h ]h"]h$]h&]uh1jrhjzubjs)}(hhh](h)}(hList an ID or resource at a given index. Fan IDs, temperature IDs, unknown IDs and thermal profile IDs are listed in that exact order.h]hList an ID or resource at a given index. Fan IDs, temperature IDs, unknown IDs and thermal profile IDs are listed in that exact order.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjubh)}(hDOperation 0x02 is used to know which indexes map to which resources.h]hDOperation 0x02 is used to know which indexes map to which resources.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK|hjubh)}(h **Returns:** ID at a given indexh](j)}(h **Returns:**h]hReturns:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh ID at a given index}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1jrhjzubjs)}(hhh]j)}(hhh]j)}(hByte 1: Index h]h)}(h Byte 1: Indexh]h Byte 1: Index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKvhjubah}(h]h ]h"]h$]h&]uh1jrhjzubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x04h]h0x04}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h;Get the current temperature for a given temperature sensor.h]h;Get the current temperature for a given temperature sensor.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]j)}(hhh]j)}(hByte 1: Sensor IDh]h)}(hByte 1: Sensor IDh]hByte 1: Sensor ID}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhj6ubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x05h]h0x05}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjiubah}(h]h ]h"]h$]h&]uh1jrhjfubjs)}(hhh]h)}(h$Get the current RPM for a given fan.h]h$Get the current RPM for a given fan.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjfubjs)}(hhh]j)}(hhh]j)}(hByte 1: Fan ID h]h)}(hByte 1: Fan IDh]hByte 1: Fan ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjfubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x06h]h0x06}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h:Get fan speed percentage. (not implemented in every model)h]h:Get fan speed percentage. (not implemented in every model)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]j)}(hhh]j)}(hByte 1: Fan ID h]h)}(hByte 1: Fan IDh]hByte 1: Fan ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x07h]h0x07}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1jrhj(ubjs)}(hhh]h)}(hUnknown.h]hUnknown.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjBubah}(h]h ]h"]h$]h&]uh1jrhj(ubjs)}(hhh]j)}(hhh]j)}(hUnknownh]h)}(hjah]hUnknown}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj_ubah}(h]h ]h"]h$]h&]uh1jhj\ubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjYubah}(h]h ]h"]h$]h&]uh1jrhj(ubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x08h]h0x08}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h#Get minimum RPM for a given FAN ID.h]h#Get minimum RPM for a given FAN ID.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]j)}(hhh]j)}(hByte 1: Fan ID h]h)}(hByte 1: Fan IDh]hByte 1: Fan ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x09h]h0x09}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h#Get maximum RPM for a given FAN ID.h]h#Get maximum RPM for a given FAN ID.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]j)}(hhh]j)}(hByte 1: Fan ID h]h)}(hByte 1: Fan IDh]hByte 1: Fan ID}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x0Ah]h0x0A}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjMubah}(h]h ]h"]h$]h&]uh1jrhjJubjs)}(hhh]h)}(h Get balanced thermal profile ID.h]h Get balanced thermal profile ID.}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjdubah}(h]h ]h"]h$]h&]uh1jrhjJubjs)}(hhh]j)}(hhh]j)}(hNoneh]h)}(hjh]hNone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhj{ubah}(h]h ]h"]h$]h&]uh1jrhjJubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x0Bh]h0x0B}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(hGet current thermal profile ID.h]hGet current thermal profile ID.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]j)}(hhh]j)}(hNoneh]h)}(hjh]hNone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjOubjn)}(hhh](js)}(hhh]h)}(h0x0Ch]h0x0C}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h-Get current `boost` value for a given fan ID.h](h Get current }(hj' hhhNhNubhtitle_reference)}(h`boost`h]hboost}(hj1 hhhNhNubah}(h]h ]h"]h$]h&]uh1j/ hj' ubh value for a given fan ID.}(hj' hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj$ ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]j)}(hhh]j)}(hByte 1: Fan ID h]h)}(hByte 1: Fan IDh]hByte 1: Fan ID}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjU ubah}(h]h ]h"]h$]h&]uh1jhjR ubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjO ubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhjOubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jChjubah}(h]h ]h"]h$]h&]uh1j>hjhhhNhNubeh}(h]=wmi-method-thermal-information-in-uint32-arg2-out-uint32-argrah ]h"]Cwmi method thermal_information([in] uint32 arg2, [out] uint32 argr)ah$]h&]uh1hhjhhhhhKeubh)}(hhh](h)}(h?WMI method Thermal_Control([in] uint32 arg2, [out] uint32 argr)h]h?WMI method Thermal_Control([in] uint32 arg2, [out] uint32 argr)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubj?)}(hhh]jD)}(hhh](jI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhj ubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jHhj ubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhj ubji)}(hhh]jn)}(hhh](js)}(hhh]h)}(hOperation (Byte 0)h]hOperation (Byte 0)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h Descriptionh]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h Argumentsh]h Arguments}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhj ubah}(h]h ]h"]h$]h&]uh1jhhj ubj)}(hhh](jn)}(hhh](js)}(hhh]h)}(h0x01h]h0x01}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj, ubah}(h]h ]h"]h$]h&]uh1jrhj) ubjs)}(hhh]h)}(h!Activate a given thermal profile.h]h!Activate a given thermal profile.}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjC ubah}(h]h ]h"]h$]h&]uh1jrhj) ubjs)}(hhh]j)}(hhh]j)}(hByte 1: Thermal profile IDh]h)}(hByte 1: Thermal profile IDh]hByte 1: Thermal profile ID}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj` ubah}(h]h ]h"]h$]h&]uh1jhj] ubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjZ ubah}(h]h ]h"]h$]h&]uh1jrhj) ubeh}(h]h ]h"]h$]h&]uh1jmhj& ubjn)}(hhh](js)}(hhh]h)}(h0x02h]h0x02}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h'Set a `boost` value for a given fan ID.h](hSet a }(hj hhhNhNubj0 )}(h`boost`h]hboost}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/ hj ubh value for a given fan ID.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]j)}(hhh](j)}(hByte 1: Fan IDh]h)}(hj h]hByte 1: Fan ID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(h Byte 2: Boosth]h)}(hj h]h Byte 2: Boost}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]j#j$uh1jhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhj& ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jChj ubah}(h]h ]h"]h$]h&]uh1j>hj hhhNhNubh)}(h*These are the known thermal profile codes:h]h*These are the known thermal profile codes:}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubj?)}(hhh]jD)}(hhh](jI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhj7 ubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jHhj7 ubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhj7 ubji)}(hhh]jn)}(hhh](js)}(hhh]h)}(hThermal Profileh]hThermal Profile}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj^ ubah}(h]h ]h"]h$]h&]uh1jrhj[ ubjs)}(hhh]h)}(hTypeh]hType}(hjx hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhju ubah}(h]h ]h"]h$]h&]uh1jrhj[ ubjs)}(hhh]h)}(hIDh]hID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj[ ubeh}(h]h ]h"]h$]h&]uh1jmhjX ubah}(h]h ]h"]h$]h&]uh1jhhj7 ubj)}(hhh](jn)}(hhh](js)}(hhh]h)}(hCustomh]hCustom}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(hSpecialh]hSpecial}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h0x00h]h0x00}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(hG-Modeh]hG-Mode}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(hSpecialh]hSpecial}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h0xABh]h0xAB}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1 ubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(hQuieth]hQuiet}(hjT hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjQ ubah}(h]h ]h"]h$]h&]uh1jrhjN ubjs)}(hhh]h)}(hLegacyh]hLegacy}(hjk hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjh ubah}(h]h ]h"]h$]h&]uh1jrhjN ubjs)}(hhh]h)}(h0x96h]h0x96}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhjN ubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(hBalancedh]hBalanced}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(hLegacyh]hLegacy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h0x97h]h0x97}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(hBalanced Performanceh]hBalanced Performance}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(hLegacyh]hLegacy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h0x98h]h0x98}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(h Performanceh]h Performance}(hj> hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj; ubah}(h]h ]h"]h$]h&]uh1jrhj8 ubjs)}(hhh]h)}(hLegacyh]hLegacy}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjR ubah}(h]h ]h"]h$]h&]uh1jrhj8 ubjs)}(hhh]h)}(h0x99h]h0x99}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhji ubah}(h]h ]h"]h$]h&]uh1jrhj8 ubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(hBalancedh]hBalanced}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(hUSTTh]hUSTT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h0xA0h]h0xA0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(hBalanced Performanceh]hBalanced Performance}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(hUSTTh]hUSTT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h0xA1h]h0xA1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(hCoolh]hCool}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1jrhj"ubjs)}(hhh]h)}(hUSTTh]hUSTT}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1jrhj"ubjs)}(hhh]h)}(h0xA2h]h0xA2}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjSubah}(h]h ]h"]h$]h&]uh1jrhj"ubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(hQuieth]hQuiet}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjsubah}(h]h ]h"]h$]h&]uh1jrhjpubjs)}(hhh]h)}(hUSTTh]hUSTT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjpubjs)}(hhh]h)}(h0xA3h]h0xA3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjpubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(h Performanceh]h Performance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(hUSTTh]hUSTT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h0xA4h]h0xA4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhj ubjn)}(hhh](js)}(hhh]h)}(h Low Powerh]h Low Power}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(hUSTTh]hUSTT}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj&ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(h0xA5h]h0xA5}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj=ubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhj ubeh}(h]h ]h"]h$]h&]uh1jhj7 ubeh}(h]h ]h"]h$]h&]colsKuh1jChj4 ubah}(h]h ]h"]h$]h&]uh1j>hj hhhhhNubh)}(hIf a model supports the User Selectable Thermal Tables (USTT) profiles, it will not support the Legacy profiles and vice-versa.h]hIf a model supports the User Selectable Thermal Tables (USTT) profiles, it will not support the Legacy profiles and vice-versa.}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubh)}(hgEvery model supports the CUSTOM (0x00) thermal profile. GMODE replaces PERFORMANCE in G-Series laptops.h]hgEvery model supports the CUSTOM (0x00) thermal profile. GMODE replaces PERFORMANCE in G-Series laptops.}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]9wmi-method-thermal-control-in-uint32-arg2-out-uint32-argrah ]h"]?wmi method thermal_control([in] uint32 arg2, [out] uint32 argr)ah$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(h?WMI method GameShiftStatus([in] uint32 arg2, [out] uint32 argr)h]h?WMI method GameShiftStatus([in] uint32 arg2, [out] uint32 argr)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubj?)}(hhh]jD)}(hhh](jI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubji)}(hhh]jn)}(hhh](js)}(hhh]h)}(hOperation (Byte 0)h]hOperation (Byte 0)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h Argumentsh]h Arguments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjubah}(h]h ]h"]h$]h&]uh1jhhjubj)}(hhh](jn)}(hhh](js)}(hhh]h)}(h0x01h]h0x01}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]h)}(hToggle *Game Shift*.h](hToggle }(hj=hhhNhNubj)}(h *Game Shift*h]h Game Shift}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubh.}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj:ubah}(h]h ]h"]h$]h&]uh1jrhj ubjs)}(hhh]j)}(hhh]j)}(hNoneh]h)}(hjkh]hNone}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjiubah}(h]h ]h"]h$]h&]uh1jhjfubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjcubah}(h]h ]h"]h$]h&]uh1jrhj ubeh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh]h)}(h0x02h]h0x02}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(hGet *Game Shift* status.h](hGet }(hjhhhNhNubj)}(h *Game Shift*h]h Game Shift}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh status.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]j)}(hhh]j)}(hNoneh]h)}(hjh]hNone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jChjubah}(h]h ]h"]h$]h&]uh1j>hjhhhNhNubh)}(hGame Shift Status does not change the fan speed profile but it could be some sort of CPU/GPU power profile. Benchmarks have not been done.h]hGame Shift Status does not change the fan speed profile but it could be some sort of CPU/GPU power profile. Benchmarks have not been done.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hThis method is only present on Dell's G-Series laptops and it's implementation implies GMODE thermal profile is available, even if operation 0x03 of Thermal_Information does not list it.h]hThis method is only present on Dell’s G-Series laptops and it’s implementation implies GMODE thermal profile is available, even if operation 0x03 of Thermal_Information does not list it.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h^G-key on Dell's G-Series laptops also changes Game Shift status, so both are directly related.h]h`G-key on Dell’s G-Series laptops also changes Game Shift status, so both are directly related.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]9wmi-method-gameshiftstatus-in-uint32-arg2-out-uint32-argrah ]h"]?wmi method gameshiftstatus([in] uint32 arg2, [out] uint32 argr)ah$]h&]uh1hhjhhhhhKubeh}(h]thermal-methodsah ]h"]thermal methodsah$]h&]uh1hhhhhhhhKUubh)}(hhh](h)}(hOverclocking Methodsh]hOverclocking Methods}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQhhhhhKubh)}(hhh](h)}(h?WMI method MemoryOCControl([in] uint32 arg2, [out] uint32 argr)h]h?WMI method MemoryOCControl([in] uint32 arg2, [out] uint32 argr)}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbhhhhhKubh)}(heAWCC supports memory overclocking, but this method is very intricate and has not been deciphered yet.h]heAWCC supports memory overclocking, but this method is very intricate and has not been deciphered yet.}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjbhhubeh}(h]9wmi-method-memoryoccontrol-in-uint32-arg2-out-uint32-argrah ]h"]?wmi method memoryoccontrol([in] uint32 arg2, [out] uint32 argr)ah$]h&]uh1hhjQhhhhhKubeh}(h]overclocking-methodsah ]h"]overclocking methodsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hGPIO control Methodsh]hGPIO control Methods}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hAlienware and Dell G Series devices with the AWCC interface usually have an embedded STM32 RGB lighting controller with USB/HID capabilities. It's vendor ID is ``187c`` while it's product ID may vary from model to model.h](hAlienware and Dell G Series devices with the AWCC interface usually have an embedded STM32 RGB lighting controller with USB/HID capabilities. It’s vendor ID is }(hjhhhNhNubhliteral)}(h``187c``h]h187c}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh6 while it’s product ID may vary from model to model.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hZThe control of two GPIO pins of this MCU is exposed as WMI methods for debugging purposes.h]hZThe control of two GPIO pins of this MCU is exposed as WMI methods for debugging purposes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj?)}(hhh]jD)}(hhh](jI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubji)}(hhh]jn)}(hhh](js)}(hhh]h)}(hPinh]hPin}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morecolsKuh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjubah}(h]h ]h"]h$]h&]uh1jhhjubj)}(hhh](jn)}(hhh](js)}(hhh]h)}(h0h]h0}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj=ubah}(h]h ]h"]h$]h&]morerowsKuh1jrhj:ubjs)}(hhh]h)}(h&Device Firmware Update (DFU) mode pin.h]h&Device Firmware Update (DFU) mode pin.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjUubah}(h]h ]h"]h$]h&]morerowsKuh1jrhj:ubjs)}(hhh]h)}(h,**HIGH**: Enables DFU mode on next MCU boot.h](j)}(h**HIGH**h]hHIGH}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubh$: Enables DFU mode on next MCU boot.}(hjphhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjmubah}(h]h ]h"]h$]h&]uh1jrhj:ubeh}(h]h ]h"]h$]h&]uh1jmhj7ubjn)}(hhh]js)}(hhh]h)}(h,**LOW**: Disables DFU mode on next MCU boot.h](j)}(h**LOW**h]hLOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh%: Disables DFU mode on next MCU boot.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubah}(h]h ]h"]h$]h&]uh1jmhj7ubjn)}(hhh](js)}(hhh]h)}(h1h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jrhjubjs)}(hhh]h)}(hNegative Reset (NRST) pin.h]hNegative Reset (NRST) pin.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]morerowsKuh1jrhjubjs)}(hhh]h)}(h**HIGH**: MCU is ON.h](j)}(h**HIGH**h]hHIGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh : MCU is ON.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhj7ubjn)}(hhh]js)}(hhh]h)}(h**LOW**: MCU is OFF.h](j)}(h**LOW**h]hLOW}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh : MCU is OFF.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jrhj$ubah}(h]h ]h"]h$]h&]uh1jmhj7ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jChjubah}(h]h ]h"]h$]h&]uh1j>hjhhhhhNubh)}(h=See :ref:`acknowledgements` for more information on this MCU.h](hSee }(hjehhhNhNubh)}(h:ref:`acknowledgements`h]hinline)}(hjoh]hacknowledgements}(hjshhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1jqhjmubah}(h]h ]h"]h$]h&]refdocwmi/devices/alienware-wmi refdomainj~reftyperef refexplicitrefwarn reftargetacknowledgementsuh1hhhhMhjeubh" for more information on this MCU.}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hSome GPIO control methods break the usual argument structure and take a **Pin number** instead of an operation on the first byte.h]h)}(hSome GPIO control methods break the usual argument structure and take a **Pin number** instead of an operation on the first byte.h](hHSome GPIO control methods break the usual argument structure and take a }(hjhhhNhNubj)}(h**Pin number**h]h Pin number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh+ instead of an operation on the first byte.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hhh](h)}(hBWMI method FWUpdateGPIOtoggle([in] uint32 arg2, [out] uint32 argr)h]hBWMI method FWUpdateGPIOtoggle([in] uint32 arg2, [out] uint32 argr)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhM ubj?)}(hhh]jD)}(hhh](jI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubji)}(hhh]jn)}(hhh](js)}(hhh]h)}(hOperation (Byte 0)h]hOperation (Byte 0)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h Argumentsh]h Arguments}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjubah}(h]h ]h"]h$]h&]uh1jhhjubj)}(hhh]jn)}(hhh](js)}(hhh]h)}(h Pin numberh]h Pin number}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjXubah}(h]h ]h"]h$]h&]uh1jrhjUubjs)}(hhh]h)}(hSet the pin statush]hSet the pin status}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jrhjUubjs)}(hhh]j)}(hhh]j)}(hByte 1: Pin statush]h)}(hByte 1: Pin statush]hByte 1: Pin status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhMhjubah}(h]h ]h"]h$]h&]uh1jrhjUubeh}(h]h ]h"]h$]h&]uh1jmhjRubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jChjubah}(h]h ]h"]h$]h&]uh1j>hjhhhNhNubeh}(h]hjhhhNhNubj)}(h~Due to how WMI methods are implemented on the firmware level, this method requires a dummy uint32 input argument when invoked.h]h)}(h~Due to how WMI methods are implemented on the firmware level, this method requires a dummy uint32 input argument when invoked.h]h~Due to how WMI methods are implemented on the firmware level, this method requires a dummy uint32 input argument when invoked.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]+wmi-method-readtotalofgpios-out-uint32-argrah ]h"].wmi method readtotalofgpios([out] uint32 argr)ah$]h&]uh1hhjhhhhhMubh)}(hhh](h)}(hBWMI method ReadGPIOpPinStatus([in] uint32 arg2, [out] uint32 argr)h]hBWMI method ReadGPIOpPinStatus([in] uint32 arg2, [out] uint32 argr)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhM"ubj?)}(hhh]jD)}(hhh](jI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubji)}(hhh]jn)}(hhh](js)}(hhh]h)}(hOperation (Byte 0)h]hOperation (Byte 0)}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hj.ubah}(h]h ]h"]h$]h&]uh1jrhj+ubjs)}(hhh]h)}(h Descriptionh]h Description}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjEubah}(h]h ]h"]h$]h&]uh1jrhj+ubjs)}(hhh]h)}(h Argumentsh]h Arguments}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hj\ubah}(h]h ]h"]h$]h&]uh1jrhj+ubeh}(h]h ]h"]h$]h&]uh1jmhj(ubah}(h]h ]h"]h$]h&]uh1jhhjubj)}(hhh]jn)}(hhh](js)}(hhh]h)}(h Pin numberh]h Pin number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(hGet the pin statush]hGet the pin status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]j)}(hhh]j)}(hNoneh]h)}(hjh]hNone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j#j$uh1jhhhM'hjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jChjubah}(h]h ]h"]h$]h&]uh1j>hjhhhNhNubj)}(hYThere known firmware bug in some laptops where reading the status of a pin also flips it.h]h)}(hYThere known firmware bug in some laptops where reading the status of a pin also flips it.h]hYThere known firmware bug in some laptops where reading the status of a pin also flips it.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]`_h]h)}(hjh](jN)}(hjh]hAlexIII}(hjhh hNhNubah}(h]h ]h"]h$]h&]nameAlexIIIj_"https://github.com/AlexIII/tcc-g15uh1jMhjubjb)}(h% h]h}(h]alexiiiah ]h"]alexiiiah$]h&]refurijuh1jajpKhjubeh}(h]h ]h"]h$]h&]uh1hhhhM=hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h6`T-Troll `_h]h)}(hjh](jN)}(hjh]hT-Troll}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameT-Trollj_)https://github.com/T-Troll/alienfx-tools/uh1jMhjubjb)}(h, h]h}(h]t-trollah ]h"]t-trollah$]h&]refurijuh1jajpKhjubeh}(h]h ]h"]h$]h&]uh1hhhhM>hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h`Gabriel Marcano `_ h]h)}(h`Gabriel Marcano `_h](jN)}(hjh]hGabriel Marcano}(hjhhhNhNubah}(h]h ]h"]h$]h&]nameGabriel Marcanoj_yhttps://gabriel.marcanobrady.family/blog/2024/12/16/dell-g5-5505-se-acpi-or-figuring-out-how-to-reset-the-rgb-controller/uh1jMhjubjb)}(h| h]h}(h]gabriel-marcanoah ]h"]gabriel marcanoah$]h&]refurijuh1jajpKhjubeh}(h]h ]h"]h$]h&]uh1hhhhM?hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]j#*uh1jhhhM=hjihhubh)}(hnfor documenting and testing some of this device's functionality, making it possible to generalize this driver.h]hpfor documenting and testing some of this device’s functionality, making it possible to generalize this driver.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjihhubeh}(h](jXid1eh ]h"]acknowledgementsah$]acknowledgementsah&]uh1hhhhhhhhM9jpKexpect_referenced_by_name}j6jMsexpect_referenced_by_id}jXjMsubeh}(h],dell-awcc-wmi-interface-driver-alienware-wmiah ]h"].dell awcc wmi interface driver (alienware-wmi)ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjrfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjherror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}jX]jMasnameids}(jCj@jjjjjljijjjNjKjjj j jjjFjCjjjjjjjjjjjjjfjcj^j[j6jXjjjjj j u nametypes}(jCjjjljjNjj jjFjjjjjjjfj^j6jjj uh}(j@hjhjj4jijcjjjKjjj-j jjj jCjjjQjjbjjjjjjjjjcjj[j.jXjij3jijjjjj ju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jvKsRparse_messages]hsystem_message)}(hhh]h)}(h3Duplicate implicit target name: "acknowledgements".h]h7Duplicate implicit target name: “acknowledgements”.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]j3alevelKtypeINFOsourcehnjlineM9uh1jhjihhhhhM9ubatransform_messages]j)}(hhh]h)}(hhh]h6Hyperlink target "acknowledgements" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejsourcehnjlineM6uh1juba transformerN include_log] decorationNhhub.