[sudo-discuss] robot hacking - help crack the code!

Jake jake at spaz.org
Mon Sep 22 16:42:39 PDT 2014


brendan and I have been working on a python program to pretend to be the 
disk drive of the robot (which connects to it over serial)

the hope is to be able to save and load programs from the robot to a 
normal computer, like the 3d printer (to which it is presently attached)

i hooked up a logic analyzer to spy on the conversation between the robot 
and its disk drive, and the results are here:

http://spaz.org/~jake/robot/floppy-loadafile.logicdata

there are other .logicdata files in there too, some don't have the session 
configured to decode the serial data (4800 baud, EVEN parity, inverted)

you can read the analyzed data with Salae Logic, a free download.

OR just read the python program we wrote:
https://github.com/jerkey/yasnac/blob/master/src/engine.py

on line 36 we answer the robot's request to LST the files by sending the 
following text: (in the program it's constructed from two strings)

"\x02\x13\x00LST0001123.JBI     \x00\xfc"

this works (the robot responds with ACK) but it we change ANYTHING it 
doesn't like it and says NAK NAK NAK

i thought the last byte would be a checksum, but the whole thing does NOT 
add up to something divisible by 256, and furthermore if I change the file 
name (123.JBI) to 124.JBI AND change the last \xfc to \xfb, it fails - 
which means it is not using a simple checksum (right?)

help figure this out!  we need to be able to send the robot arbitrary 
filenames and have it accept the packet (and then we can start sending the 
program data)

-jake



More information about the sudo-discuss mailing list