1 ポイント 投稿者 GN⁺ 2025-06-16 | 1件のコメント | WhatsAppで共有
  • Starlink Mini 1は統合Wi-Fiルーターを取り外してEthernet専用端末として運用でき、カスタムネットワーク構成や組み込み設置での選択肢が広がる
  • 改造対象は2025年6月14日時点でStarlink Mini 1に限定され、Mini 2のような後続ハードウェアでは手順が適合しない可能性がある
  • 分解の過程でStarlink PCBの金属板はヒートシンクとEMIシールドの役割を持つため、取り外すとスロットリングや電磁波干渉のリスクが高まる
  • 本体とルーターは1Gbps Ethernetリンクと12VDC電源バスで接続されており、ユーザー設計では短い内部直結とは異なりEthernetトランスが必要になる
  • ルーター取り外し後、端末は192.168.100.0/24でDHCPとgRPC状態インターフェースを提供するが、衛星接続後に複数の機器を使うには上位ルーターが必要になる

改造範囲と分解時の注意点

  • Starlink Miniは統合Wi-Fiルーターを含むオールインワン端末だが、内部ルーターボードを物理的に取り外すことでEthernet専用として運用できる
  • 適用対象は2025年6月14日時点でStarlink Mini 1であり、今後Mini 2のようなモデルでハードウェア変更が行われると手順が無効になる可能性がある
  • 分解には忍耐と精密さが必要で、金属スパッジャーとプラスチック製のこじ開け工具が推奨される
  • ルーターPCBを取り外す際には、薄くて柔軟なナイフまたは細い金属ワイヤーが必要になる
  • ルーターPCBの取り外し後は分解を止めてもよく、Starlink PCBの金属板の取り外しは強く推奨されない
    • 金属板はヒートシンクとEMIシールドの両方の役割を果たす
    • Starlink CPUは発熱が大きく、冷却が不十分だとCPUまたはアンテナアレイがスロットリングする可能性がある
    • 金属板の縁は導電性接着剤で固定されており電磁波シールドを助けるため、取り外すと放射の増加や周辺電子機器への干渉が起こりうる

PCBコネクタとピン構成

  • Starlink Mini PCBのコネクタ種別は正確には分かっておらず、カスタム発注品の可能性がある
  • コネクタのピッチは2mmなので、標準の2mm headerが適合する可能性がある
  • コネクタは導電性接着剤と広いグランド領域で固定されており、ルーターPCB側のコネクタ上にはシールドがある
    • この構成はEMI抑制のためのもの
  • 本体とルーターの間には1Gbps Ethernetリンクが使われている
  • 内部接続はEthernetトランスなしで、わずかなデカップリングを含むPHY-to-PHYの直結になっている
    • 短距離では許容されるが、ユーザー設計の設置ではEthernetトランスが必須となる
  • 基本の電源バスは12VDC
  • ピン11、14、16、17、18は現在の改造では使用されず、主にStarlink-ルーター間の監視用途となっている
  • 安定した電源供給のため、すべての12VDCとGNDラインを使うことが推奨される

直接Ethernet接続の設計

  • 直接Ethernet接続の例では、Starlink Mini 1 PCBコネクタに必要なEthernet絶縁と最小限の電源フィルタリングを提供する回路を使用する
  • U1コネクタ周辺にはガードグランドを設けることが推奨される
  • 最適な設計には導電性接着剤とシールドが含まれる
  • コネクタとEthernetトランスの間の配線は可能な限り短く保つべき
  • 12V基準での通常動作電流は約3Aで、短時間のスパイクでは5Aまで上がる
    • L1は過熱を避けられるよう適切な定格電流の部品を選ぶ必要がある
  • 概念実証には既存のEthermodアダプターが使われている

ネットワーク動作とアクセス方法

  • Starlink衛星に接続していない状態では、端末は192.168.100.0/24ネットワークのDHCP IPアドレスを提供する
  • 端末自体には192.168.100.1でアクセスでき、簡易Web UIとgRPC監視/制御サーバーが動作している
  • Starlinkのデバッグデータはgrpcurlで確認できる
