Great job. Might wanna try checking versions other than 1.1.0 (but below 1.1.0)
Unrelated note, I’ve been looking through configs yesterday and I’ve noticed that their config uses step_distance which has been removed back in Nov 2021. Seems like they’re running modified version of a quite old klipper.
I’ll include the golang program in the GitHub repo.
Not sure if it’s a version or anything but in the binary app I could find: 20201017.
Probably not related to the Klipper version. Might be something else. Not sure.
Also found: 2.3.9.
Also, I just wanted to say I have absolutely no idea on how to make a custom Linux firmware. I can compile sure but I have no idea on where to download a kernel and all the configuration and all that honestly. We might need a Linux expert who knows this stuff. I haven’t done anything other than to look at openwrt and the link Sineos linked.
If you look at their config, you will notice that there are a lot of settings not available in Klipper main line. The modification seem to go pretty deep, as even the MCU communication interface is new.
Having no sources and a binary packed Klipper will leave you quite lost even with full shell access
If we can’t recreate the MCU interface then it’s completely pointless, the best hope would be to bypass running klipper on the linux host side of that board. so much work to salvage a woefully underspecd board that doesn’t even have a 5th stepper driver. It would be better time spent to grab an manta m5p and compute module for less than $100 and maybe design a wiring harness adapter kit for those not inclined to cut and crimp their own cables.
f we can’t recreate the MCU interface then it’s completely pointless, the best hope would be to bypass running klipper on the linux host side of that board. so much work to salvage a woefully underspecd board that doesn’t even have a 5th stepper driver. It would be better time spent to grab an manta m5p and compute module for less than $100 and maybe design a wiring harness adapter kit for those not inclined to cut and crimp their own cables.
Exactly what I have done. I got Manta m5p, CM4, some tmc 2209 and 2240 drivers. Haven’t had time to wire it all up.
If you look at their config, you will notice that there are a lot of settings not available in Klipper main line. The modification seem to go pretty deep, as even the MCU communication interface is new.
Having no sources and a binary packed Klipper will leave you quite lost even with full shell access
Unfortunately, I’m not experienced enough with Klipper to know which parts of their config are just removed/deprecated features and which ones have never been in mainline Klipper. Well, aside from the interface part of course.
You think you’ll do a write up? Do you plan to keep the entire toolhead? I want to do this, but haven’t tackled anything like this before, so it might be nice to have someone to bounce questions off of if I get stuck.
hi guys, really interested where this is going. Found the thread by searching for the password root.
Tried to run the commands described to clear the root password and I get to the sh prompt but trying to run the commands (like ./lib/functions/preinit.sh) results in a Permission Denied. I can sh the script and “seems to run” but actually I think it does nothing. I assume commands like do_mount_root or link_by_name won’t be available until preinit runs properly.
I’m running 2.3.9 version. Do you think downgrading to say, 2.3.6 will allow me to run the scripts?
Thanks in advance.
Edited to add: Found the issue. I was not issuing the source command before the scripts. Will keep watching the thread
I did try to upload it to a custom GitLab server but it was so big it crashed and I can’t be bothered to fix it so I just uploaded it in parts. (Thanks to Boris)
To compile the riscv version I did the following patches:
Make sure to use Ubuntu and install build tools mentioned in the guide.
I also used wsl2 ubuntu 22.04 lts.
Right now I think we should focus on an Armbian version instead of the Tina SDK since it has apt and all that good stuff which makes things easier to do.
I am replacing the motherboard for now, but that means I will be able to reprogram freely the one that comes with the printer, without (much) fear of consequences. I also have enough spare parts (steppers, cables, etc… anything but the levi-Q sensors) to run basic tests.
Unfortunately I’m not super handy compiling linux systems, so I may do some compilation work but probably will need a lot of handholding.
Would it be helpful if I post a pinout of the board once I start the conversion process? Is there any other place I should be posting this instead?
If you’re starting from scratch it may be easier to see if there’s support in linux-sunxi, which is the community porting linux to most Allwinner processors.
The R528 I think is similar to the T113-S3. T113-s3 - linux-sunxi.org (and lo and behold, there’s a github repo of tina for that processor!)
I’m glad I found this thread! I have gone into the firmware updates including 3.0.3 (3.0.5 isn’t under the URLs previously listed as of now) to look at changes in configs and noticed they have now added certs under resources. I have also used IDA to decompile the app file with a good amount of success, but I agree that the best way would probably be to start from scratch. Here are some results for a search in IDA related to DSP:
There is also no direct mention of Klipper in any of the decompiled data.
what board are you putting in it I am thinking about just replacing mines board to get a useable Klipper printer going. but I am rather new to all this and would love a suggestion of what board to go with.
As far as my understanding goes, this is not exactly a printer where you just drop in another board.
Probably you should only try this if you have a very solid understanding of Klipper, 3D printing and feel comfortable with tinkering on electronics.
Hi all, I poked around the board a bit and tried to gather anything useful. I found the connection details for the MQTT connection used for the app. I managed to have my printer connect to my server instead of the Anycubic servers. It took some reverse-engineering but at least now I can use most of the controls that are available in the app.
Since it isn’t very likely that Klipper or anything else useful is getting ported to these printers anytime soon I thought it would be nice to at least have a web interface for the printer. Currently all main controls (print,stop,pause,resume) are implemented and working. It’s possible to print files already located on the printer or upload gcode remotely.
At the moment the software is in a “works on my machine™” state, but I’ll add setup instructions if anybody wants to use it as well.