Giter VIP home page Giter VIP logo

techsd / starlink-wifi-gen2-spaceexplorationtechnologies Goto Github PK

View Code? Open in Web Editor NEW

This project forked from spaceexplorationtechnologies/starlink-wifi-gen2

0.0 0.0 0.0 981.39 MB

Public GPLv2 release of 2nd generation Starlink Wifi Router Code

Shell 1.85% JavaScript 1.24% Ruby 0.01% C++ 13.75% Python 1.98% Perl 0.55% C 72.97% PHP 0.04% Java 0.04% Lua 1.45% Clojure 0.03% Tcl 0.01% C# 0.03% Assembly 1.57% Vala 0.04% Awk 0.01% CSS 0.09% Makefile 3.72% HTML 0.55% CMake 0.11%

starlink-wifi-gen2-spaceexplorationtechnologies's Introduction

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:

  • Bootloaders, kernel, drivers, and build system for Starlink WiFi Gen2 routers.
  • Anything that links against GPL2 or similarly licensed libraries.

What's NOT in the box:

  • SpaceX applications which live in the payload repository (we're not ready to open source these yet).
  • Vendor applications which have been omitted by request.

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:

  • v2-YYYY-MM-DD-COMMIT-upgrade.bin - Upgrade image for wifi_control --flash.
  • v2-YYYY-MM-DD-COMMIT-single.bin - NAND image for U-Boot or NAND flasher.

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

Options

  • NO_CLEAN=1 - Enable caching for faster incremental builds.
  • OVERLAY=all - Enable persistent root filesystem overlay for faster iteration.
  • PAYLOAD=... - Use wifi_control from a local payload repository. Must already be built.
  • VERSION=... - Use a custom version name for this build.

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 [email protected] with any of the following:

  • The hardest technical problem you've solved.
  • The most innovative electronics product you've designed and manufactured.
  • The best security vulnerability you've found, or check out our bug bounty program.
  • As many ways as you can think of to accurately measure per-frame MAC and PHY properties (MCS, EVM, spectral power distribution, ...) in realtime for under $1000.

Bonus points if you can tell us:

  • What this circuit on the board does.
  • What the device at I2C address 0x20 does.

starlink-wifi-gen2-spaceexplorationtechnologies's People

Contributors

cvalley-sx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.