grpcurl -plaintext -d {\"get_status\":{}} 192.168.100.1:9200
SpaceX.API.Device.Device/Handle
  • Starlinkネットワークに接続された後、EthernetインターフェースはトンネリングされたDHCPサービスを提供する
    • クライアントにはStarlinkプールのIPが割り当てられる
    • 一般的にはCGNAT IPv4アドレスとlink-global IPv6アドレスが提供される
    • この構成でインターネットアクセスが可能になる
  • Starlink DHCPサーバーは単一のIPアドレスしか提供しない
    • 直接接続できる対象はホスト1台、または複数機器へ接続共有を行う上位ルーター1台となる
  • 外部IPを受け取ると、クライアントは自然に192.168.100.1へのアクセスを失う
  • 端末へのアクセスを維持するには静的ルートを追加できる
sudo ip route add 192.168.100.1 dev ethX
  • ethXはStarlinkに接続されたEthernetインターフェース名に置き換える必要がある
  • ホストがStarlinkネットワーク接続後にIPアドレスを取得すれば、追加設定なしでインターネットアクセスが可能になる
  • アカウント状態と接続状態はgRPC出力で監視する必要がある

gRPCステータスコード

  • gRPC get_status出力には、接続問題の診断に役立つ情報が含まれている
  • 接続問題がある場合、gRPC出力にoutageセクションが現れることがある
"outage": {
  "cause": "NO_SCHEDULE",
  "startTimestampNs": "1815683934050410150",
  "durationNs": "4320001119",
  "didSwitch": true
}
  • outage.causeの取りうる値:
    • BOOTING: 端末が起動中で、モジュール初期化とGPS固定を待っている状態
    • THERMAL_SHUTDOWN: 過熱により部品保護のため端末が停止した状態
    • NO_SCHEDULE: 衛星と通信できない状態で、弱い信号、誤ったGPSデータ、その他の問題が原因の可能性がある
    • NO_SATS: 空で衛星を検出できていない状態
    • OBSTRUCTED: 無線ビーム経路に障害物が検出された状態
    • NO_DOWNLINK: 衛星からデータを受信できない状態
    • NO_PINGS: 端末と衛星の接続は維持されているが、衛星が地上セグメントとの接続を失っている状態

アカウント制限コード

  • Starlinkアカウント状態はdisablementCodeセクションで確認できる
  • 取りうるdisablement code:
    • UNKNOWN_STATE: 端末が未定義または認識されない状態を報告している
    • OKAY: アカウントは有効で、インターネットアクセスが可能なはずの状態
    • NO_ACTIVE_ACCOUNT: Starlinkアカウントが削除された、またはサービスが一時停止されている
    • TOO_FAR_FROM_SERVICE_ADDRESS: 登録されたサービス住所エリア外で動作している
    • IN_OCEAN: 現在のサービスプランがカバーしていない海域にいる
    • BLOCKED_COUNTRY: Starlinkサービスが許可されていない国にいる
    • DATA_OVERAGE_SANDBOX_POLICY: データ上限を超過しており、さらに利用するにはサービスプラン変更が必要
    • CELL_IS_DISABLED: Starlinkシステムでローカルサービスセルが無効化されている
    • ROAM_RESTRICTED: 現在のアカウントまたはプランではローミングが許可されていない
    • UNKNOWN_LOCATION: Starlink衛星が端末の位置を確認できない
    • ACCOUNT_DISABLED: Starlinkアカウントが停止または恒久的に無効化されている
    • UNSUPPORTED_VERSION: 端末ファームウェアに互換性がない、または古い
    • MOVING_TOO_FAST_FOR_POLICY: 車両や航空機のように速く移動しすぎてポリシー制限に違反している
    • UNDER_AVIATION_FLYOVER_LIMITS: 航空機の飛行区域下にあり、サービスが制限されている
    • INVALID_COUNTRY: Starlinkがサポートしていない国にいる
    • UNLICENSED_COUNTRY: Starlinkが規制承認を得ていない国にいる
  • disablementCodeは衛星接続が成功した後であれば常に利用可能なはず
  • ユーザー端末はサービスプラン、国、地域、速度制限を自前では認識せず、Starlink衛星から受け取った命令に従う

1件のコメント

 
GN⁺ 2025-06-16
Hacker News のコメント
  • 最後の部分が紛らわしい。「無効化コード」(地域ブロック、速度超過など)がユーザー端末で適用される、というニュアンスに見えるが、だとすると回避できるということなのかと思ってしまう。
    「ユーザー端末自体はサービスプラン、国、地域、速度制限を知らず、Starlink 衛星から受け取った命令に従うだけ」と書かれていたが、当然 DHCP の段階で強制されるものだと思っていた。あるいは、IP を受け取った後にあまりに速く移動できてしまうので、そうではないのかもしれない。この記事が実質的に Starlink のポリシー制限を回避するための「察してくれ」式のガイドなのか気になる。

    • 端末に共有される結果コードのように聞こえる。たとえば「ACCOUNT_DISABLED - Starlink アカウントが停止または永久に無効化されている」や「UNLICENSED_COUNTRY – 端末が Starlink が規制当局の承認を得ていない国にある」といったもの。
      その判定を Starlink ネットワークではなく端末が担う構造である可能性は低そうに見える。
    • 衛星が端末にコードを送る理由は、端末自体が自分がブロックされていることすら分からないから、という意味だと見ている。ユーザーがインターネットにつながらない理由を確認できるようにするためだろう。
    • Starlink に詳しいわけではないが、一般的にはアプリが端末からエラー・診断コードを読み取る流れのように見える。内蔵ルーターを迂回して端末を SBC に接続されたモデムのようにだけ使うと、スマートフォンでこうしたエラーを見られない。
      だからエラーコードを確認し、それに応じて対応するスクリプトを作れる。たとえば Starlink 端末をドローンに載せているなら、サービスが切れたときに自動で位置を変えられるし、障害物が検知されれば無人機をもっと高く飛ばすこともできる。ジオフェンスを誤って越えてサービスが切れたら、Starlink 端末をオフにして予備の通信システムをオンにすることもできる。実質的にこの無効化コードをセンサーのように使える。
    • 実際に何らかの無効化コードをだましたり回避したりできると分かったなら、共有しなかったはずだ。結局は Starlink が無許可利用をどれだけ厳格に検査し強制するかにかかっている。
      この規模で運営されている米国企業なら、非常に厳格なレベルから、基本的な検査や要請時の対応程度まで、どこでもあり得そうだ。ここで誰かが、Starlink は本来使えないはずのロシアでも使えると言っていたが、ウクライナに渡された一部の機器がロシアでも使えてしまうのかもしれない。
    • まったくそういう印象ではない。端末がサービスプランや制限情報を保持していないなら、その情報はより上位で管理されているということだ。この記事だけでは、端末を設定して制限を無視できるかは分からないが、単に disablementCode を無視するだけでは十分でない可能性が高い。
  • MAC 同士で RGMII を直接つなぐのではなく、変調されたボード間 Ethernetを使っている選択が興味深い。

    • Ethernet の方がプロトタイプ作成にはずっと簡単そうだ。RGMII で通信しようとすると、そのまま使える既製品はほとんどないが、Ethernet ならテスト時にただノート PC に挿せばよい。
      別々の 2 チームがそれぞれ作っているなら、インターフェースを Ethernet にしておく方がはるかに簡単で、統合テストを後回しにしたり、より早くリリースしたりできる。
    • RGMII はボード間接続用に設計されたものではない。データ速度がかなり高く、理想的にはすべての信号の遅延をそろえる必要がある。
      ボードが 2 枚に分かれるとさらに難しくなり、EMI/EMC の問題も出そうだ。評価キットではそういうやり方を見たことがあるが、量産品には良い考えには見えない。
    • 全体として概念実証の雰囲気がかなり強い。デジタル→アナログ→アナログ→デジタルが非効率なのは確かで、抽象的には RGMII を使う MAC-PHY 接続の方が良い可能性が高い。
      ただ、記事に出ているインターフェースの方がアクセスしやすかった、あるいは内部構造をそこまで深く掘らずに済んだのではないか、という場当たり的な推測はできる。RGMII のラインがどこにあるのかも分からないし、Starlink Mini 自体の設計によってはもっと深いところに埋まっていてアクセスしにくかったのかもしれない。
    • この作業の目的が完全には理解できない。Mini にはすでにRJ45 ジャックがあるので、Ethernet PHY にアクセスするためにデバイスをハックする必要はない。設定ページで WiFi ルーターもオフにできる。
      ウクライナで提供されている Mini では Ethernet ジャックのサポートが省かれているのだろうか?写真を見る限り、電源ジャックの横の WiFi ボードに今もあるように見える。
    • そのコネクタは、大きな反射なしにRGMII 信号を運べるコネクタよりずっと安い。結局、より良いコネクタを使うより追加のシリコンを入れる方が安く済む可能性があり、絶縁が不要なら磁性部品も不要そうだ。
  • 電力制約のあるどんな用途を想定しているのか正確に分かるし、気に入った。

    • 具体的にどんなユースケースを考えていたのか気になる。
    • Starlink はすでに Nemesis 夜間爆撃機と Magura 海上ドローンで使われている。
    • ドローンに載せて使うのか?
  • アーカイブ版: https://archive.ph/UTFTK

  • Starlink はどんな SoC を使っているのか?Broadcom か?

    • MediaTek
  • とても良かった。Starlink が実際にこういう形のアンテナ+モデムサービスと、CGNAT のようなものではない本物の IPv4 を提供してくれるといいのだが。かなり高いビジネスプランにはあるようではある。

    • Starlink 経由でトンネルを作ってグローバル IPを取得できる。MTU の低下とトンネル終端までの追加ホップがあるので 100% 効率的ではないが、動作はする。
    • 新しい ISP ではこれが標準的な流れだ。優れたアドレス活用計画がなければ IPv4 ブロック購入の承認を得るのは難しい。
      すべての家庭向け顧客にグローバル IP を与える方式は、もはや IPv4 空間のうまい使い方とは見なしにくい。
  • 著者が Ethernet のピン配列をどうやって突き止めたのか気になる。本当にすごい。
    それに GRPC を使っているのも良い。急がずにきちんとやる有能な人たちがいるというサインのように見える。