1 điểm bởi GN⁺ 2025-06-16 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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

 
GN⁺ 2025-06-16
Ý 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

    • Nghe giống như một mã kết quả được chia sẻ cho thiết bị đầu cuối. Ví dụ như “ACCOUNT_DISABLED - tài khoản Starlink đã bị đình chỉ hoặc vô hiệu hóa vĩnh viễn” hay “UNLICENSED_COUNTRY – thiết bị đầu cuối đang ở một quốc gia mà Starlink chưa được phê duyệt theo quy định”
      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
    • Tôi hiểu lý do vệ tinh gửi mã cho thiết bị đầu cuối là vì bản thân thiết bị thậm chí không biết mình có bị chặn hay không. Mục đích là để người dùng có thể thấy vì sao Internet không hoạt động
    • Tôi không rành Starlink lắm, nhưng nhìn chung có vẻ giống luồng trong đó ứng dụng đọc mã lỗi/chẩn đoán từ thiết bị đầu cuối. Nếu bỏ qua router tích hợp và chỉ dùng thiết bị đầu cuối như một modem nối với SBC, bạn sẽ không thể xem các lỗi này trên điện thoại thông minh
      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
    • Nếu họ đã tìm ra cách đánh lừa hoặc vượt qua một mã vô hiệu hóa nào đó thật, chắc họ đã không chia sẻ. Rốt cuộc còn tùy Starlink kiểm tra và cưỡng chế việc sử dụng trái phép nghiêm ngặt đến mức nào
      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
    • Tôi hoàn toàn không có ấn tượng như vậy. Nếu thiết bị đầu cuối không lưu thông tin gói dịch vụ hay giới hạn, thì thông tin đó được quản lý ở cấp cao hơn. Chỉ dựa vào bài này thì không biết có thể cấu hình thiết bị đầu cuối để bỏ qua giới hạn hay không, nhưng nhiều khả năng chỉ đơn giản bỏ qua disablementCode là 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ị

    • Ethernet có vẻ dễ hơn nhiều để làm nguyên mẫu. Muốn giao tiếp bằng RGMII thì hầu như không có sản phẩm có sẵn nào dùng ngay được, còn Ethernet thì khi thử nghiệm chỉ cần cắm vào laptop
      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
    • RGMII không được thiết kế cho kết nối giữa các bo mạch. Tốc độ dữ liệu khá cao, và lý tưởng là phải khớp độ trễ của mọi tín hiệu
      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
    • Nhìn chung cảm giác chứng minh khái niệm khá rõ. Đúng là digital→analog→analog→digital không hiệu quả, và xét trừu tượng thì kết nối MAC-PHY dùng RGMII có thể tốt hơn
      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
    • Tôi không hoàn toàn hiểu mục đích của việc này. Mini đã có giắc RJ45 rồi, nên không cần hack thiết bị để truy cập PHY Ethernet. Trong trang cài đặt cũng có thể tắt router WiFi
      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
    • Đầu nối đó rẻ hơn nhiều so với đầu nối có thể mang tín hiệu RGMII mà không phản xạ lớn. Cuối cùng, thêm silicon có thể rẻ hơn dùng đầu nối tốt hơn, và nếu không cần cách ly thì có lẽ cũng không cần linh kiện từ tính
  • 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 đó

    • Cụ thể là họ nghĩ tới trường hợp sử dụng nào vậy?
    • Starlink đã được dùng trên oanh tạc cơ đêm Nemesis và drone biển Magura
    • Dùng bằng cách gắn lên drone à?
  • Bản lưu trữ: https://archive.ph/UTFTK

  • Starlink dùng SoC nào vậy? Broadcom à?

    • MediaTek
  • 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ó thể tạo tunnel qua Starlink để nhận IP công cộng. Không hiệu quả 100% vì MTU giảm và có thêm hop tới đầu cuối tunnel, nhưng vẫn hoạt động
    • Với các ISP mới, đây là quy trình mặc định. Nếu không có kế hoạch sử dụng địa chỉ tốt thì khó được phê duyệt mua block IPv4
      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