Printer.cfg for Anycubic Kobra 2 Plus/Pro/Max

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.

It’s gonna take ages to run through all those versions.

Might write a golang program to do it.

EDIT:

YAY. Luckily they have no rate limits lol.

I have probably spammed their servers with half of a million of requests by now.

RIP THEIR SERVERS.

EDIT 2:

Nope. Nothing.

It’s only the 1.1.0 for now it seems like.

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.

1 Like

someone is poking around

papig

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.

Sineos

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.

I have managed to get the sdk and get the default riscv version compiled.

All I have to do now is to change settings to match the arm CPU and all that.

But I’ll continue tomorrow.

Total directory size is about 28G.

I would like to upload it to Git Hub when I have time for that.

But the SDK is using repo sync instead of regular git command.

But we’ll see. It will eventually be uploaded so we all can work together on it.

1 Like

A quick spot check would indicate that

[flow_calibration]
start_x : 20
start_y : 20
line_length : 150.000000
line_space : 5.000000
step_distance : 0.01

[mcu]
mem_interface : mem_interface_DSP

[auto_leveling]
extrude_x : 394
extrude_y : 0
extrude_z : 15
extrude_length : 80.0
extrude_speed : 3.0
extruder_pullback_length : 25.0
extruder_pullback_speed : 30.0
extruder_cool_down_temp : 140.0
lifting_after_completion : 15.0
target_spot_x : 394.200000
target_spot_y : 440.100000

[probe]
final_speed : 4.0
move_after_each_sample : -2.0
z_offset_adjust : 0.2

[bed_mesh_probe]
final_speed : 4.0
samples_result : weighted

[system]
language : 0
boot :0
wifi : 1
area : 1
run_mode : 1
sound : 1
material_breakage_detection : 1
extrude_speed : 300
retract_speed : 300
retract_extrude_length : 6
screen_off_time : 20
material_breakage_retries : 2
material_breakage_interval : 3
device_model : Anycubic kobra 2 Max
print_size : 420*420*500mm

[pid_calibrate]
test_points : 100,100,5
extruder_target_temp : 230
heater_bed_target_temp : 60

is not main-line Klipper

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.

I do plan to keep it, at least for now. And yes, I will definitely share any useful info, whenever I get the time to tinker with it.

Installed opkg using entware: Home · Entware/Entware Wiki · GitHub

wget http://bin.entware.net/armv7sf-k3.2/installer/generic.sh 
chmod 755 generic.sh 
./generic.sh
sed -i '$i\/opt/etc/init.d/rc.unslung start' /etc/rc.local
echo 'export PATH="$PATH:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"' >> /etc/profile 
reboot

For example, you can install dropbear:

opkg update
opkg install dropbear
reboot

After installation, connection via SSH is available under root on port 22.

2 Likes

I couldn’t set up wifi via the touchscreen.
I was able to connect using the following command:
wifi_connect_ap_test SSID_name wifi_key

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 :slight_smile:

1 Like

Hi guys. I just uploaded the Tina Sdk in parts.

If someone who is more experienced with this kind of stuff to convert to arm.

You can download the parts here:
tina-d1-h.zip.001
tina-d1-h.zip.002
tina-d1-h.zip.003
tina-d1-h.zip.004
tina-d1-h.zip.005

About 1.95GB each. (7-zip)
9GB total.

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:

EDIT: I fixed it by downloading https://toolchains.bootlin.com/downloads/releases/sources/m4-1.4.18/0003-c-stack-stop-using-SIGSTKSZ.patch
Into tools/m4/patches
I fixed the second error by adding this to the file tools/mklibs/Makefile
HOST_CPPFLAGS += -std=gnu++98
I fixed the third error by downloading wget https://bugs.archlinux.org/task/69572?getfile=19705 -O no_STAT_VER.patch into tools/fakeroot/patches (Create folder if not exist)
I fixed the fourth error by downloading https://raw.githubusercontent.com/spack/spack/2b04f06e50c7f2aa32f8c7995e329955075b8a33/var/spack/repos/builtin/packages/squashfs/gcc-10.patch into tools/squashfskit4/patches
It seems to be compiling for now but we will see.

Just in case anyone wants to play around with it.

The SDK guide can be found here: 获取SDK - D1-H

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.

Any help is welcome! :slight_smile:

3 Likes

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!)

1 Like

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:
Screenshot
There is also no direct mention of Klipper in any of the decompiled data.

1 Like

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.

github.com/anjomro/kobra-unleashed

kobra-unleashed-idle

4 Likes

this would at least allow me to use prusa slicer and not have to run a usb all around so I am game for some setup instructions

1 Like