7 ms·
The failure analysis is interesting: https://image.gsfc.nasa.gov/publication/document/IMAGE_FRB_Final_Report.pdf https://image.gsfc.nasa.gov/publication/documen
by quotemstr 9y ago
The failure analysis is interesting: https://image.gsfc.nasa.gov/publication/document/IMAGE_FRB_Final_Report.pdf https://image.gsfc.nasa.gov/publication/document/IMAGE_FRB_F...
Basically, the spacecraft needs a transponder to communicate with Earth. The transponder is attached to a circuit breaker. For various reasons, the circuit breaker can flip off. When this happens, it sends an "I'm off" status bit to the spacecraft's power control computer, which in turn flips the circuit breaker back on.
The problem is that the transponder circuit breaker, if it switches rapidly, turns itself off without setting the "I'm off" status bit. Since the spacecraft computer doesn't know the transponder circuit breaker is off, it never commands it back on. Consequently, the spacecraft can't send or receive commands and becomes useless.
The paper speculates that one way to break out of this state might be to wait for an eclipse that lasts long enough to drain the onboard batteries, causing the whole spacecraft to lose power. When the spacecraft boots up again after exiting the eclipse restores power, the power control computer will unconditionally command the transponder circuit breaker on, restoring connectivity --- basically, waiting for orbital geometry to turn the whole thing off and on again.
There's more. You might think: "Well, just add a bit of code to the main onboard computer to unconditionally reset the circuit breaker every so often. Hacky, but it works, right?"
Nope. If I'm understanding this right, the power display computer (which doesn't appear to be programmable) is designed to ignore transponder power control commands from the main computer. The paper doesn't explain the reasoning for this resign, but I suspect it's probably to guard against software bugs causing exactly the scenario that the circuit breaker hardware bug caused. So in an attempt to guard against a software bug, the designers lost the ability to work around a hardware bug.
Maybe you could program the software to notice that it hasn't gotten commands for a while and deliberately rotate itself into an orientation that causes a power loss and reset? I'm guessing that the solar panels are arranged in such a way that it wouldn't work, and the attitude control fuel consumption might be excessive.
- mLuby 9y agoWonder if the power display computer might be susceptible to Meltdown, Spectre or Rowhammer? Or is it not programmable in the sense that everything is hardwired…
- garmaine 9y agoNot susceptible to the first two because these are almost universally large-process in-order CPUs. But generally "not programmable" in the sense of being hard-wired, or just not having a way of doing remote code execution to perform the update. These systems are _really_ simple.
- golergka 9y agoCPUs used in space are usually much simpler and slower than ours – they put enormous amount of resources on error correction due to radiation levels.
- logotype 9y agoI suspect the CPU in this satellite is a BAE Systems RAD6000, commonly used in NASA spacecrafts. It’s extremely expensive and also brittle due to the materials used. Very hard to get due to export regulations. I tried to source one of these CPU’s outside US once.
- ygra 9y agoWikipedia at least confirms that.
- pavel_lishin 9y agoDo you mean brittle in the physical sense, like a potato chip? That's surprising; I assumed that a launch subjects all components to a fair bit of shaking around, not to mention the steday G forces.
- haikuginger 9y agoIf that's the case, it looks like the chip has a surprisingly modern feature set. For example, based on this article[1], the RSC on which the RAD6000 was based had an on-chip memory controller in 1992. It also had a branch predictor, however, this line is notable: > Note that the RSC never speculatively executes prefetched instructions. This means that the branch predictor only did fetch/decode, and so the chip would not have been susceptible to Spectre, as the pipeline would have been flushed and the correct instructions reloaded as soon as the condition evaluated false, before the branch would have been actually executed. [1]https://web.archive.org/web/20131004213712/http://zmoore.net/RSC%20ICCD92.pdf https://web.archive.org/web/20131004213712/http://zmoore.net...
- ManuelKiessling 9y ago"Have you tried turning it off and on again?"
- TomK32 9y agoFar too many times.
- peterburkimsher 9y agoThere are actually products that do this kind of power cycling. I'm a happy user of a ResetPlug that fixes my WiFi problems by rebooting the router when the connection is down. (I don't mean this as a spammy ad, just in case other people have as terrible Internet access as Chunghwa is giving me)
- 24gttghh 9y agoTBH you probably need a better WiFi router, not some external device that turns it off and on for you... Can you not at least schedule reboots of your current router? That silly plug is $60! You could have bought a mikrotik wifi router for cheaper than that...
- peterburkimsher 9y agoThe router is provided by the landlord, who already called out the service people from Chunghwa Telecom to look at it. They turned it off and on again, and it worked (of course). So they refused to replace it. And I can't schedule reboots, because it usually fails a few minutes after I start using it when I return to my house (not at a consistent time every day).
- Firerouge 9y agoWould it be possible to script a regularly recurring event to run everything on overdrive so as to put sufficient load on the on board battery to guarantee a low voltage event?
- mannykannot 9y agoThe article's author figures that there was no such reset during the first eclipse following the failure (in 2007), but perhaps the batteries have now degraded to the point where they are drained during an eclipse?
- sigstoat 9y ago> Maybe you could program the software to notice that it hasn't gotten commands for a while and deliberately rotate itself into an orientation that causes a power loss and reset? heh, some spacecraft buses are designed to do the opposite. they'll go into a spin during emergencies just to guarantee that their solar panels are hit at least occasionally. > I'm guessing that the solar panels are arranged in such a way that it wouldn't work, plenty of spacecraft have solar panel arrangements where it is possible for them to not receive any light. > and the attitude control fuel consumption might be excessive. spacecraft can (if designed to include them, which is common AFAIK) control their orientation with reaction wheels, no propellent required. (the reaction wheels will become saturated sooner or later, though. when orbiting bodies with significant magnetic fields they can be desaturated through the use of magnetic torquer bars. otherwise they have to use propellent to do it.)
- quotemstr 9y agoRight. I was imagining the reaction wheel unloading using the propellant. But I don't know anything about this particular design, so the concern may or may not apply.
- Armisael16 9y agoSimply turning around won’t put any long-term load on the reaction wheels though - you spin up to start reorient the satellite and then spin back down once you’re in the desired orientation. It’d be slow - reaction wheels aren’t really designed for gross maneuvers like this - but this is hardly an urgent situation.
- naikrovek 9y agoIt's the spin up and spin down that actually make the orientation changes, though. You can't spin up infinitely, so once a reaction wheel is spinning as fast as it can, you can't accelerate it further, and you can't rotate the spacecraft in the opposite direction on that axis any longer. (I don't think reaction wheels are capable of gross orientation changes at all -- only very minor alignment corrections.)
- reaperducer 9y ago> basically, waiting for orbital geometry to turn the whole thing off and on again. NASA calls Dell Support, too?