“Ok, how does this help us?”
“Pathfinder has two communication systems. One to talk to us, the other to talk to Sojourner. We can change the second system to broadcast on the Ares-3 rover frequency. And we can have it pretend to be the beacon signal from the Hab.”
“You can get Pathfinder talking to Mark’s rover?”
“It’s the only option. The Hab’s radio is dead. Thing is, all the rover does is triangulate the signal to fix its location. It doesn’t send data back to the Hab. It just has a voice channel for the astronauts to talk to each other.”
“So,” Venkat said, “You can get Pathfinder talking to the rover, but you can’t get the rover talking back.”
“Right. What we want is for our text to show up on the rover screen, and whatever Watney types to be sent back to us. That requires a change to the rover’s software.”
“And we can’t do that,” Venkat concluded. “Because we can’t talk to the rover.”
“Not directly,” Jack said. “But we can send data to Watney, and have him enter it in to the rover.”
“How much data are we talking about?”
“I have guys working on the rover software right now. The patch file will be 20 Meg, minimum. We can send one byte to Watney every 4 seconds or so with the ‘Speak&Spell.’ It’d take three years of constant broadcasting to get that patch across. So that’s no good.”
“But you’re talking to me, so you have a solution, right?” Venkat probed.
“Of course!” Jack beamed. “Software engineers are sneaky bastards when it comes to data management.”
“Enlighten me,” said Venkat, patiently.
“Here’s the clever part,” Jack said, conspiratorially. “The rover currently parses the signal into bytes, then identifies the specific sequence the Hab sends. That way, natural radio waves won’t throw off the homing. If the bytes aren’t right, the rover ignores them.”
“Ok, so what?”
“It means there’s a spot in the codebase where it’s got the parsed bytes. We can insert a tiny bit of code, just 20 instructions, to write the parsed bytes to a log file before checking their validity.”
“This sounds promising…” Venkat said.
“It is!” Jack said excitedly. “First, we update Pathfinder with our replacement OS. Then, we tell Watney exactly how to hack the rover software to add those 20 instructions. Then we broadcast the rover’s patch to Pathfinder, which re-broadcasts it to the rover. The rover logs the bytes to a file. Finally, Watney launches the file as an executable and it patches the rover software!”
Venkat furrowed his brow, taking in far more information than his sleep-deprived mind wanted to accept.
“Um,” Jack said. “You’re not cheering or dancing.”
“So we just need to send Watney those 20 instructions?” Venkat asked.
“That, and how to edit the files. And where to insert the instructions in the files.”
“Just like that?”
“Just like that!”
Venkat was silent for a moment. “Jack. I’m going to buy your whole team autographed Star Trek memorabilia.”
“I prefer Star Wars.”
“Hello?”
“I need a picture of Watney.”
“Hi, Annie. Nice to hear from you, too. How are things back in Houston?”
“Cut the shit, Venkat. I need a picture.”
“It’s not that simple,” Venkat explained.
“You’re talking to him with a fucking camera. How hard can it be?”
“We spell out our message, wait 20 minutes and then take a picture. Watney’s back in the Hab by then.”
“So tell him to be around when you take the next picture,” Annie demanded.
“We can only send one message per hour, and only when Acidalia Planitia is facing Earth,” Venkat said. “We’re not going to waste a message just to tell him to pose for a photo. Besides, he’ll be in his EVA suit. You won’t even be able to see his face.”
“I need something, Venkat,” Annie said. “You’ve been in contact for 24 hours and the media is going ape shit. They want an image for the story. It’ll be on every news site in the world.”
“You have the pictures of his notes. Make do with that.”
“Not enough,” Annie said. “The press is crawling down my throat for this. And up my ass. Both directions, Venkat! They’re gonna meet in the middle!”
“It’ll have to wait a few days. We’re going to try and link Pathfinder to the rover computer—”
“A few days!?” Annie gasped. “This is all anyone cares about right now. In the world. You see what I’m getting at? This is the biggest story since Apollo 13. Give me a fucking picture!”
Venkat sighed. “I’ll try to get it tomorrow.”
“Great!” She said. “Looking forward to it.”
I have to be watching the camera when it spells shit out. It’s half a byte at a time. So I watch a pair of numbers, then look them up on an ASCII cheat-sheet I made. That’s one letter.
I don’t want to forget any letters, so I scrape them in to the dirt with a rod. The process of looking up a letter and scraping it in the dirt takes a couple of seconds. Sometimes when I look back at the camera, I’ve missed a number. I can usually guess it from context, but other times I just miss out.
Today I got up hours earlier than I needed to. It was like Christmas morning! I could hardly wait for 08:00 to roll around. I had breakfast, did some unnecessary checks on Hab equipment, and read some Poirot. Finally the time came!
“CNHAKRVR2TLK2PTHFDRPRP4LONGMSG”
Yeah. Took me a minute. “Can hack rover to talk to Pathfinder. Prepare for long message.”
That took some mental gymnastics to work out. But it was great news! If we could get that set up, we’d only be limited by transmission time! I set up a note that said “Roger.”
Not sure what they meant by “long message” but I figured I better be ready. I went out 15 minutes before the top of the hour and smoothed out a big area of dirt. I found the longest antenna rod I had, so I could reach in to the smooth area without having to step on it.
Then I stood by. Waiting.
At exactly the top of the hour, the message came.
“LNCHhexiditONRVRCMP,OPENFILE-/usr/lib/habcomm.so-SCROLLTILIDXON LFTIS:2AAE5,OVRWRT141BYTSWTHDATAWE’LLSNDNXTMSG,STANDINVIE W4NXTPIC20MINFTERTHSDONE”
Jesus. Ok…
They want me to launch ‘hexedit’ on the rover’s computer, then open the file /usr/lib/habcomm.so, scroll until the index reading on the left of the screen is 2AAE5, then replace the bytes there with a 141 byte sequence NASA will send in the next message. Fair enough.
Also, for some reason, they want me to hang around for the next pic. Not sure why. You can’t see any part of me when I’m in the suit. Even the faceplate would reflect too much light. Still, it’s what they want.
I went back in and copied down the message for future reference. Then I wrote a short note and came back out. Usually I’d pin up the note and go back in. But this time I had to hang around for a photo op.
I gave the camera a thumb’s-up to go along with my note, which said “Ayyyyyy!”
Blame the ’70’s TV.
“I ask for a picture and I get The Fonz?” Annie admonished.
“You got your picture, quit bitching,” Venkat said, cradling the phone on his shoulder. He paid more attention to the schematics in front of him than the conversation.
“Ayyyyyy!” Annie mocked. “Why would he do that?”
“Have you met Mark Watney?”