Giter VIP home page Giter VIP logo

Comments (7)

sparky8512 avatar sparky8512 commented on August 19, 2024 1

Ah, I see. It is using the dish_stow request message, but that message has an unstow field. Since it's a bool field, it will default to false, so an empty dish_stow will stow (unstow=false). To unstow, you need to pass a request that has that set to true. With grpcurl, that would be something like:

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

(adjust quoting as necessary)

This is probably worth documenting somewhere, if not a (small) dedicated script to do it.

from starlink-grpc-tools.

sparky8512 avatar sparky8512 commented on August 19, 2024

I don't think there is an explicit unstow. Back when the public beta first started, I think you had to actually power cycle to get out of stow mode, but these days, I think a reboot will do it.

from starlink-grpc-tools.

itemir avatar itemir commented on August 19, 2024

There is now an explicit unstow option on the app and the web page. And it just unstows the dish as expected. I tried the reboot gRPC command. It did work but unsurprisingly it did reboot the system. When you unstow it from the app, the behavior is significantly different so I suspect there is a command but not sure what it is. I found a bunch of gRPC commands in the bundled JS and some code to unstow the dish but could not decipher it so far:

REQUEST_NOT_SET:0
SIGNED_REQUEST:15
GET_NEXT_ID:1006
AUTHENTICATE:1005
ENABLE_FLOW:1018
FACTORY_RESET:1011
GET_DEVICE_INFO:1008
GET_HISTORY:1007
GET_LOG:1012
GET_NETWORK_INTERFACES:1015
GET_PING:1009
PING_HOST:1016
GET_STATUS:1004
REBOOT:1001
SET_SKU:1013
SET_TRUSTED_KEYS:1010
SPEED_TEST:1003
UPDATE:1014
GET_LOCATION:1017
GET_HEAP_DUMP:1019
RESTART_CONTROL:1020
FUSE:1021
GET_PERSISTENT_STATS:1022
GET_CONNECTIONS:1023
FLUSH_TELEM:1026
START_SPEEDTEST:1027
GET_SPEEDTEST_STATUS:1028
REPORT_CLIENT_SPEEDTEST:1029
INITIATE_REMOTE_SSH:1030
SELF_TEST:1031
SET_TEST_MODE:1032
DISH_STOW:2002
DISH_GET_CONTEXT:2003
DISH_GET_OBSTRUCTION_MAP:2008
DISH_SET_EMC:2007
DISH_GET_EMC:2009
DISH_SET_CONFIG:2010
DISH_GET_CONFIG:2011
TRANSCEIVER_IF_LOOPBACK_TEST:4001
TRANSCEIVER_GET_STATUS:4003
TRANSCEIVER_GET_TELEMETRY:4004
WIFI_GET_CLIENTS:3002
WIFI_GET_DIAGNOSTICS:3008
WIFI_GET_PING_METRICS:3007
WIFI_SET_CONFIG:3001
WIFI_GET_CONFIG:3009
WIFI_SETUP:3003
WIFI_SET_MESH_DEVICE_TRUST:3012
WIFI_SET_MESH_CONFIG:3013
WIFI_GET_CLIENT_HISTORY:3015

from starlink-grpc-tools.

sparky8512 avatar sparky8512 commented on August 19, 2024

OK, I can trace what command the app is using for that, then.

from starlink-grpc-tools.

itemir avatar itemir commented on August 19, 2024

Awesome, thanks! Happy to add a shell script to stow/unstow if you'd like.

Out of curiosity, how did you find this key? I looked around but it didn't jump at me.

from starlink-grpc-tools.

sparky8512 avatar sparky8512 commented on August 19, 2024

I usually just use grpcurl describe mode on the main request message and then look at any of the specific requests that look new or that I know change from time to time, but since this one snuck in some time ago without me noticing, I figured it would be easier to run a packet capture with Wireshark. That only gives you the binary protobuf data, so I then fed that through an online protobuf decoder and then looked up the message and field type IDs in the grpcurl describe output.

from starlink-grpc-tools.

sparky8512 avatar sparky8512 commented on August 19, 2024

In addition to the new script, I also add a wiki page with the grpcurl commands for reboot, stow, and unstow.

That should do it for this issue.

from starlink-grpc-tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.