READ THROUGH THE COMPLETE GUIDE FIRST BEFORE TOUCHING ANYTHING! Then, re-read it again before you attempt an actual restore, as steps / software may have changed.
You perform all of this at your own risk with no promises, guarantees, warranty, whatever. Mistakes made with software can be restored with software, but mistakes made with hardware may need repair. Approach with care.
Video Guide: https://www.youtube.com/watch?v=VCm-ac8EmaE
p.0. You need a usb connection to your HomePod. the port on the pod is under the rubber base. remove the base by wedging your fingers between the base and mesh, pry it straight off. no heat necessary. it will stick back on with no issues.
p.0.0. While you can solder directly to the debug port on the pod, it's not recommended. the pads are fragile. You can make your own adapter (based on tihmstar's design) you only need the four usb 2.0 wires for restoring. You can buy premade adapters here!
p.0.0.0. Do not disturb your dongle, HomePod, or any part of the USB cable during restore. the pads are close together with voltage next to data lines and you risk shorting and damaging something if mistakes are made. when unplugging things, it's best to disconnect power from pod first, then unplug dongle usb, then remove dongle from pod.
p.1. This guide was tested on Apple Silicon with MacOS. It should work on Intel / Windows / Linux, but do not ask me for help, ask in the discord server. Feel free to contribute steps to getting other platforms working and submit a pull request.
p.2. A currently signed .ipsw file. Download mine at https://nicsfix.com/ipsw/18.0.ipsw or, build your own using the steps at the bottom of the guide.
p.3. Homebrew https://brew.sh/
Note: On some Macs, after you install homebrew for the first time in your terminal, you will see "Next Steps, Run these two commands..." Run those two commands!!
p.4. Now run these commands, one at a time. This taps David's repo, then installs the necessary restore tools. For now, we are also installing a specific version of idevicerestore to workaround a bug in the latest version:
brew tap d235j/ios-restore-tools
brew install --HEAD libimobiledevice-glue
brew install --HEAD d235j/ios-restore-tools/libimobiledevice
brew install --HEAD libirecovery
brew install --HEAD gaster
brew install --HEAD ldid-procursus
brew uninstall d235j/ios-restore-tools/idevicerestore
git clone https://github.com/libimobiledevice/idevicerestore.git
cd idevicerestore
git checkout d2e1c4f
./autogen.sh
make
sudo make install
If you get no errors (warnings are OK) then you are ready to restore HomePods!
- IN ORDER: Place and keep your HomePod upside down. Then, connect the adapter to the HomePod. Then, plug the usb cable into computer. Only then, can you plug power into HomePod.
-
- It is important you do this in order. Keep pod upside down. USB to PC first. Then power to pod.
-
- Some macs will have "Allow Accessory to Connect" prompts along the way, Allow them! Pay attention to more prompts while running restore process, too.
- Run the following commands, one at a time. Replace YOUR.ipsw with the location of your .ipsw file. You can drag your .ipsw file from Finder into your Terminal window to populate it's path.
gaster pwn
gaster reset
idevicerestore -d -e YOUR.ipsw
-
- Do not disturb HomePod or cable during restore process
- Be patient! It can take up to 10-15 minutes. Once you see
Restore Complete
continue waiting about a minute, then you'll see it reconnect in DFU mode again. You can now unplug power, then usb, then remove adapter from HomePod, flip rightside up, reconnect power and wait for it to reboot a few times to initialize set-up!
Now you can set it up and use like any other HomePod. This does not break over the air updates or any features / functionality.
If the restore is unsuccessful, try again from Restore Step 1. Usually though, errors are caused by faulty hardware, bad connection to the HomePod, or you didn't do something right.
-
If you get an ERROR: about
Unable to get SHSH blobs for this device
orThis device isn't eligible
orUnable to send iBEC to device
, you are likely using the wrong version of idevicerestore or an unsigned .ipsw. Try redownloading or rebuilding the .ipsw, and installing the specific version of idevicerestore mentioned in Prerequisite Step 4. -
Is your HomePod upside down while attempting all of this?
-
Did you connect the HomePod's USB first, then connect power to HomePod?
-
Did you run
gaster pwn
, thengaster reset
, thenidevicerestore -d -e YOUR.ipsw
all while your HomePod was connected, on, and upside down? -
Restart your computer and try again from Restore Step 1.
-
If you get an
Unable to restore device
error because offailure when attempting to flash the nitrogen firmware
, try again from step 1 and it should work. -
If you consistently get
Possibly invalid iBec
error, orWaiting on NAND
during restore, it's probably hardware failure (bga / nand) -
Basically, it should restore successfully if it's purely a software brick, and your connection and cables to the HomePod are good enough.
-
If you arent able to get a USB commection to your HomePod, look for any balled-up bits of the black adhesive keeping your adapter from sitting flush. You may need to clean all the adhesive off the bottom of your HomePod, to allow the adapter to make closer contact.
-
You may see many repeating timeout messages like so:
ReverseProxy[Conn]: Received Ping command, replying with Pong ReverseProxy[Conn]: Connection closed ReverseProxy[Conn]: (status=2) Terminated No data to read (timeout) No data to read (timeout) No data to read (timeout) No data to read (timeout) No data to read (timeout)
This is normal and may take up to 10–15 minutes.
You don't need to do this, only if you want to try building an .ipsw yourself. Accomplish the prerequisites first. This is actively being worked on to be made easier.
- Download the latest ./makeipsw.sh from tihmstar's repo
- Download the desired signed, full OTA .zip for AudioAccessory1,1 (from ipsw.me). You need the one with the full ramdisk (usually the largest one with no prerequisites)
- Download the same version of the signed full .ipsw for AppleTV5,3 (from ipsw.me)
- Download the
firmware_keys.zip
from this repo. Currently working for 17.5, 17.6, and 18.0. (new / self key generation coming soon to makeipsw.sh script) chmod +x makeipsw.sh
brew reinstall ra1nsn0w
(to ensure you have the latest version)./makeipsw.sh PATH_TO_HOMEPOD_OTA.zip PATH_TO_APPLETV.ipsw PATH_TO_OUTPUT.ipsw PATH_TO_firmware_keys.zip
- Point the first path to the latest signed, FULL ota .zip for AudioAccessory1,1 file you downloaded
- Point the second path to the latest signed, FULL .ipsw for AppleTV5,3 file you downloaded
- Point the third path to where you want your .ipsw to be output, along with a name (like ~\Desktop\nic\homepod.ipsw)
- Point the fourth path to where you downloaded the keys.zip file from this repo
Huge thanks to thimstar, and David Ryskalczyk, for making all of this happen. All I've done is test and put guides together! Consider donating to them if you found this helpful.