- Starlink Mini 1 có thể được vận hành như một thiết bị đầu cuối chỉ dùng Ethernet bằng cách loại bỏ router Wi-Fi tích hợp, mở rộng lựa chọn cho cấu hình mạng tùy chỉnh hoặc lắp đặt nhúng
- Đối tượng chỉnh sửa chỉ giới hạn ở Starlink Mini 1 tính đến ngày 14/6/2025; quy trình có thể không phù hợp với phần cứng đời sau như Mini 2
- Trong quá trình tháo rời, tấm kim loại trên PCB Starlink đóng vai trò tản nhiệt và che chắn EMI, nên nếu tháo bỏ sẽ làm tăng nguy cơ throttling hoặc nhiễu điện từ
- Thân máy và router được kết nối bằng liên kết Ethernet 1Gbps và bus nguồn 12VDC; trong thiết kế của người dùng, khác với kết nối trực tiếp nội bộ ngắn, cần có biến áp Ethernet
- Sau khi tháo router, thiết bị đầu cuối cung cấp DHCP và giao diện trạng thái gRPC trên 192.168.100.0/24, nhưng nếu muốn dùng nhiều thiết bị sau khi kết nối vệ tinh thì cần router phía trên
Phạm vi chỉnh sửa và lưu ý khi tháo rời
- Starlink Mini là thiết bị đầu cuối tất cả trong một có tích hợp router Wi-Fi, nhưng nếu tháo vật lý bo mạch router bên trong thì có thể vận hành ở chế độ chỉ Ethernet
- Phạm vi áp dụng là Starlink Mini 1 tính đến ngày 14/6/2025; các thay đổi phần cứng ở những mẫu trong tương lai như Mini 2 có thể khiến quy trình này không còn hiệu lực
- Việc tháo rời đòi hỏi kiên nhẫn và độ chính xác; nên dùng spudger kim loại và dụng cụ nạy bằng nhựa
- Khi tháo PCB router, cần dùng dao mỏng, dẻo hoặc dây kim loại mảnh
- Sau khi tháo PCB router, có thể dừng việc tháo rời; rất không khuyến nghị tháo tấm kim loại trên PCB Starlink
- Tấm kim loại đồng thời đóng vai trò tản nhiệt và che chắn EMI
- CPU Starlink tỏa nhiệt lớn, và nếu làm mát không đủ thì CPU hoặc mảng anten có thể bị throttling
- Mép tấm kim loại được gắn bằng keo dẫn điện, giúp che chắn điện từ; nếu tháo ra có thể làm tăng phát xạ và gây nhiễu cho thiết bị điện tử xung quanh
Đầu nối PCB và cấu hình chân
- Loại đầu nối trên PCB Starlink Mini hiện chưa được biết chính xác và có thể là linh kiện đặt làm riêng
- Bước chân đầu nối là 2mm, nên 2mm header tiêu chuẩn có thể phù hợp
- Đầu nối được cố định bằng keo dẫn điện và vùng nối đất rộng; phía trên đầu nối ở phía PCB router có lớp che chắn
- Cấu hình này nhằm ức chế EMI
- Giữa thân máy và router sử dụng liên kết Ethernet 1Gbps
- Kết nối nội bộ là kết nối trực tiếp PHY-to-PHY có kèm một chút decoupling, không dùng biến áp Ethernet
- Điều này chấp nhận được ở khoảng cách ngắn, nhưng trong lắp đặt theo thiết kế của người dùng thì biến áp Ethernet là bắt buộc
- Bus nguồn cơ bản là 12VDC
- Các chân 11, 14, 16, 17, 18 hiện không được dùng trong bản chỉnh sửa này và chủ yếu phục vụ mục đích giám sát Starlink-Router
- Để cấp nguồn ổn định, nên sử dụng tất cả các đường 12VDC và GND
Thiết kế kết nối Ethernet trực tiếp
- Ví dụ kết nối Ethernet trực tiếp sử dụng mạch cung cấp cách ly Ethernet cần thiết và lọc nguồn tối thiểu cho đầu nối PCB Starlink Mini 1
- Nên bố trí guard ground quanh đầu nối U1
- Thiết kế tối ưu bao gồm keo dẫn điện và che chắn
- Đường dây giữa đầu nối và biến áp Ethernet nên được giữ ngắn nhất có thể
- Dòng hoạt động bình thường ở 12V khoảng 3A, còn các spike ngắn có thể lên tới 5A
- L1 cần được chọn là linh kiện có định mức dòng phù hợp để tránh quá nhiệt
- Bản chứng minh khái niệm sử dụng adapter Ethermod hiện có
Hoạt động mạng và cách truy cập
- Khi chưa kết nối với vệ tinh Starlink, thiết bị đầu cuối cung cấp địa chỉ IP DHCP trong mạng 192.168.100.0/24
- Bản thân thiết bị đầu cuối có thể truy cập tại 192.168.100.1, chạy một web UI đơn giản và máy chủ giám sát/điều khiển gRPC
- Có thể kiểm tra dữ liệu debug của Starlink bằng grpcurl
grpcurl -plaintext -d {\"get_status\":{}} 192.168.100.1:9200
SpaceX.API.Device.Device/Handle
- Sau khi kết nối với mạng Starlink, giao diện Ethernet cung cấp dịch vụ DHCP được tunneling
- Client được cấp IP từ pool của Starlink
- Thông thường sẽ được cung cấp địa chỉ IPv4 CGNAT và địa chỉ IPv6 link-global
- Cấu hình này cho phép truy cập Internet
- Máy chủ DHCP của Starlink chỉ cung cấp một địa chỉ IP duy nhất
- Đối tượng có thể kết nối trực tiếp là 1 host hoặc 1 router phía trên để chia sẻ kết nối cho nhiều thiết bị
- Sau khi nhận IP bên ngoài, client sẽ tự nhiên mất quyền truy cập 192.168.100.1
- Để duy trì truy cập thiết bị đầu cuối, có thể thêm route tĩnh
sudo ip route add 192.168.100.1 dev ethX
- Cần thay
ethX bằng tên giao diện Ethernet kết nối với Starlink
- Khi host nhận địa chỉ IP sau khi kết nối mạng Starlink, có thể truy cập Internet mà không cần thiết lập thêm
- Trạng thái tài khoản và trạng thái kết nối cần được giám sát qua output gRPC
Mã trạng thái gRPC
- Output get_status của gRPC chứa thông tin hữu ích cho việc chẩn đoán sự cố kết nối
- Khi có sự cố kết nối, output gRPC có thể xuất hiện phần
outage
"outage": {
"cause": "NO_SCHEDULE",
"startTimestampNs": "1815683934050410150",
"durationNs": "4320001119",
"didSwitch": true
}
- Các giá trị có thể có của
outage.cause:
- BOOTING: thiết bị đầu cuối đang khởi động, chờ khởi tạo module và khóa GPS
- THERMAL_SHUTDOWN: thiết bị đầu cuối đã tắt để bảo vệ linh kiện do quá nhiệt
- NO_SCHEDULE: không thể liên lạc với vệ tinh; nguyên nhân có thể là tín hiệu yếu, dữ liệu GPS sai hoặc vấn đề khác
- NO_SATS: không phát hiện vệ tinh trên bầu trời
- OBSTRUCTED: phát hiện vật cản trên đường truyền chùm tia vô tuyến
- NO_DOWNLINK: không thể nhận dữ liệu từ vệ tinh
- NO_PINGS: kết nối giữa thiết bị đầu cuối và vệ tinh vẫn được duy trì, nhưng vệ tinh đã mất kết nối với phân đoạn mặt đất
Mã hạn chế tài khoản
- Trạng thái tài khoản Starlink có thể được kiểm tra trong phần
disablementCode
- Các disablement code có thể có:
- UNKNOWN_STATE: thiết bị đầu cuối báo cáo trạng thái chưa được định nghĩa hoặc không được nhận dạng
- OKAY: tài khoản đang hoạt động và lẽ ra có thể truy cập Internet
- NO_ACTIVE_ACCOUNT: tài khoản Starlink đã bị xóa hoặc dịch vụ bị tạm dừng
- TOO_FAR_FROM_SERVICE_ADDRESS: đang hoạt động ngoài khu vực địa chỉ dịch vụ đã đăng ký
- IN_OCEAN: đang ở vùng biển mà gói dịch vụ hiện tại không bao phủ
- BLOCKED_COUNTRY: đang ở quốc gia không cho phép dịch vụ Starlink
- DATA_OVERAGE_SANDBOX_POLICY: đã vượt hạn mức dữ liệu và cần đổi gói dịch vụ để có thêm dữ liệu
- CELL_IS_DISABLED: ô dịch vụ cục bộ đã bị hệ thống Starlink vô hiệu hóa
- ROAM_RESTRICTED: tài khoản hoặc gói hiện tại không cho phép roaming
- UNKNOWN_LOCATION: vệ tinh Starlink không thể xác định vị trí thiết bị đầu cuối
- ACCOUNT_DISABLED: tài khoản Starlink đã bị đình chỉ hoặc vô hiệu hóa vĩnh viễn
- UNSUPPORTED_VERSION: firmware thiết bị đầu cuối không tương thích hoặc đã cũ
- MOVING_TOO_FAST_FOR_POLICY: di chuyển quá nhanh như trên xe hoặc máy bay, vi phạm giới hạn chính sách
- UNDER_AVIATION_FLYOVER_LIMITS: đang ở dưới khu vực bay của máy bay nên dịch vụ bị hạn chế
- INVALID_COUNTRY: đang ở quốc gia Starlink không hỗ trợ
- UNLICENSED_COUNTRY: đang ở quốc gia Starlink chưa được phê duyệt theo quy định
disablementCode phải luôn khả dụng sau khi kết nối vệ tinh thành công
- Thiết bị đầu cuối của người dùng không tự biết gói dịch vụ, quốc gia, khu vực hay giới hạn tốc độ, mà tuân theo lệnh nhận từ vệ tinh Starlink
1 bình luận
Ý kiến trên Hacker News
Phần cuối hơi khó hiểu. Nghe như “mã vô hiệu hóa” (chặn theo khu vực, vi phạm tốc độ, v.v.) được áp dụng ở thiết bị đầu cuối của người dùng, vậy có nghĩa là có thể vượt qua được chăng?
Bài viết nói “bản thân thiết bị đầu cuối của người dùng không biết gói dịch vụ, quốc gia, khu vực hay giới hạn tốc độ, mà chỉ làm theo lệnh nhận từ vệ tinh Starlink”, nên tôi cứ nghĩ nó sẽ được cưỡng chế ngay ở bước DHCP. Hoặc cũng có thể không phải, vì sau khi nhận IP thì thiết bị có thể di chuyển quá nhanh. Tôi thắc mắc liệu bài này thực chất có phải là một hướng dẫn kiểu “tự hiểu nhé” để vượt qua các giới hạn chính sách của Starlink hay không
Khả năng cấu trúc để thiết bị đầu cuối, chứ không phải mạng Starlink, chịu trách nhiệm đưa ra phán định đó có vẻ thấp
Vì vậy có thể kiểm tra mã lỗi và tạo script phản ứng tương ứng. Chẳng hạn nếu gắn thiết bị đầu cuối Starlink lên drone, khi dịch vụ bị ngắt nó có thể tự động đổi vị trí; nếu phát hiện vật cản thì UAV có thể bay cao hơn. Nếu vô tình vượt qua geofence khiến dịch vụ bị ngắt, nó cũng có thể tắt thiết bị đầu cuối Starlink và bật hệ thống liên lạc dự phòng. Về cơ bản có thể dùng mã vô hiệu hóa này như một cảm biến
Với một công ty Mỹ vận hành ở quy mô này, mọi khả năng đều có thể, từ mức cực kỳ nghiêm ngặt cho tới chỉ kiểm tra cơ bản hoặc phản ứng khi có yêu cầu. Ở đây có người nói Starlink vẫn hoạt động ở Nga, nơi lẽ ra không nên hoạt động, nhưng cũng có thể một số thiết bị được chuyển cho Ukraine có thể dùng được cả ở Nga
disablementCodelà chưa đủLựa chọn dùng Ethernet giữa các bo mạch đã được biến đổi thay vì nối trực tiếp RGMII giữa các MAC khá thú vị
Nếu hai nhóm khác nhau đang tự làm phần của mình, thống nhất giao diện là Ethernet sẽ dễ hơn rất nhiều, và có thể lùi kiểm thử tích hợp lại hoặc ra mắt sớm hơn
Khi tách thành hai bo mạch thì sẽ khó hơn, và có lẽ còn phát sinh vấn đề EMI/EMC. Tôi từng thấy làm kiểu đó trên bộ đánh giá, nhưng với sản phẩm sản xuất hàng loạt thì không có vẻ là ý hay
Tuy vậy tôi có phỏng đoán tức thời rằng giao diện trong bài dễ tiếp cận hơn hoặc không cần đào sâu vào cấu trúc bên trong nhiều. Cũng không biết các đường RGMII nằm ở đâu, và tùy thiết kế của chính Starlink Mini mà chúng có thể bị chôn sâu hơn, khó tiếp cận hơn
Có phải bản Mini được cung cấp ở Ukraine bị bỏ hỗ trợ giắc Ethernet không? Nhìn ảnh thì có vẻ nó vẫn nằm trên bo WiFi cạnh giắc nguồn
Tôi hiểu chính xác họ đang nhắm tới mục đích nào có ràng buộc về điện năng, và tôi thích điều đó
Bản lưu trữ: https://archive.ph/UTFTK
Starlink dùng SoC nào vậy? Broadcom à?
Rất hay. Ước gì Starlink thực sự cung cấp kiểu dịch vụ ăng-ten + modem như thế này, kèm IPv4 thật chứ không phải CGNAT. Có vẻ gói doanh nghiệp đắt hơn nhiều thì có
Cách cấp IP công cộng cho mọi khách hàng gia đình giờ không còn được xem là cách sử dụng không gian IPv4 hiệu quả nữa
Tôi tò mò tác giả đã tìm ra sơ đồ chân Ethernet như thế nào. Thật sự ấn tượng
Và việc dùng GRPC cũng hay. Nó giống như dấu hiệu cho thấy có những người có năng lực làm việc một cách bài bản, không vội vàng