I remember when PistonMiner finished the fix and executed it on the "flight model". They were quite literally jumping up and down in happiness and the whole Chair of Space Technology at TU Berlin was gossipping about it in the hallways :) Amazing hack, absolute hats off to them. By the way, this is their bachelor's thesis.
We have used the vtable trick many times in satellite software operations, whenever we had to "quickly patch" this or that function, without having to uplink a whole software update - which as they explain in the talk, is quite an involved process that takes significant time and resources to complete.
Happy to answer or forward any questions about nanosatellites, software in space, etc!
P.S.: it looks there is a bit of a mix-up with the audio of the recorded talks. The default audio track contains a Polish dubbing. Select the "eng-deu-pol 1080p (mp4)" which seems to be the correct one. (And thanks to the A/V team at CCC for your efforts to make this content accessible to everyone <3)
> We have used the vtable trick many times in satellite software operations, whenever we had to "quickly patch" this or that function
Notably, many generations of broadcom wireless firmware uses a similar trick. The Chips are made with a ROM containing the firmware, but obviously the firmware has bugs that get shipped, and ROM's can't be changed. Instead, the hardware has a loadable table of 'patches', which allows pointers or code from ROM to be overridden to point to a [much smaller] RAM at runtime.
Effectively, this means you can tell your software team "We have 2 year to develop this chip, however after 6 months you have to have a 1st draft of all the code, and then you can use the last 18 months of the development cycle to patch up to 5% of that code to make a saleable product."
When linux wireless firmware needs loading, this table of patches is what you're loading in.
Great explanation, thank you. This makes a lot of sense.
This inspires me to make a nano satellite! Haha
You should do it! It's never been more accessible and affordable (relatively speaking, of course). And it's a lot of fun!
For many years I have wanted to make an "Earth Sat" that is isolated as though it were in orbit, but is here on Earth. There's also the possibility of high altitude balloons but those have a finite life. Or might get shot down.
From all I understand, almost all SATs, especially LEO ones have a finite life as well. Starlink ones will stay up about 5 years and then de-orbit themselves; but even without de-orbiting itself the (very low) atmospheric drag would take it down eventually after the fuel to keep it in orbit runs out
That is correct. But balloons would be a few orders of magnitude less lifetime.
Any idea why they only want Starlink to stay up for 5 years?
It's more a physical limitation. Low Earth Orbit satellites (LEO) are closer to the atmosphere and have some friction with it, slowing it down and then gravity does its job.
To stay longer you would need less heavier satellites, with more fuel to correct their trajectory. Or fly higher and have more latency.
5 years is just a good compromise.
I have to say this is perhaps one of my favourite CCC talks.
Interesting subject matter, novel technical problems and solutions, story narrated at speed and with just enough information to fill in typical knowledge gaps, and on top of all of that there's slides and answers ready to go for random questions from the audience.
Wonderful job, PistonMiner!
The extra slides in the Q and A were a hoot. Super impressive preparation and anticipation by the speaker.
A neat detail from the talk: It's on the Amateur Radio 70cm band, and has a digipeater running. PistonMiner is willing to turn it on for people.
impressive tenacity