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恒温器的固件(github.com/codykociemba),旨在Nest宣布停用后继续保持这些设备运行。虽然固件是一个关键步骤,但评论员指出真正的“自由”还需要开源服务器端组件,这已承诺但目前仅为“即将推出”。 对于该项目能否完成,存在怀疑,一些人质疑开发者的嵌入式系统经验以及对服务器代码赏金的依赖。然而,也有人对此表示热情,特别是那些参与过最初Nest产品开发的人,他们认为停用是内部担忧被忽视的结果。 许多人希望该项目能够与HomeAssistant集成,并且一旦完整代码库可用,贡献者们也渴望提供帮助。
相关文章

原文

⚠️ 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