Specifications

Remote Control and Receiver-Transceiver Specifications and Requirements
for Windows Media Center in Windows Operating Systems
116
Host Enters Bootloader
The host uses CMD_GETWAKEVERSION to request the wake pattern that the device is
currently using. If the device is using a wake pattern that does not match the pattern that the host
noted earlier, the host must reprogram the device with a different pattern. At this point, the host
sends a CMD_RESET to enter the device‘s bootloader. The host sends a
CMD_BOOT_GETVERSION to make sure that the device is in the bootloader.
Host Sends CMD_BOOT_SETWAKEPATTERN
Once in the bootloader, the host sends a CMD_BOOT_SETWAKEPATTERN command to the
device.
Host Sends CMD_BOOT_WRITEBLOCK
The host scans the registry to determine whether a firmware block is available for this device and
this specific wake pattern.
If a firmware block is not in the registry, the host continues to the next step.
If there is a firmware block in the registry, the host begins the CMD_BOOT_WRITEBLOCK
sequence:
The host ―authorizes writing‖ using a CMD_BOOT_WRITEAUTH command. This sequence of
bytes is used to protect the firmware and to prevent random jumps from overwriting flash
memory. This process is explained below in more detail in the CMD_BOOT_WRITEAUTH
section.
The host uses the CMD_BOOT_WRITEBLOCK to send multiple blocks of firmware to the device.
The registry data with the firmware contains a size parameter that instructs the host how to break
up the firmware into blocks. The host sends one CMD_BOOT_WRITEBLOCK command for each
block of firmware.
Host Exits Bootloader
The host sends a CMD_BOOT_EXIT command to exit the bootloader. The device resets itself
and the new wake firmware is applied.
User Presses Sleep Button Again
When the user presses the Sleep button a second time, the host determines from the Sleep
button that the device‘s wake pattern is correct. The host enters a low-sleep state. The next time
the user presses the Wake button on the remote, the device will recognize it and signal the host
to wake.
Registry Format For Firmware Blocks
Registry Key Location
Wake firmware is stored in the registry at the following location:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbcir\PowerKey