如何修改Starlink Mini使其无需内置WiFi路由器即可运行
How to modify Starlink Mini to run without the built-in WiFi router

原始链接: https://olegkutkov.me/2025/06/15/how-to-modify-starlink-mini-to-run-without-the-built-in-wifi-router/

本文详细介绍如何移除Starlink Mini(截至2025年6月14日版本1)的集成Wi-Fi路由器,以便实现直接以太网连接,从而提供更大的自定义网络灵活性。拆卸过程涉及使用金属撬棒、塑料撬工具和薄刀片或细线小心地拆卸设备。移除路由器PCB后,可以直接访问主PCB连接器。文章提供了连接器的引脚图,重点介绍了1 Gbps以太网链路(使用T568B颜色)和12VDC电源线。由于是直接PHY到PHY连接,文章强调了在自定义设置中使用以太网变压器进行隔离的重要性,并建议实施适当的接地和屏蔽以减轻EMI。文章提供了一个直接以太网连接的示意图,包括以太网隔离和电源滤波。文章进一步解释了如何配置网络以访问Starlink终端(192.168.100.1)和访问gRPC监控/控制服务器。最后,文章列出了一些有用的gRPC状态代码,用于故障排除。

一个Hacker News帖子讨论了一篇博文,该博文详细介绍了如何修改Starlink Mini以绕过其内置WiFi路由器。讨论深入探讨了Starlink选择使用调制板间以太网而不是RGMII(缩减千兆位媒体独立接口)进行内部通信的技术原因。一些评论者认为以太网更便宜、更容易原型设计,并且比RGMII需要更少的专用连接器。另一些人则认为RGMII是更节省芯片的解决方案。 该帖子还探讨了修改背后的动机,用户推测其应用场景包括电力受限的情况、远程无人机或乌克兰的军事行动。人们担心Starlink能够追踪或禁用设备,从而引发了对替代通信技术和地缘政治影响的讨论,尤其考虑到乌克兰和俄罗斯的情况。谈话涉及Starlink的价格、冲突地区的局限性以及使用AI聊天机器人作为信息来源,最终质疑在战争中使用技术的伦理问题。
相关文章

原文

The Starlink Mini terminal is designed as a compact, all-in-one solution with an integrated Wi-Fi router. While this design is ideal for typical consumer use, certain applications—such as custom networking setups, embedded installations, or power-constrained environments—may benefit from removing the internal router entirely. In this article, I’ll detail the process of physically removing the built-in Wi-Fi router board from the Starlink Mini, allowing the terminal to operate solely via Ethernet and offering greater flexibility for advanced users.

Please note that this modification applies only to the Starlink Mini 1 (as of June 14, 2025). Hardware changes in future models, such as the expected Mini 2, may render this process invalid.

Starlink Mini teardown

The disassembly process requires patience and accuracy. I recommend using metal spudgers and a plastic prying tool.

 

 

 

 

 

 

 

Additionally, you will need a thin, flexible knife or a thin metal wire to remove the router’s PCB.

I prepared a video manual about the teardown process.
Please note that there is no need to remove the metal plate from the Starlink PCB. You can stop the teardown process after removing the router’s PCB.

Removing the metal plate is strongly discouraged. This plate serves as both a heatsink and an EMI shield.
The Starlink CPU runs hot, and without proper cooling, it may throttle the CPU or antenna array. In addition, the plate is glued around the corners with conductive adhesive to ensure effective electromagnetic shielding. The Starlink Mini PCB generates significant EMI, and SpaceX reportedly faced challenges achieving compliance.
Removing the plate can lead to increased emissions and potential interference with nearby electronics.

Starlink Mini PCB connector

The exact type of the connector is unknown. It might be a custom order. But the pitch of the connector is 2 mm, so any standard 2 mm header will fit here nicely.

You may notice that this connector is secured with a similar conductive adhesive and a large non-masked grounding area. Additionally, a shield is placed over the connector on the router’s PCB.
This is all done to help contain the EMI.

Connector pinout

Starlink Mini uses a 1 Gbps Ethernet link between the primary unit and the router. Please note that there is no Ethernet transformer; instead, a direct PHY-to-PHY connection with some decoupling is used. This is acceptable for short distances. With any custom design installation, the Ethernet transformer is mandatory.
The primary voltage bus is 12 VDC.

The connector pinout (Starlink Mini side) is in the picture below. The connector pinout (Starlink Mini side) is in the image below.
Ethernet line signals are mapped to the corresponding T568B twisted cable colors. Pins 11, 14, 16, 17, and 18 are not used in the current modification and mainly serve Starlink-Router monitoring purposes.
It’s recommended to use all 12 VDC and GND lines.

A reference image to help you identify pins:

