-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UPrint cartridge. #21
Comments
Hi milesguidon, Thank you very much! Were you using a raspberry Pi or the Bus Pirate? Cheers! |
I am using a USB to RJ45 or RJ11 converter, with two wires stripped out of the RJxx jack to go to the cartridge with alligator clips. No need for a resistor or external equipment in my setup. It's pretty simple: I just use a PC with Maxim's OneWireViewer software to get the serial number and 55aa55xxxxxxxxxx codes, then just copy and paste the text of the python input into a command line window. Then, I use "bin2hex.exe" to convert the *.bin file that the python code generates into a hex file, then I run a keyboard macro in Zeus text editor to change the intelhex format to the format displayed by the OneWireViewer software. Once the keyboard macro is done, I just copy and paste the several lines of hex from Zeus to OneWireViewer software and I'm done. The whole process takes 2 minutes, tops, and you just need a PC. |
Hi On Mon, May 25, 2015 at 10:53 PM, milesguidon [email protected]
|
Exactly, for now you cannot write over a UPrint EEPROM for that specific reason :( I will add a note in the README. |
Hi, i face the same problem right now. I can read but not write back. is there any workaround known yet? Cheers Samuel |
Hi, unfortunately there is no workaround for now :( |
Hm too bad... So that chip is actually not a DS2433 but a similiar eeprom with SHA1 encoding. So the only way to write to it would be to find the key for encrypting the data. Would it help to monitor the onewire communication of a uprint to find that key? |
I don't think so, the data will be encrypted on the wire and decrypted by the chip, using the 64 bit key. |
The encryption is not handled by the printer - the encryption is handled by the reader in the material bay. In theory, you could replace the material bay readers with ones from a Dimension (would need different contacts), and then you could use standard DS2433 chips. |
Hey Guys, I'm determined to get a solution for the uPrint SE+. I used the debug port on the back of the machine to grab the cartridge info. Support Cartridge
Model Cartridge
When I get home, I'm going to read the same data using the code from this repo (just checking everything works as expected). My question is.... What could we do to create a 'smart' cartridge carrier that spoofs the machine? Could we remove the need for the one-wire chips all together and replace them with a microcontroller? or maybe a pizero? :-) Would appreciate thoughts. |
Someone does have a solution for the uPrint SE+. Argyle Materials On 11/27/2015 8:24 AM, makerswamp wrote:
|
Here are the commands. Haven't tried the "Write" command yet.... |
Hey Milesguidon, Thanks for the info. I actually already have one of these. Do you know if this spoof-er works indefinitely? Argyle Materials still has a huge markup on their materials and it'd be nice not to swap one acumen approach for another. |
the point is that they figured out how to spoof it! On 11/27/2015 9:36 AM, makerswamp wrote:
|
Agreed! I'll do some probing of the Argyle Materials DRD this afternoon. |
If anyone wants me to have a look on their device, feel free to reach me via my email address [email protected]. |
So, I've been doing some digging... I actually have a HP branded uprint se+. As such, the current code base cannot correctly decode my cartridges. Seems the unique code in machine.py needed for my machine is different.
Any ideas on how to find the code required for my machine? |
I'm playing around with and Arduino and the HP Designjet Chip. Reading is working well. What do I have to do to try to decrypt the HEX-File with the uprintSE machine number? Also I have tried to read the Bolson Materials DRD Chip but have had no luck. Maybe it is not a plain 1Wire chip. How can I figure out the machine number of the HP printer? Where can i "find" it? HEX-Dump of the HP Designjet 3D.
|
256FF, it looks like your EEPROM dump may be treated as a uPrint rather than a uPrintSE. Here's what I got from it: pi@raspberrypi:~/stratasys-master $ ./stratasys-cli.py eeprom -t uprint -e 931014d0086a33b3 -i odinchip.bin Cartridge - 'odinchip.bin'Serial number 256934412.0 Machine type: uprint F3A91DBE6B0B2255 |
Oh, I was thinking it is a SE Clone. |
I'm not sure if a uPrint catridge can be used in the HP - you'd want to do a dump and analysis of a regular uPrint EEPROM and compare it. Note that your dump showed an unknown material value of 0x1ff as well, which I've not seen before - perhaps that's how the cartridges are differentiated. |
A, good idea with the unknown Material. I will try to get some Dumps of an uPrint Chip. |
Here I'm back again. I recieved the DRD-Chip from Bolson and managed to read it out. Initial read worked well. Also the printer recognized the Chip als 922ccm. But after printing a few layers it stopped and it was no longer readable. I dumped again and tried to decrypt it but it shows the following error
Here ist the dump, does anyone have an idea how to decrypt? |
What is the EEPROM's UID? |
Sorry, forgot to add the UID b30948e1d0141010 |
Some more dumps of the HP DesignJet Chips; Material is unknow and finally one dump of a support With the stratasys-cli.py I always get "Material: unknown (4095 - 0xfff)" Creating an own *.bin with this material (after adding it to the material.py) is working but when testing the created file it shows me
|
I finally managed to re-write the 100% dump back to the EEPROM of the HP. But this means that it is neccessary to delete the file with the stored serial numbers. |
Do you have a mirror to that link for the instructions? That page doesn't exist anymore. modprobe w1_ds2433 creates a directory /sys/devices/w1_bus_master/b3-XXXXXXXXXXXX, and I can read the ID, but there's no file/directory labled "eeprom" like the readme mentions. These are what I have to work with in that directory: (d)driver, (f)id, (f)name, (d)power, (f)rw, (d)subsystem, (f)uevent (where "d" stands for directory and "f" for file) EDIT: I copied the "rw" file, and tried to run bvanheu's script to decode it, but the script is crashing due to an "invalid crypted content checksum". I want to assume that means "rw" is the incorrect file, but I suspect it could also have something to do with my id that ends with "b3" when the readme says it should end with "23". |
@thekakester : the reason why you don't see the "eeprom" file is because there is no driver that supports the B3 family in Linux. I'm currently working on such driver to support the MAC thing for the B3 family chips. The B3 family supports the same command to read the memory data as the 23 family, so you can use an arduino or bus pirate to dump the eeprom. |
@256FF Were you able to write back to the EEPROM using the arduino for your b3 chip? |
Hi, |
@256FF You are truly amazing and I have no idea how you found out that you could interface with the printer itself like you did. I just saved the 100% data from some of my cartridges, and now I'm doing a print job to run the spool empty and I'll try to restore the 100% data back to it. Thanks again for your time! |
Thanks for the flowers, but nealy nothing of this was found out by me. :-) |
I have a uprint SE, and I have a image of its hard disk, I see a sha1 file on one of the volumes, could this be the encryption key used? |
Heres the file, its exactly as on the partition just in case its useful The volume is 'Linux Ext Volume 1' in the bin directory, there are also files with names like 'seed.sh' chkVer, envelope, fw2.bin,mcb06.bin updatemcb.sh etc Let me know if you want/need any files or need a list of files anywhere |
Given the B3 is not in the list of onewire family chips, its probably a DS28E01, which doesn't have a family designation, uses the same write/read commands |
I've found a file 'masterd' which has strings of system.dat in it, and strings like If I could figure out what program/script is listening on the DIAG port maybe we can get a private key for the eeproms |
three chip downloads for Material from a uprint se printer carts |
Link to 'Side sha1 attacks on the DS28E01 eprom series' |
@ericalbers Can you share that masterd file? And possibly a file list? The Fortus 450 has the same B3 family code. |
Hello |
Good evening,
I checked the wiring suggested on the readme, however I have an UPrint and its EEPROM is different as you can see on the images bellow, it has 4 contact areas (even if I believe it uses only 2) do you have any ideas on which ones should I use?
As recently you included the uprint machines ID's I do believe that someone already used it, if someone could help me in how to use it for this specific printer?
Thank you very much in advance!
The text was updated successfully, but these errors were encountered: