NoLongerEvil-恒温器 – Nest 第一代和第二代固件
NoLongerEvil-Thermostat – Nest Generation 1 and 2 Firmware

原始链接: https://github.com/codykociemba/NoLongerEvil-Thermostat

## NoLongerEvil 恒温器:摘要 NoLongerEvil 项目允许用户为 Nest 恒温器刷入自定义固件,**完全摆脱对 Google 服务器的依赖。** 这是通过替换原始引导加载程序和内核来实现的,替换后的版本会将网络流量重定向到 NoLongerEvil 平台——一个对 Nest API 的逆向工程复制品。 **⚠️ 这是一款实验性软件,有使设备变砖的风险。** 强烈建议准备一个备用恒温器。 该过程涉及使用工具通过 USB 进入设备的 DFU 模式,然后刷入新的固件。 完成后,恒温器功能正常,但连接到 NoLongerEvil 进行控制和数据传输,从而赋予用户完全所有权。 用户必须在 [https://nolongerevil.com](https://nolongerevil.com) 创建一个帐户,并输入恒温器上显示的唯一代码以链接设备。 该项目旨在实现透明化,并将很快开源其固件和 API 服务器代码,以支持“维修权”运动。

## Nest 恒温器复活:NoLongerEvil 固件 一个项目旨在复活被 Google 停止云服务后,变得无法使用的 Nest(第一代和第二代)恒温器,这些恒温器对许多用户来说实际上已经“变砖”。“NoLongerEvil”固件将流量从 Google 的服务器重定向到新的独立服务器,从而恢复其功能。 该项目最初修改现有的 Nest 固件,而不是创建全新的固件,并计划很快开源固件和后端服务器代码,允许用户自行托管并获得更大的控制权。讨论强调了对真正开源解决方案的渴望,以及对信任新的、未经证实的服务的一些担忧。 一些评论员讨论了具有本地控制的替代智能恒温器选项(例如 Z-Wave),以及避免依赖基于云的服务的重要性。该项目引发了关于厂商锁定伦理和维修权力的辩论,一些人对 Google 处理这些设备的方式表示沮丧。目前有一个赏金计划来鼓励进一步的开发和开源。
相关文章

原文

⚠️ WARNING: EXPERIMENTAL SOFTWARE

This project is currently in the experimental/testing phase. Do NOT use this firmware on any thermostat that is critical for your heating or cooling needs. Flashing this firmware may brick your device or cause unexpected behavior. Only proceed if you have a backup thermostat or can afford to have your device non-functional during testing.

This directory contains the tools and firmware needed to flash custom firmware to Nest Thermostat devices using the OMAP DFU (Device Firmware Update) interface.

This firmware loader uses the OMAP bootloader interface to flash custom bootloader and kernel images to Nest Thermostat devices. The device must be put into DFU mode to accept new firmware.

Important: After flashing this firmware, your device will no longer contact Nest/Google servers. It will operate independently and connect to the NoLongerEvil platform instead, giving you complete control over your thermostat.

The custom firmware flashes the device with modified bootloader and kernel components that redirect all network traffic from the original Nest/Google servers to a server we specify. This server hosts a reverse-engineered replica of their API, allowing the thermostat to function independently while giving you complete control over your device data and settings.

By intercepting the communication layer, the thermostat believes it's communicating with the official Nest infrastructure, but instead connects to the NoLongerEvil platform. This approach ensures full compatibility with the device's existing software while breaking free from Google's cloud dependency.

git clone --recurse-submodules https://github.com/codykociemba/NoLongerEvil-Thermostat.git
cd NoLongerEvil-Thermostat

Before building, you'll need to install some required packages:

sudo apt-get update
sudo apt-get install build-essential libusb-1.0-0-dev gcc

First, install Xcode Command Line Tools:

Then install libusb using Homebrew (the build script will attempt to install this automatically if missing):

# Install Homebrew if you don't have it
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install libusb
brew install libusb

3. Build the omap_loader tool

chmod +x build.sh
./build.sh

The build script will automatically detect your operating system (Linux, macOS, or Windows) and build the appropriate binary.

4. Start the firmware installer

IMPORTANT: You must start the installer script BEFORE rebooting the device.

chmod +x install.sh
./install.sh
chmod +x install.sh
./install.sh

Note for macOS: You may need to grant USB permissions. If you encounter permission issues, check System Preferences → Security & Privacy.

The script will wait for the device to enter DFU mode.

5. Put your Nest device in DFU mode

Follow these steps carefully:

  1. Charge the device - Ensure your Nest Thermostat is properly charged (at least 50% battery recommended)
  2. Remove from wall - Remove the Nest from its back plate/wall mount
  3. Connect via USB - Plug the Nest into your computer using a micro USB cable
  4. Wait for the installer - Make sure the install.sh script is running and waiting
  5. Reboot the device - Press and hold down on the display for 10-15 seconds until the device reboots
  6. DFU mode active - Once it reboots, the device will enter DFU mode and the installer script will recognize it and begin flashing

The firmware installer will automatically detect the device and flash the custom bootloader (x-load, u-boot) and kernel (uImage).

6. Wait for the device to boot

After the firmware is flashed successfully, you should see our logo on the device screen:

NoLongerEvil Logo

Important:

  • Keep the device plugged in via USB
  • Wait for the device to complete its boot sequence (this may take 3-4 minutes)
  • Do not disconnect or power off the device during this time

Once the device has fully rebooted:

  1. Visit https://nolongerevil.com in your web browser
  2. Register an account (or sign in if you already have one)
  3. Navigate to your Dashboard

You will see a "No devices" screen that prompts you for an entry code.

To link your Nest device to your NoLongerEvil account:

  1. On your Nest device, navigate to: Settings → Nest App → Get Entry Code
  2. The device will display a unique entry code
  3. Enter this code on the NoLongerEvil dashboard
  4. Your device is now linked and ready to use!

The firmware installation process installs three components:

  1. x-load.bin - First-stage bootloader (X-Loader for OMAP)
  2. u-boot.bin - Second-stage bootloader (Das U-Boot) loaded at address 0x80100000
  3. uImage - Linux kernel image loaded at address 0x80A00000

After flashing, the device jumps to execution at 0x80100000 (u-boot).

This tool provides low-level access to the device's boot process. Use responsibly:

  • Only use on devices you own
  • Improper firmware can brick your device (Don't sue me bro)

Credits & Acknowledgments

This project builds upon the excellent work of several security researchers and developers:

Without their groundbreaking research, open-source contributions, and advocacy for device ownership rights, this work would not be possible. Thank you!

We are committed to transparency and the right-to-repair movement. The firmware images and backend API server code will be open sourced soon, allowing the community to audit, improve, and self-host their own infrastructure.

联系我们 contact @ memedata.com