- Le Starlink Mini 1 peut être utilisé comme terminal uniquement Ethernet en retirant le routeur Wi‑Fi intégré, ce qui élargit les possibilités pour des configurations réseau sur mesure ou des installations embarquées
- La modification concerne uniquement le Starlink Mini 1 au 14 juin 2025 ; la procédure peut ne pas convenir à des matériels ultérieurs comme le Mini 2
- Lors du démontage, la plaque métallique du PCB Starlink sert de dissipateur thermique et de blindage EMI ; la retirer augmente le risque de throttling ou d’interférences électromagnétiques
- Le boîtier principal et le routeur sont reliés par un lien Ethernet 1 Gbit/s et un bus d’alimentation 12 VDC ; dans une conception utilisateur, contrairement à la courte liaison interne directe, un transformateur Ethernet est nécessaire
- Après retrait du routeur, le terminal fournit DHCP et une interface d’état gRPC sur 192.168.100.0/24, mais un routeur en amont est nécessaire pour utiliser plusieurs appareils après la connexion satellite
Portée de la modification et précautions de démontage
- Le Starlink Mini est un terminal tout-en-un intégrant un routeur Wi‑Fi, mais il peut fonctionner en mode uniquement Ethernet si l’on retire physiquement la carte du routeur interne
- La procédure s’applique au Starlink Mini 1 au 14 juin 2025 ; des changements matériels sur de futurs modèles comme le Mini 2 pourraient la rendre invalide
- Le démontage exige de la patience et de la précision ; il est recommandé d’utiliser un spudger métallique et des outils d’ouverture en plastique
- Pour retirer le PCB du routeur, il faut un couteau fin et flexible ou un fil métallique fin
- Après avoir retiré le PCB du routeur, il est possible d’arrêter le démontage ; le retrait de la plaque métallique du PCB Starlink est fortement déconseillé
- La plaque métallique fait à la fois office de dissipateur thermique et de blindage EMI
- Le CPU du Starlink chauffe beaucoup, et un refroidissement insuffisant peut entraîner un throttling du CPU ou du réseau d’antennes
- Les bords de la plaque métallique sont fixés avec un adhésif conducteur, ce qui contribue au blindage électromagnétique ; son retrait peut augmenter les émissions et provoquer des interférences avec les appareils électroniques à proximité
Connecteur du PCB et brochage
- Le type de connecteur du PCB du Starlink Mini n’est pas connu avec certitude et pourrait être une pièce sur mesure
- Le pas du connecteur est de 2 mm, donc un header 2 mm standard peut convenir
- Le connecteur est maintenu par un adhésif conducteur et une grande zone de masse, et un blindage se trouve au-dessus du connecteur côté PCB du routeur
- Cette configuration vise à réduire les EMI
- Un lien Ethernet 1 Gbit/s est utilisé entre le boîtier principal et le routeur
- La connexion interne est une liaison directe PHY-to-PHY avec un peu de découplage, sans transformateur Ethernet
- C’est acceptable sur une courte distance, mais un transformateur Ethernet est indispensable dans une installation conçue par l’utilisateur
- Le bus d’alimentation principal est en 12 VDC
- Les broches 11, 14, 16, 17 et 18 ne sont pas utilisées dans cette modification et servent principalement au monitoring Starlink-routeur
- Pour assurer une alimentation stable, il est recommandé d’utiliser toutes les lignes 12 VDC et GND
Conception d’une connexion Ethernet directe
- L’exemple de connexion Ethernet directe utilise un circuit fournissant l’isolation Ethernet nécessaire au connecteur du PCB du Starlink Mini 1 ainsi qu’un filtrage d’alimentation minimal
- Il est recommandé de prévoir une masse de garde autour du connecteur U1
- Une conception optimale inclut un adhésif conducteur et un blindage
- Les pistes entre le connecteur et le transformateur Ethernet doivent être aussi courtes que possible
- Le courant de fonctionnement normal sous 12 V est d’environ 3 A, avec de courtes pointes pouvant atteindre 5 A
- L1 doit être choisi avec un courant nominal approprié afin d’éviter la surchauffe
- La preuve de concept utilise l’adaptateur Ethermod existant
Fonctionnement réseau et méthode d’accès
- Lorsque le terminal n’est pas connecté aux satellites Starlink, il fournit une adresse IP DHCP sur le réseau 192.168.100.0/24
- Le terminal lui-même est accessible à l’adresse 192.168.100.1, où il exécute une interface web simple ainsi qu’un serveur gRPC de monitoring/contrôle
- Les données de debug Starlink peuvent être consultées avec grpcurl
grpcurl -plaintext -d {\"get_status\":{}} 192.168.100.1:9200
SpaceX.API.Device.Device/Handle
- Une fois connecté au réseau Starlink, l’interface Ethernet fournit un service DHCP tunnelisé
- Le client reçoit une IP du pool Starlink
- En général, une adresse IPv4 CGNAT et une adresse IPv6 link-global sont fournies
- Cette configuration permet l’accès à Internet
- Le serveur DHCP de Starlink ne fournit qu’une seule adresse IP
- La connexion directe est donc limitée à un hôte, ou à un routeur en amont qui partagera la connexion avec plusieurs appareils
- Après l’obtention d’une IP externe, le client perd naturellement l’accès à 192.168.100.1
- Pour conserver l’accès au terminal, il est possible d’ajouter une route statique
sudo ip route add 192.168.100.1 dev ethX
ethX doit être remplacé par le nom de l’interface Ethernet connectée au Starlink
- Une fois que l’hôte a reçu une adresse IP après connexion au réseau Starlink, l’accès à Internet fonctionne sans configuration supplémentaire
- L’état du compte et de la connexion doit être surveillé via la sortie gRPC
Codes d’état gRPC
- La sortie gRPC get_status contient des informations utiles pour diagnostiquer les problèmes de connexion
- En cas de problème de connexion, une section
outage peut apparaître dans la sortie gRPC
"outage": {
"cause": "NO_SCHEDULE",
"startTimestampNs": "1815683934050410150",
"durationNs": "4320001119",
"didSwitch": true
}
- Valeurs possibles de
outage.cause :
- BOOTING : le terminal est en cours de démarrage et attend l’initialisation des modules ainsi qu’un fix GPS
- THERMAL_SHUTDOWN : le terminal s’est arrêté pour protéger ses composants en raison d’une surchauffe
- NO_SCHEDULE : le terminal ne peut pas communiquer avec le satellite ; cela peut être dû à un signal faible, à des données GPS incorrectes ou à d’autres problèmes
- NO_SATS : aucun satellite n’est détecté dans le ciel
- OBSTRUCTED : un obstacle est détecté sur le trajet du faisceau radio
- NO_DOWNLINK : le terminal ne peut pas recevoir de données du satellite
- NO_PINGS : la connexion entre le terminal et le satellite est maintenue, mais le satellite a perdu la connexion avec le segment sol
Codes de restriction de compte
- L’état du compte Starlink peut être consulté dans la section
disablementCode
- disablement code possibles :
- UNKNOWN_STATE : le terminal signale un état non défini ou non reconnu
- OKAY : le compte est actif et l’accès à Internet devrait être disponible
- NO_ACTIVE_ACCOUNT : le compte Starlink a été supprimé ou le service est suspendu
- TOO_FAR_FROM_SERVICE_ADDRESS : le terminal fonctionne en dehors de la zone de l’adresse de service enregistrée
- IN_OCEAN : le terminal se trouve dans une zone maritime non couverte par le forfait actuel
- BLOCKED_COUNTRY : le terminal se trouve dans un pays où le service Starlink n’est pas autorisé
- DATA_OVERAGE_SANDBOX_POLICY : la limite de données a été dépassée et un changement de forfait est nécessaire pour obtenir davantage de données
- CELL_IS_DISABLED : la cellule de service locale est désactivée dans le système Starlink
- ROAM_RESTRICTED : le roaming n’est pas autorisé avec le compte ou le forfait actuel
- UNKNOWN_LOCATION : les satellites Starlink ne peuvent pas déterminer la position du terminal
- ACCOUNT_DISABLED : le compte Starlink est suspendu ou désactivé définitivement
- UNSUPPORTED_VERSION : le firmware du terminal est incompatible ou obsolète
- MOVING_TOO_FAST_FOR_POLICY : le terminal se déplace trop vite, comme dans un véhicule ou un avion, et enfreint une restriction de politique
- UNDER_AVIATION_FLYOVER_LIMITS : le terminal se trouve sous une zone de survol aérien et le service est restreint
- INVALID_COUNTRY : le terminal se trouve dans un pays non pris en charge par Starlink
- UNLICENSED_COUNTRY : le terminal se trouve dans un pays où Starlink n’a pas obtenu d’autorisation réglementaire
disablementCode devrait toujours être disponible après une connexion satellite réussie
- Le terminal utilisateur ne connaît pas lui-même le forfait, le pays, la région ni les limites de vitesse ; il suit les commandes reçues des satellites Starlink
1 commentaires
Commentaires sur Hacker News
La dernière partie me laisse perplexe. Le passage donne l’impression que les « codes de désactivation » (blocage régional, dépassement de vitesse, etc.) sont appliqués côté terminal utilisateur ; dans ce cas, je me demande si cela signifie qu’on peut les contourner.
Il est écrit que « le terminal utilisateur lui-même ne connaît pas le forfait de service, le pays, la région ni les limites de vitesse, et ne fait que suivre les commandes reçues des satellites Starlink ». Je pensais naturellement que ce serait imposé à l’étape DHCP. Ou peut-être pas, puisqu’une fois l’IP obtenue on peut se déplacer trop vite. Je me demande si cet article n’est pas, en pratique, un guide façon « à vous de comprendre » pour contourner les restrictions de politique de Starlink.
Il me paraît peu probable que ce soit le terminal, et non le réseau Starlink, qui prenne cette décision.
On peut donc créer un script qui vérifie le code d’erreur et réagit en conséquence. Par exemple, si un terminal Starlink est monté sur un drone, il pourrait changer automatiquement de position lorsque le service est coupé ; si un obstacle est détecté, le drone pourrait voler plus haut. Si le service est coupé parce qu’il a franchi par erreur une géoclôture, il pourrait éteindre le terminal Starlink et activer un système de communication de secours. En pratique, on peut utiliser ce code de désactivation comme un capteur.
Pour une entreprise américaine opérant à cette échelle, cela peut aller d’un niveau très strict à de simples contrôles de base ou à une réponse sur demande. Quelqu’un ici disait que Starlink fonctionne même en Russie, où il ne devrait normalement pas fonctionner ; peut-être que certains appareils livrés à l’Ukraine peuvent aussi être utilisés en Russie.
disablementCodene suffit probablement pas.Le choix d’utiliser de l’Ethernet modifié entre cartes plutôt que de connecter directement deux MAC en RGMII est intéressant.
Si deux équipes différentes travaillent chacune de leur côté, s’accorder sur l’Ethernet comme interface est bien plus simple, et permet de repousser les tests d’intégration ou de sortir plus vite.
Avec deux cartes séparées, cela devient plus délicat, et j’imagine qu’il y aurait aussi des problèmes EMI/EMC. J’ai déjà vu ce type d’approche sur des kits d’évaluation, mais cela ne me semble pas être une bonne idée pour un produit de série.
Cela dit, mon hypothèse à chaud est que l’interface décrite dans l’article était plus facile d’accès, ou permettait d’éviter de creuser davantage dans la structure interne. Je ne sais pas où se trouvent les lignes RGMII, et selon la conception même du Starlink Mini, elles étaient peut-être enfouies plus profondément et difficiles d’accès.
Le support de la prise Ethernet a-t-il été retiré sur les Mini fournis en Ukraine ? Sur les photos, elle semble toujours présente sur la carte WiFi, à côté de la prise d’alimentation.
Je vois très bien quel type d’usage sous contrainte énergétique est visé, et j’aime bien.
Version archivée : https://archive.ph/UTFTK
Quel SoC Starlink utilise-t-il ? Broadcom ?
C’était excellent. J’aimerais que Starlink fournisse réellement ce type de service antenne + modem, avec une vraie IPv4 plutôt que du CGNAT. Il me semble que c’est disponible dans les forfaits business beaucoup plus chers.
Donner une IP publique à tous les clients résidentiels n’est plus vraiment considéré comme une bonne utilisation de l’espace IPv4.
Je me demande comment l’auteur a découvert le brochage Ethernet. C’est vraiment impressionnant.
Et j’aime aussi le fait qu’ils aient utilisé GRPC. Ça donne l’impression qu’il existe encore des gens compétents qui font les choses correctement, sans se précipiter.