Direct Ethernet connection

Below, you can see an example schematic of the direct Ethernet connection to the Starlink Mini_1 PCB connector. This schematic provides required Ethernet isolation and minimal power filtering to ensure proper operation.

It’s recommended to put a guard ground around the U1 connector. The most optimal design includes conductive adhesive and shielding.
Please, keep wires between the connector and Ethernet transformer as short as possible.

Nominal runtime current over 12V is ~3A with short spikes up to 5A.
Please select the L1 with the appropriate rated current to avoid overheating.

Proof-of-concept using my Ethermod adapter:

Network configuration

The Starlink terminal provides a DHCP IP address in the 192.168.100.0/24 network when not connected to Starlink satellites.
The terminal itself is available at address 192.168.100.1, running a simple web UI and gRPC monitoring/control server.

It’s convenient to get Starlink debug data using grpcurl. Example request (getting the current status of the terminal):

grpcurl -plaintext -d {\"get_status\":{}} 192.168.100.1:9200
SpaceX.API.Device.Device/Handle

After connecting to the Starlink network, the Ethernet interface provides a tunneled DHCP service, assigning clients IP addresses from the Starlink pool – typically a CGNAT IPv4 address (e.g., 100.72.116.102) and a link-global IPv6 address. This network configuration provides access to the Internet.
Please note that the Starlink DHCP server provides only a single IP address. Therefore, you can connect only one host or an upstream router directly to share the connection with multiple devices.

After acquiring the “external” IP address, your client naturally loses access to the 192.168.100.1 host.
To fix this, you can add a static route to the terminal:

sudo ip route add 192.168.100.1 dev ethX

Replace ethX with the name of your Ethernet interface connected to Starlink.

No additional configuration is required. Once your host obtains an IP address after joining the Starlink network, it should have internet access.
Don’t forget to monitor account status and connection state via the gRPC output.

Bonus – important gRPC status codes

The gRPC get_status output contains a lot of helpful information.
In case of connection issues, the “outage” section should appear in the gRPC output. Example:

"outage": {
"cause": "NO_SCHEDULE",
"startTimestampNs": "1815683934050410150",
"durationNs": "4320001119",
"didSwitch": true
},

Possible values of the “cause”:

BOOTING – The terminal is starting up, initializing modules, and waiting for a GPS fix.
THERMAL_SHUTDOWN – The terminal has overheated and shut down to protect components.
NO_SCHEDULE – The terminal is unable to communicate with satellites. This could be due to a weak signal, incorrect GPS data, or other issues.
NO_SATS – The terminal failed to detect any satellites in the sky.
OBSTRUCTED – An obstruction is detected along the radio beam path.
NO_DOWNLINK – The terminal cannot receive data from the satellite.
NO_PINGS – The satellite has lost connection to the ground segment, although the terminal’s connection to the satellite remains intact.

You can monitor the status of your Starlink account in the section “disablementCode“.

Possible disabement codes:

UNKNOWN_STATE – Terminal reported an undefined or unrecognized state.
OKAY – The Account is active and should provide access to the internet.
NO_ACTIVE_ACCOUNT – Starlink account has been removed or the service is on pause.
TOO_FAR_FROM_SERVICE_ADDRESS – The terminal is operating outside the registered service address region.
IN_OCEAN – Terminal is located in an oceanic zone not covered by the current service plan.
BLOCKED_COUNTRY – Terminal is located in a country where Starlink service is not permitted.
DATA_OVERAGE_SANDBOX_POLICY – Data cap exceeded; Change service plan to get more data.
CELL_IS_DISABLED – The local service cell is disabled in the Starlink system.
ROAM_RESTRICTED – Roaming is not allowed under the current account or plan.
UNKNOWN_LOCATION – Terminal location cannot be determined by the Starlink satellite.
ACCOUNT_DISABLED – The Starlink account has been suspended or permanently disabled.
UNSUPPORTED_VERSION – Terminal firmware is incompatible or outdated.
MOVING_TOO_FAST_FOR_POLICY – Terminal is moving too quickly (e.g., in a vehicle or aircraft), violating policy limits.
UNDER_AVIATION_FLYOVER_LIMITS – Terminal is under an aircraft flyover zone where service is restricted.
INVALID_COUNTRY – Terminal is in a country not supported by Starlink.
UNLICENSED_COUNTRY – The terminal is located in a country where Starlink lacks regulatory approval.

The disablement code should always be available after a successful connection to the satellites. The Starlink system provides this information. The user terminal itself has no knowledge of service plans, countries, regional, or velocity restrictions – it simply follows commands received from the Starlink satellite.

Thanks for reading!

Tagged , , , ,
联系我们 contact @ memedata.com