Problem entering DFU / rooting the Nest 2nd gen

Come hack your nest!
Post Reply
an.schall
Android 1.0
Posts: 3
Joined: Tue Mar 10, 2015 12:44 am

Problem entering DFU / rooting the Nest 2nd gen

Post by an.schall »

I own a Nest 2nd gen and I am having problems rooting the device. This is what I do:

1. Connect the display via USB with my host pc (ubuntu 14.04, 32 bit)
2. Run ./NestAttack-Linux.sh
3. Enter my password
4. Press down the display for 10-15 seconds
5. Nothings happens (Nest boots until the message is displayed "Please attach display to base board").

Obviously Nest is not entering DFU. Also lsusb does not show a device with the expected id.

How can I solve this?
an.schall
Android 1.0
Posts: 3
Joined: Tue Mar 10, 2015 12:44 am

Re: Problem entering DFU / rooting the Nest 2nd gen

Post by an.schall »

I could solve to problem by using a shorter USB cable. After this I received an LIBUSB_ERROR_IO. This issue could be solved by connecting to different a USB port on my desktop pc. Initially, I was using the front USB ports, which did not work.
drownedGirl-7E7
Android 1.0
Posts: 1
Joined: Tue Apr 16, 2024 11:40 am

Re: Problem entering DFU / rooting the Nest 2nd gen

Post by drownedGirl-7E7 »

I am having a similar experience but in my case it is not being caused by defective usb ports or cable.

Nest 2nd Gen.
Lubuntu 22.04 64bit.
I compiled omap successfully for 64bit.
When running the script it just waits for the device forever.

Code: Select all

OMAP Loader 1.0.0
File 'x-load.bin' at 0x40200000, size 27788
File 'u-boot.bin' at 0x80a00000, size 246572
File 'uImage' at 0x80800000, size 6970152
[+] scanning for USB device matching 0451:d00e...


Checking lsusb shows the device as:
Bus 003 Device 019: ID 2464:0031 Nest Learning Thermostat
At this point it seems pretty obvious that the usb id doesn't match what omap is expecting.
So now I hold the Nest's button down for 10 to 15 minutes.
I observe that the usb device disconnects momentarily and reconnects but that's it.
Checking lsusb now shows the nest as:
Bus 003 Device 008: ID 15a2:0071 Freescale Semiconductor, Inc. SP Blank PELE.
I'm guessing that this means it's in DFU mode but the USB device vendor and product ID is still not what omap is expecting.

I looked at the source of omap and tired to change the vendor and product ids to match my Nest. I recompiled omap with the changes and tried again.
This time omap sees the Nest and attempts to proceed.

Code: Select all

OMAP Loader 1.0.0
File 'x-load.bin' at 0x40200000, size 27788
File 'u-boot.bin' at 0x80a00000, size 246572
File 'uImage' at 0x80800000, size 6970152
[+] scanning for USB device matching 15a2:0071...
[+] successfully opened 15a2:0071 (Freescale SemiConductor Inc  SP Blank PELE)
[-] fatal transfer error (BULK_IN) for 512 bytes (got 0): LIBUSB_ERROR_IO
[-] failed to read ASIC ID from USB connection. Check your USB device!
[-] failed to transfer the first stage file 'x-load.bin'
[I] - All Done, Drink all the booze, Hack all the things.
So any ideas?
Post Reply