olegkutkov / starlink-wifi-gen2

Public GPLv2 release of 2nd generation Starlink Wifi Router Code
10 stars 2 forks source link

Starlink WiFi Gen2 platform

Starlink WiFi Gen2 routers are dual-band 3x3 802.11ac wireless routers based on MT7629 SoCs. This platform is derived from MediaTek's SDK, which in turn is based on OpenWrt. We try to remain as close as possible to upstream OpenWrt.

What's in the box:

What's NOT in the box:

Building

On any Linux box, install Docker and generate the hermetic build container (optional inside SpaceX):

NO_PUSH=1 docker/build.sh

Then build the target image:

NO_CLEAN=1 scripts/build.sh

Outputs

Build outputs are located under bin/YYYY-MM-DD-COMMIT:

For convenience, bin/upgrade.bin is a symlink to the most recent build.

Options

Flashing

Connect to the router over ethernet or wireless, then copy over and flash your image:

scp bin/upgrade.bin root@StarlinkRouter:/tmp
ssh root@StarlinkRouter wifi_control --flash=/tmp/upgrade.bin --reboot

To prevent bricking by power loss or bad updates, each router stores two copies of software and alternates between them on each boot. Flashing always writes the inactive copy. Flash twice to update both copies.

Boot toggling is implemented in BL2 (the first non-ROM bootloader) of which there is only one copy. To update BL2 and both copies of all other software add --update_full. Warning: This is inherently unsafe.

Jobs

We're quietly trying to build some of the best WiFi routers on the planet at ridiculously low cost. We work hard with tiny teams on incredibly tight schedules. If that sounds fun, email wifi@spacex.com with any of the following:

Bonus points if you can tell us: