1 pontos por GN⁺ 2025-06-16 | 1 comentários | Compartilhar no WhatsApp
  • O Starlink Mini 1 pode operar como um terminal apenas Ethernet ao remover o roteador Wi‑Fi integrado, ampliando as opções para configurações de rede personalizadas ou instalações embarcadas
  • A modificação se limita ao Starlink Mini 1 em 14 de junho de 2025; em hardwares posteriores, como o Mini 2, o procedimento pode não se aplicar
  • Durante a desmontagem, a placa metálica do PCB do Starlink atua como dissipador térmico e blindagem EMI, portanto removê-la aumenta o risco de throttling ou interferência eletromagnética
  • O corpo principal e o roteador são ligados por um link Ethernet de 1Gbps e um barramento de alimentação de 12VDC; em um projeto próprio, ao contrário da ligação interna curta e direta, é necessário usar transformadores Ethernet
  • Após remover o roteador, o terminal fornece DHCP e uma interface de status gRPC em 192.168.100.0/24, mas para usar vários dispositivos depois da conexão com o satélite é necessário um roteador upstream

Escopo da modificação e cuidados na desmontagem

  • O Starlink Mini é um terminal all-in-one com roteador Wi‑Fi integrado, mas pode ser operado apenas com Ethernet ao remover fisicamente a placa interna do roteador
  • O procedimento se aplica ao Starlink Mini 1 em 14 de junho de 2025, e pode se tornar inválido caso futuros modelos, como o Mini 2, tragam mudanças de hardware
  • A desmontagem exige paciência e precisão, e recomenda-se o uso de espátula metálica e ferramentas plásticas de alavanca
  • Para remover o PCB do roteador, é preciso usar uma lâmina fina e flexível ou um fio metálico fino
  • Depois de remover o PCB do roteador, é possível parar a desmontagem; não é fortemente recomendado remover a placa metálica do PCB do Starlink
    • A placa metálica cumpre ao mesmo tempo a função de dissipador térmico e blindagem EMI
    • O CPU do Starlink gera bastante calor, e refrigeração insuficiente pode causar throttling no CPU ou no arranjo de antenas
    • As bordas da placa metálica são fixadas com adesivo condutivo para ajudar na blindagem eletromagnética, e sua remoção pode aumentar as emissões e causar interferência em equipamentos eletrônicos próximos

Conector do PCB e pinagem

  • O tipo exato de conector no PCB do Starlink Mini não é conhecido e pode ser uma peça encomendada sob medida
  • Como o passo do conector é de 2mm, um header de 2mm padrão pode servir
  • O conector é fixado com adesivo condutivo e uma ampla área de terra, e há uma blindagem sobre o conector no lado do PCB do roteador
    • Essa configuração existe para supressão de EMI
  • Entre a unidade principal e o roteador é usado um link Ethernet de 1Gbps
  • A ligação interna é uma conexão direta PHY-to-PHY com um pouco de desacoplamento, sem transformadores Ethernet
    • Isso é aceitável em distâncias curtas, mas em instalações projetadas pelo usuário os transformadores Ethernet são obrigatórios
  • O barramento de alimentação padrão é 12VDC
  • Os pinos 11, 14, 16, 17 e 18 não são usados na modificação atual e servem principalmente para monitoramento entre Starlink e roteador
  • Para uma alimentação estável, recomenda-se usar todas as linhas de 12VDC e GND

Projeto de ligação Ethernet direta

  • Um exemplo de ligação Ethernet direta usa um circuito que fornece o isolamento Ethernet necessário e filtragem mínima de alimentação para o conector do PCB do Starlink Mini 1
  • Recomenda-se colocar terra de guarda ao redor do conector U1
  • O projeto ideal inclui adesivo condutivo e blindagem
  • A fiação entre o conector e os transformadores Ethernet deve ser a mais curta possível
  • A corrente normal de operação em 12V é de cerca de 3A, com picos curtos de até 5A
    • O L1 deve ser escolhido com uma corrente nominal adequada para evitar superaquecimento
  • Na prova de conceito foi usado o adaptador Ethermod existente

Comportamento de rede e formas de acesso

  • Sem conexão com o satélite Starlink, o terminal fornece um endereço IP DHCP na rede 192.168.100.0/24
  • O próprio terminal pode ser acessado em 192.168.100.1, onde executa uma interface web simples e um servidor gRPC de monitoramento/controle
  • Os dados de depuração do Starlink podem ser consultados com grpcurl
grpcurl -plaintext -d {\"get_status\":{}} 192.168.100.1:9200
SpaceX.API.Device.Device/Handle
  • Depois de conectar à rede Starlink, a interface Ethernet fornece um serviço DHCP tunelado
    • Ao cliente é atribuído um IP do pool da Starlink
    • Em geral, são fornecidos um endereço IPv4 CGNAT e um endereço IPv6 link-global
    • Com isso, o acesso à internet se torna possível
  • O servidor DHCP da Starlink fornece apenas um único endereço IP
    • O que pode ser ligado diretamente é um único host ou um único roteador upstream para compartilhar a conexão com vários dispositivos
  • Depois de obter um IP externo, o cliente naturalmente perde o acesso a 192.168.100.1
  • Para manter o acesso ao terminal, é possível adicionar uma rota estática
sudo ip route add 192.168.100.1 dev ethX
  • ethX deve ser substituído pelo nome da interface Ethernet conectada ao Starlink
  • Quando o host recebe um endereço IP após entrar na rede Starlink, o acesso à internet funciona sem configuração adicional
  • O estado da conta e o status da conexão devem ser monitorados pela saída do gRPC

Códigos de status do gRPC

  • A saída de get_status do gRPC inclui informações úteis para diagnosticar problemas de conexão
  • Quando há problemas de conexão, uma seção outage pode aparecer na saída do gRPC
"outage": {
  "cause": "NO_SCHEDULE",
  "startTimestampNs": "1815683934050410150",
  "durationNs": "4320001119",
  "didSwitch": true
}
  • Valores possíveis para outage.cause:
    • BOOTING: o terminal está inicializando e aguardando a inicialização dos módulos e o travamento de GPS
    • THERMAL_SHUTDOWN: o terminal foi desligado para proteger os componentes contra superaquecimento
    • NO_SCHEDULE: não foi possível se comunicar com o satélite; a causa pode ser sinal fraco, dados de GPS incorretos ou outros problemas
    • NO_SATS: nenhum satélite foi detectado no céu
    • OBSTRUCTED: foi detectado um obstáculo no caminho do feixe sem fio
    • NO_DOWNLINK: não foi possível receber dados do satélite
    • NO_PINGS: a ligação entre terminal e satélite continua ativa, mas o satélite perdeu a conexão com o segmento terrestre

Códigos de restrição da conta

  • O status da conta Starlink pode ser verificado na seção disablementCode
  • Possíveis disablement code:
    • UNKNOWN_STATE: o terminal reporta um estado indefinido ou não reconhecido
    • OKAY: a conta está ativa e o acesso à internet deve estar disponível
    • NO_ACTIVE_ACCOUNT: a conta Starlink foi removida ou o serviço está pausado
    • TOO_FAR_FROM_SERVICE_ADDRESS: o terminal está operando fora da área do endereço de serviço registrado
    • IN_OCEAN: o terminal está em uma área marítima não coberta pelo plano de serviço atual
    • BLOCKED_COUNTRY: o terminal está em um país onde o serviço Starlink não é permitido
    • DATA_OVERAGE_SANDBOX_POLICY: o limite de dados foi excedido e é necessário mudar o plano para obter mais dados
    • CELL_IS_DISABLED: a célula de serviço local foi desativada no sistema Starlink
    • ROAM_RESTRICTED: roaming não é permitido pela conta ou pelo plano atual
    • UNKNOWN_LOCATION: o satélite Starlink não consegue confirmar a localização do terminal
    • ACCOUNT_DISABLED: a conta Starlink foi suspensa ou desativada permanentemente
    • UNSUPPORTED_VERSION: o firmware do terminal é incompatível ou está desatualizado
    • MOVING_TOO_FAST_FOR_POLICY: o terminal está se movendo rápido demais, como em um veículo ou aeronave, violando restrições de política
    • UNDER_AVIATION_FLYOVER_LIMITS: o terminal está sob limites de sobrevoo de aviação, e o serviço é restringido
    • INVALID_COUNTRY: o terminal está em um país não suportado pela Starlink
    • UNLICENSED_COUNTRY: o terminal está em um país onde a Starlink não obteve aprovação regulatória
  • disablementCode deve sempre estar disponível após a conexão bem-sucedida com o satélite
  • O terminal do usuário não conhece por conta própria o plano de serviço, o país, a região ou os limites de velocidade; ele apenas segue os comandos recebidos do satélite Starlink

1 comentários

 
GN⁺ 2025-06-16
Opiniões no Hacker News
  • A parte final me deixou confuso. O tom sugere que os “códigos de desativação” (bloqueio regional, violação de velocidade etc.) são aplicados no terminal do usuário; se for assim, fico pensando se isso significa que dá para contornar
    O texto dizia que “o próprio terminal do usuário não sabe o plano de serviço, país, região nem limite de velocidade, e apenas segue comandos recebidos dos satélites Starlink”, mas eu naturalmente imaginei que isso seria imposto na etapa de DHCP. Ou talvez não, já que depois de receber um IP ele poderia se mover rápido demais. Fico curioso se este artigo é, na prática, um guia do tipo “saiba perceber nas entrelinhas” para contornar restrições de política da Starlink

    • Parece mais algo como códigos de resultado compartilhados com o terminal. Por exemplo, “ACCOUNT_DISABLED - a conta Starlink foi suspensa ou desativada permanentemente” ou “UNLICENSED_COUNTRY – o terminal está em um país onde a Starlink não recebeu aprovação regulatória”
      Parece pouco provável que essa decisão fique a cargo do terminal, e não da rede Starlink
    • Entendo que o motivo de o satélite enviar um código ao terminal é que o próprio terminal nem sabe que foi bloqueado. É para permitir que o usuário veja por que a internet não está funcionando
    • Não conheço muito bem a Starlink, mas, em geral, isso parece o fluxo em que o app lê códigos de erro/diagnóstico do terminal. Se você contorna o roteador embutido e usa o terminal apenas como um modem conectado a um SBC, não consegue ver esses erros pelo smartphone
      Então dá para criar um script que verifique os códigos de erro e reaja conforme o caso. Por exemplo, se o terminal Starlink estiver instalado em um drone, ele poderia mudar automaticamente de posição quando o serviço caísse; se um obstáculo fosse detectado, a aeronave não tripulada poderia voar mais alto. Se ele cruzasse acidentalmente uma geofence e o serviço caísse, poderia desligar o terminal Starlink e ligar um sistema de comunicação reserva. Na prática, dá para usar esse código de desativação como um sensor
    • Se tivessem descoberto como enganar ou contornar algum código de desativação específico, não teriam compartilhado. No fim, depende de quão rigorosamente a Starlink verifica e impõe o uso não autorizado
      Para uma empresa americana operando nessa escala, parece possível qualquer coisa, desde um nível muito rigoroso até verificações básicas ou resposta sob demanda. Alguém aqui disse que a Starlink funciona até na Rússia, onde teoricamente não deveria; talvez alguns aparelhos enviados à Ucrânia também possam ser usados na Rússia
    • Não tive essa impressão de jeito nenhum. Se o terminal não mantém informações sobre plano de serviço ou restrições, então essas informações são gerenciadas em um nível superior. Só com este texto não dá para saber se é possível configurar o terminal para ignorar restrições, mas é bem provável que simplesmente ignorar o disablementCode não seja suficiente
  • Achei interessante a escolha de usar Ethernet modificada entre placas em vez de conectar diretamente MACs via RGMII

    • Ethernet parece muito mais fácil para prototipagem. Para se comunicar via RGMII, quase não há produtos prontos para uso imediato, mas com Ethernet, na hora de testar, basta plugar em um notebook
      Se duas equipes diferentes estão desenvolvendo cada parte, é muito mais fácil combinar a interface como Ethernet, adiar os testes de integração ou lançar mais rápido
    • RGMII não foi projetado para conexões entre placas. A taxa de dados é bem alta e, idealmente, o atraso de todos os sinais precisa ser alinhado
      Quando as placas são divididas em duas, isso fica mais complicado, e acho que também surgiriam problemas de EMI/EMC. Já vi isso em kits de avaliação, mas não parece uma boa ideia para um produto em produção
    • No geral, dá uma sensação bem forte de prova de conceito. É verdade que digital→analógico→analógico→digital é ineficiente e, em abstrato, uma conexão MAC-PHY usando RGMII provavelmente seria melhor
      Mas tenho o palpite improvisado de que a interface mencionada no texto era mais acessível ou exigia menos investigação da estrutura interna. Talvez eles nem soubessem onde ficam as linhas RGMII e, dependendo do projeto do próprio Starlink Mini, elas poderiam estar mais profundamente embutidas e ser difíceis de acessar
    • Não entendo totalmente o objetivo desse trabalho. O Mini já tem um conector RJ45, então não é preciso hackear o dispositivo para acessar o PHY Ethernet. Também dá para desligar o roteador WiFi na página de configurações
      Será que no Mini fornecido na Ucrânia o suporte ao conector Ethernet foi removido? Pela foto, ele ainda parece estar na placa WiFi ao lado do conector de energia
    • Esse conector é muito mais barato do que um conector capaz de transportar sinais RGMII sem grandes reflexões. No fim, pode ser mais barato adicionar silício extra do que usar um conector melhor; e, se não houver necessidade de isolamento, talvez nem sejam necessários componentes magnéticos
  • Entendo exatamente que tipo de uso com restrição de energia eles têm em mente, e gostei

    • Fico curioso sobre qual caso de uso específico você está imaginando
    • Starlink já é usado nos bombardeiros noturnos Nemesis e nos drones marítimos Magura
    • Seria para usar montado em um drone?
  • Versão arquivada: https://archive.ph/UTFTK

  • Que SoC a Starlink usa? Broadcom?

    • MediaTek
  • Muito bom. Gostaria que a Starlink realmente oferecesse um serviço de antena + modem desse tipo e IPv4 de verdade, em vez de algo como CGNAT. Parece que isso existe nos planos empresariais, bem mais caros

    • Dá para criar um túnel pela Starlink e obter um IP público. Não é 100% eficiente por causa da redução de MTU e do hop adicional até o término do túnel, mas funciona
    • Em ISPs novos, esse é o fluxo padrão. Sem um bom plano de uso de endereços, é difícil obter aprovação para comprar blocos IPv4
      Dar IP público a todos os clientes residenciais já não é uma forma considerada eficiente de usar o espaço IPv4
  • Fico curioso sobre como o autor descobriu a pinagem Ethernet. Realmente impressionante
    E também gostei do uso de GRPC. Parece um sinal de que ainda existem pessoas competentes que fazem as coisas direito, sem pressa