How to hack the Google wifi cylinder with Openwrt
| img1.jpg | first commit | |
| img2.jpg | first commit | |
| README.md | first commit | |
Hacking OpenWrt on Google's wifi cylinder
Intro
Google Wifi AC-1304 is codenamed Gale and it is possible to install OpenWrt on it. The device has 2 radios, 2 ethernet ports, and a single USB type C interface. This limitation makes it difficult to both power and flash. This guide walks through doing it with nothing but a single USB drive and a bench power supply.
This guide is based on https://github.com/kkestell/openwrt-on-google-wifi and follows the guide in the wiki here: https://openwrt.org/toh/google/wifi?s[]=link except it uses a single USB drive and does not require a hub.
Hardware Required
- Sacrificial Legacy USB 1.1/2.0 flash drive
- Soldering set
- 5V power supply
- Phillips screwdriver
- Guitar pick for prying base tabs open
Prepare Google Wifi Cylinder
- Unscrew the single screw hole on the bottom and using a guitar pick, gently pry the tabs on the bottom releasing the base and exposing the board.
- On the bottom you will see a daughterboard, in the middle of the daughterboard is a square pad between the ports and above the USB header. This is your +5V rail. You can safely solder a wire to this pad. I just tacked onto this pad, it doesn't have to be pretty. You can also use any groundplane for the common. I used the screw terminal and wrapped the wire around it. You can use your DMM with the device plugged into a supply to confirm these points.
- Power the board using these newly added connections using a power supply.
Installation
- Download the target OpenWrt image https://openwrt.org/toh/google/wifi
- Write the image to a sacrificial flash drive using
dd
dd if=openwrt-25.12.5-ipq40xx-chromium-google_wifi-squashfs-factory.bin of=/dev/sda bs=4M status=progress
sync
- Get the block device for the disk. It will likely be /dev/sdX
- Fix the MBR with
fdisk. It will prompt you that the MBR is mis-aligned. You can hitwdirectly to fix the boundaries.
fdisk /dev/sdX
- Plug in the flash drive.
- Hold the external reset button on the front of the cylinder and turn on your 5V supply.
- Wait around 10 seconds and the front LED will turn orange.
- Press SW7 inside the device. The LED will blink purple, then reboot.
- When the LED blinks purple after rebooting, press SW7 once more to trigger USB boot.
- If the device successfully boots OpenWrt, you should be able to ping 192.168.1.1 from a computer connected via Ethernet.