Closed woutervddn closed 5 years ago
I just tried with python 2.7.3 and python 2.7.6, both give this error on 4 different eeproms...
Okay, so I thought this was happening because of a library error in pycrypto. It turns out it is not. I used the bin from here: https://github.com/bvanheu/stratasys/issues/1 together with the reversed eeprom uid and the corresponding machine and all worked fine.
This basically means that there actually is something wrong with my binaries. I wrote a script that iterated over all eeprom bins and tried to decrypt them using both the eeprom uid and the reversed eeprom uid and all the machine types. None of them could get decrypted.
I don't have access to the bins that I pulled straight with the raspberry pi (from gpio), but instead I've got bins created with an arduino using this tool: https://github.com/meawoppl/eepromTool-ds2433
I figured that the bin was outputted using another method as the one expected by stratasys-cli so I decided to convert the bins using dd.
I tried: dd if=$origin of=$dirname/$binName conv=swab dd if=$origin of=$dirname/$binName conv=ascii dd if=$origin of=$dirname/$binName conv=ebcdic dd if=$origin of=$dirname/$binName conv=ibm
These operations where used on 2 bins: an original stratasys ABS eeprom and an aftermarket ABS eeprom, but so far no luck...
This exception is thrown because the decryption is probably failing.
What's the model of your printer?
Can you give me the exact command line you're using to decrypt eeproms?
The printer is a fortus 400mc
I used the following command: ./stratasys-cli.py eeprom -t fox -e ffdc00000034f8d223 -i ./flash-dump/23d2f834000000dcff/1416644539.82.bin
with the bin being this file: http://vdnkr.be/1414684752.79.bin
it doesn't seem like a valid eeprom (no STRATASYS signature at the end), are you sure you uploaded the right file?
The command line should work as you use it. Write a new EEPROM and try it in your machine.
Sorry, the bin is an actual Stratasys rom that I dumped (and written back to the eeprom) using the eepromtool mentioned above. I can confirm that it was read by the printer without any problem.
The eepromuid of that dump should be "23fbe334000000f0ff" though... The "ffdc00000034f8d223" eeuid is one from an aftermarket eeprom from another material supplier
Hi guys,
First, thanks a lot bvanheu for your work :)
I have exactly the same problem for the decryption of canister for Fortus 900mc. I can see the STRATASYS signature in the dump but I have the "invalid content checksum"... Command line is : ./stratasys-cli.py eeprom -t prodigy -e 490000017cbb0a23 -i eeprom
I try to write a new EEPROM (EEPROM Failure on the machine) and I try the different type of machine numbers with no sucess.
Any ideas?
Thanks.
Hello, i have the same problem with a dimension (prodigy) dump I dumped the eeprom using an arduino and this tool : https://github.com/meawoppl/eepromTool-ds2433 my uid is 2314857801000029ff i reversed it to : ff2900000178851423 when i launch, under windows 10 : stratasys-cli.py eeprom -t prodigy -e ff2900000178851423 -i cartridge_dump.bin
i have this error
Traceback (most recent call last): File "C:\Users\Acca\Dropbox\ARDUINO\eepromTool-ds2433-master\stratasys-master\stratasys-cli.py", line 252, in <module> app.run() File "C:\Users\Acca\Dropbox\ARDUINO\eepromTool-ds2433-master\stratasys-master\stratasys-cli.py", line 27, in run args.func(args) File "C:\Users\Acca\Dropbox\ARDUINO\eepromTool-ds2433-master\stratasys-master\stratasys-cli.py", line 101, in command_eeprom self._eeprom_info(args) File "C:\Users\Acca\Dropbox\ARDUINO\eepromTool-ds2433-master\stratasys-master\stratasys-cli.py", line 211, in _eeprom_info cartridge = m.decode(machine_number, args.eeprom_uid, cartridge_crypted) File "C:\Users\Acca\Dropbox\ARDUINO\eepromTool-ds2433-master\stratasys-master\stratasys\manager.py", line 53, in decode cartridge = self.unpack(cartridge_packed) File "C:\Users\Acca\Dropbox\ARDUINO\eepromTool-ds2433-master\stratasys-master\stratasys\manager.py", line 109, in unpack raise Exception("invalid content checksum: should have " + hex(struct.unpack("<H", str(cartridge_packed[0x40:0x42]))[0]) + " but have " + hex(self.checksum.checksum(cartridge_packed[0x00:0x40]))) Exception: invalid content checksum: should have 0xc481 but have 0xc5f
Did you find a solution please ?
Hi, delete the "ff". It is unneccesary.
use stratasys-cli.py eeprom -t prodigy -e 2900000178851423 -i cartridge_dump.bin
Hi I keep getting this error on all my eeproms... I tried to figure out how that came to be but failed...
Traceback (most recent call last): File "./stratasys-cli.py", line 228, in
app.run()
File "./stratasys-cli.py", line 47, in run
args.func(args)
File "./stratasys-cli.py", line 125, in command_eeprom
self._eeprom_info(args)
File "./stratasys-cli.py", line 167, in _eeprom_info
cartridge = m.decode(machine_number, args.eeprom_uid, cartridge_crypted)
File "/home/pi/stratasys-master/stratasys/manager.py", line 74, in decode
cartridge = self.unpack(cartridge_packed)
File "/home/pi/stratasys-master/stratasys/manager.py", line 130, in unpack
raise Exception("invalid content checksum: should have " + hex(struct.unpack("<H", str(cartridge_packed[0x40:0x42]))[0]) + " but have " + hex(self.checksum.checksum(cartridge_packed[0x00:0x40])))
Exception: invalid content checksum: should have 0x83f5 but have 0x5e57
Any thoughts?