Jailbreaking ZIM after Zeepro stopped it´s services?

Hello,
Thank you for this “jailbreak” solution.
My ZIM is now set apart waiting for the usb port to be replaced but my desoldering skills seems to be very low :sweat_smile:
Maybe the “jailbreak” could be an alternative solution to upload g-code from S3D. Did your solution give you access to the g-code uploading page on ZIM?
Thanks!

Hi!
The solution to delete one certain file on the SD-Card to use the “third party G-Code upload feature” in the original ZIM Software was discovered by @Nightmare. I however, haven´t tested this solution, because I had already switched to Octorint on Raspberry when he came up with it.
I´m sure he can help you

Hi!
@J_Schmidt Thanks for your reply. I finally had the usb port replaced with some cold sweat and a wire bridge :sweat_smile:.
Thank to this forum my ZIM is now working with Simplify3D! This is awesome!

ZIM is a really fine piece of Hardware. It is exremely robust and rigid compared to the wooden boxes (although they are also way better than they appear), and it offers a great design.
Most of the disadvantages of the machine have already been solved in this forum, or at least are being processed.

So you use Simplify3D? I haven´t tried it because of the lack of a free trial version. I for myself use Slic3r and Octoprint because of the stand-alone features, others use Cura… Once you seperate the easy-to-understand but limited ZIM-software from the Hardware, you can control ZIM with whatever you want. THAT is was open source means.
JPOD did a great job in modifying the firmware, so ZIM is handeled like a normal Marlin based Printer. It´s a bit sad that the guys from Zeepro ended this project so inglorious. The company really had the potential for more.

I agree, even if ZIM is my first 3Dprinter, so I can not really compare with others, the results look pretty good. For exemple the 3D Benchy test came out really nicely. Zeepro may have failed in some commercial ways and in the open source approach ; ) but the ZIM is a great 3D printer and it is really nice that it continues being developed through this forum.

I just made my first test with Simplify3D, the result looks good with smooth surfaces. The top layer failed for this first print but it certainly needs some other settings. The software view and control panels are very user friendly. But overall the support structures are super easy to remove with very low impact on the surface. If you want to compare with Slic3r, you can send me a 3Dfile you want to test, and I’ll send you back the Gcode and screen captures…

Here is how to root your zim:

  1. Connect a serial cable to your Zim Cubie board. Video

  2. Connect to the serial port with the zeepro unpowered.

    In my case I use: sudo cu -l /dev/cu.usbserial -s 115200

  3. Power up then hit the enter key when you see “Hit any key to stop autoboot: 0 1 …”

  4. Type setenv init /bin/bash and press enter.

  5. Type boot and press enter.

    The cubieboard will boot up and log you in as root. Once you see the root@(none):/#, you are logged in but the root drive is read only.

  6. Type mount -o remount,rw / and hit enter to make the root file system writable.

  7. Now you want to set the root password. Just type passwd root and you will be prompted to enter a new password. Enter the same password twice to set it.

  8. Now just remount the root file system in read only mode for good measure with mount -o remount,ro /

  9. Now you just need to power cycle your zeepro so it will boot up fully.

That is all there is to it. After you have the root password set, you can do anything you want to the embedded linux system including installing octoprint. Once you figure out you network ip address for your zim, you can ssh into it with ssh root@your_ip_address.

The Zim cubieboard is running “Debian GNU/Linux 7.1”.

3 Likes

It would be easier if we had the original root password. Here is the default root hash if anyone has a GPU cluster they want to run against it:

SHA-512

root:$6$qzQb957m$JJnNQcYBa0JazuRTE4eVY8mOE5ZulcWf3aJSdVH16WnOvlLb5Jk6jq4j8mmATmRyKfBGjGyxS6g.n4WH5MYHH.:0:0:root:/root:/bin/bash

Interesting thing about the SDRAM on the cubieboard. The memory controller on the a10 only supports 1GB but the board actually has 8GB onboard (2x SK hynix H5TQ4G63AFR). They must have been cheap at the time of manufacture. Also interesting is that the processor is reportedly capable of booting from USB0 If you hold down the power button while booting.

On the PCB you can see A10 but in fact the CPU is a A20 ^^

I also found a other amazing hack.
If you want to download the Zeepro Slic3r presets. you save them under a other name and you will find them stored on the SD card.
the SDcard is EXT format. you go to /conf/presetlist/
you find folders. inside each folder you have a slic3r preset. The preset.json files has the name of the preset and the config.ini is the slic3r file

If you have rooted the cubieboard the original files are located
/var/www/data/presetlist

@Nightmare cool! Are those different than the ones @mtbf0 posted here? Upload G-code (work around) If so can you upload them somewhere or send them to me and I’ll host them?

If you don’t have a serial cable I posted a rooted version of 1.8.4 over on the backup firmware thread. The image is actually here.

@Nightmare I can confirm the cpu is indeed an a20 and both cores are online.

root@zim:~$ cat /sys/devices/system/cpu/cpu*/online
1
1

So now that the Zim is rooted we can explore the firmware.

I found a interesting path /var/www/application/controllers
it seems to be all the menu that have been developped for the webinterface

some interesting functions that helps :

zim.local/test_presets when you type this you D/L the originals presets od the Zim ^^

zim.local/test_video Direct access to the video broadcast

zim.local/Test_production Let you access the machine without registering. On next power on the machine will be factory setup

zim.local/Cartridge You can reprogram the Cartridge RFID

zim.local/Zeepronterface Pronterface like Interface. there is a part where you can send GCODES and even upload a GCODE file to the Zim

Enjoy :grin:

Located on the root I found a Firmware folder with the Marlin release. I suppose that if we put a new release there it uptade the Zim Marlin. Would it be so simple ?
TO BE TESTED :stuck_out_tongue:

Super cool. If anyone else is interested in browsing the source code for the web app, it is here:

I tried this the other day with my original cubieboard and it was ghost printing on the wrong extruder even though I specifically generated gcode for the correct tool (and it works when octoprint sends it to the zimboard). From this menu it thought I only had one extruder for some reason. Also there was no terminal to view the commands being processed so it was a bit hard to interpret what was going on. I have to say OctoPrint really has spoiled me now with it’s very detailed and customizable interface, and wide array of plugins.

I’m definitely interested to see what you guys dig up with the original firmware though… I can see this being a really big help for all of those users out there that don’t want to invest in a RasPi and learning new ways with their Zim. How cool would that be if we could resurrect some kind of cloud slicing for all Zims? It doesn’t seem possible for free, but maybe there are some users out there with just the right hardware or connections. Anyhoo, keep on hacking!

Hi, What software/editor did you use to read the SDCARD?

Thanks in advance.

GE

When I slice normally I get a print on my right printhead. I never experienced a gohst print on the wrong extruder :smile:

Honestly the only thing I would like would be to get back the cloud slicer to work again :wink: it was so convenient. I don’t know if it is difficult to setup. But this would be great. The internal slicing do not work with large files.

Sounds about right if it only thinks a 2 extruder Zim has 1 extruder. The right extruder is T0 which is also the default extruder if T0 or T1 is not specified. In my case I specifically called out T1 which is why it was ghost printing I guess… not sure. I don’t understand why the Zimboard would ignore T1, or maybe the Cubieboard was converting T1 to T0 or just T. I could just switch filament but ultimately not knowing what’s happening as I throw GCODE at some defunct cubieboard URL (/zeepronterface) was enough to keep me away from it :smile:

Oups. are you using the cartrigges or the ZIM loading system ?
maybe the filament detect switch was not detecting the filament?

The Zim software could switch if the filament detect is not ‘hit’.
disconnect the switch and test again.