Skip to content

Commit 7a47a30

Browse files
committed
Added support for KS1 2.5.6.0
1 parent 61d78a8 commit 7a47a30

File tree

6 files changed

+61
-4
lines changed

6 files changed

+61
-4
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Here are the suported printers and firmwares with latest Rinkhals release:
2222
| -- | -- | -- |
2323
| Kobra 3 (+ combo) | `2.4.0` `2.4.0.4` `2.4.1.9` | `2.4.0.4` seems to have some weird behaviors |
2424
| Kobra 2 Pro | `3.1.2.3` | Only with mainboard [Trigorilla Spe **B** v1.0.x](https://1coderookie.github.io/Kobra2ProInsights/hardware/mainboard/#trigorilla_spe_b_v10x-stock-new-revision). `3.1.4` is buggy |
25-
| Kobra S1 (+ combo) | `2.5.3.1` `2.5.3.5` `2.5.3.8` |
25+
| Kobra S1 (+ combo) | `2.5.3.8` `2.5.6.0` |
2626
| Kobra 3 Max (+ combo) | `2.4.6.5` `2.4.8.4` |
2727
| Kobra 3 V2 (+ combo) | `1.0.5.8` `1.0.7.3` |
2828

docs/docs/printers/kobra-s1.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,22 @@ title: Anycubic Kobra S1
144144
"create_date": 1750075468
145145
}
146146
```
147+
??? quote "2.5.6.0"
148+
```
149+
{
150+
"id": 146,
151+
"model_id": 20025,
152+
"machine_version": "1.1.0",
153+
"firmware_name": "update.swu",
154+
"peripheral_version": "",
155+
"firmware_version": "2.5.6.0",
156+
"firmware_url": "https://cdn.cloud-universe.anycubic.com/attachment/1947959750282534914_uiumdtxi.swu",
157+
"firmware_size": 137122419,
158+
"firmware_md5": "a652a5125ab3a332cce3b90b4930087a",
159+
"parent_id": 120,
160+
"force_update": false,
161+
"time_cost": 10,
162+
"update_desc": "1.New: Foreign object detection\n2.New: Adjustable AI detection sensitivity\n3.New: Type-based filament mapping\n4.Fixed: Extruder feeding issues from high-tem. filament residue\n",
163+
"create_date": 1753264867
164+
}
165+
```
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/sh
2+
3+
# This script was automatically generated, don't modify it directly
4+
# Before MD5: 3dd4b5aed396761f04d580f64f16d643
5+
# After MD5: 41cd56d715b577800bc9a4ed2e102506
6+
7+
TARGET=$1
8+
9+
MD5=$(md5sum $TARGET | awk '{print $1}')
10+
if [ "$MD5" = "41cd56d715b577800bc9a4ed2e102506" ]; then
11+
echo $TARGET is already patched, skipping...
12+
exit 0
13+
fi
14+
if [ "$MD5" != "3dd4b5aed396761f04d580f64f16d643" ]; then
15+
echo $TARGET hash does not match, skipping patch...
16+
exit 1
17+
fi
18+
19+
PATCH_FILE=/tmp/patch-$RANDOM.bin
20+
echo 'nDYA6g7woOEvdXNlcmVtYWluL3JpbmtoYWxzLy5jdXJyZW50L29wdC9yaW5raGFscy91aS9yaW5raGFscy11aS5zaCAmIGVjaG8gJCEgPiAvdG1wL3JpbmtoYWxzL3JpbmtoYWxzLXVpLnBpZAB0aW1lb3V0IC10IDIgc3RyYWNlIC1xcXEgLWV0cmFjZT1ub25lIC1wICQoY2F0IC90bXAvcmlua2hhbHMvcmlua2hhbHMtdWkucGlkKSAyPiAvZGV2L251bGxybSAtZiAvdG1wL3JpbmtoYWxzL3JpbmtoYWxzLXVpLnBpZAAEAKDhAwBT41/J/xoAAJ/lAADqRPcSADz4++tkAPIH/OsAAJ/lAAAA6qr3EgA2+PsPAFDj9///CgAAAAAA6gb4EgAw+PvrEAAb5QAAkOUEIKDjARCg47Kx/usQABvlAJDlBBCg442z/utGyf/qUmlua2hhbHMA' | base64 -d > $PATCH_FILE
21+
22+
dd if=$PATCH_FILE skip=0 ibs=1 of=$TARGET seek=1121716 obs=1 count=4 conv=notrunc # 0x111db4 / 0x121db4 > 0x9c3600ea
23+
dd if=$PATCH_FILE skip=4 ibs=1 of=$TARGET seek=1177408 obs=1 count=133 conv=notrunc # 0x11f740 / 0x12f740 > 0x0ef0a0e12f75736572656d61696e2f72696e6b68616c732f2e63757272656e742f6f70742f72696e6b68616c732f75692f72696e6b68616c732d75692e73682026206563686f202421203e202f746d702f72696e6b68616c732f72696e6b68616c732d75692e7069640074696d656f7574202d74203220737472616365202d717171202d65
24+
dd if=$PATCH_FILE skip=137 ibs=1 of=$TARGET seek=1177542 obs=1 count=63 conv=notrunc # 0x11f7c6 / 0x12f7c6 > 0x74726163653d6e6f6e65202d70202428636174202f746d702f72696e6b68616c732f72696e6b68616c732d75692e7069642920323e202f6465762f6e756c6c
25+
dd if=$PATCH_FILE skip=200 ibs=1 of=$TARGET seek=1177606 obs=1 count=36 conv=notrunc # 0x11f806 / 0x12f806 > 0x726d202d66202f746d702f72696e6b68616c732f72696e6b68616c732d75692e70696400
26+
dd if=$PATCH_FILE skip=236 ibs=1 of=$TARGET seek=1177644 obs=1 count=17 conv=notrunc # 0x11f82c / 0x12f82c > 0x0400a0e1030053e35fc9ff1a00009fe500
27+
dd if=$PATCH_FILE skip=253 ibs=1 of=$TARGET seek=1177662 obs=1 count=12 conv=notrunc # 0x11f83e / 0x12f83e > 0x00ea44f712003cf8fbeb6400
28+
dd if=$PATCH_FILE skip=265 ibs=1 of=$TARGET seek=1177676 obs=1 count=19 conv=notrunc # 0x11f84c / 0x12f84c > 0xf207fceb00009fe5000000eaaaf7120036f8fb
29+
dd if=$PATCH_FILE skip=284 ibs=1 of=$TARGET seek=1177696 obs=1 count=10 conv=notrunc # 0x11f860 / 0x12f860 > 0x0f0050e3f7ffff0a0000
30+
dd if=$PATCH_FILE skip=294 ibs=1 of=$TARGET seek=1177708 obs=1 count=37 conv=notrunc # 0x11f86c / 0x12f86c > 0x000000ea06f8120030f8fbeb10001be5000090e50420a0e30110a0e3b2b1feeb10001be500
31+
dd if=$PATCH_FILE skip=331 ibs=1 of=$TARGET seek=1177746 obs=1 count=14 conv=notrunc # 0x11f892 / 0x12f892 > 0x90e50410a0e38db3feeb46c9ffea
32+
dd if=$PATCH_FILE skip=345 ibs=1 of=$TARGET seek=2846480 obs=1 count=9 conv=notrunc # 0x2b6f10 / 0x2c6f10 > 0x52696e6b68616c7300
33+
34+
rm $PATCH_FILE

files/3-rinkhals/opt/rinkhals/scripts/create-patch.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,10 @@ def patch_K3SysUi(binaryPath, modelCode, version):
147147
buttonCallback = k3sysui.symbols['_ZZN10MainWindow26AcSettingGeneralPageUiInitEvENKUlRK11QModelIndexE0_clES2_']
148148
patchJumpAddress = 0x1204ac
149149
patchReturnAddress = 0x1204b4
150+
elif modelCode == 'KS1' and version == '2.5.6.0':
151+
buttonCallback = k3sysui.symbols['_ZZN10MainWindow26AcSettingGeneralPageUiInitEvENKUlRK11QModelIndexE0_clES2_']
152+
patchJumpAddress = 0x121db4
153+
patchReturnAddress = 0x121dbc
150154

151155
else:
152156
raise Exception('Unsupported model and version')

files/3-rinkhals/opt/rinkhals/scripts/process-update.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ SCRIPT_DIRECTORY=$(dirname $0)
1414

1515

1616
# 0x1F628E70311F52D934E851D232F66DA3
17-
UPDATE_FILE=/mnt/d/Sync/Julien/Projects/Kobra/K3/Firmwares/K3_2.4.1.9.swu
18-
UPDATE_PASSWORD="U2FsdGVkX19deTfqpXHZnB5GeyQ/dtlbHjkUnwgCi+w="
17+
UPDATE_FILE=/mnt/d/Sync/Julien/Projects/Kobra/KS1/Firmwares/KS1_2.5.6.0.swu
18+
UPDATE_PASSWORD="U2FsdGVkX1+lG6cHmshPLI/LaQr9cZCjA8HZt6Y8qmbB7riY"
1919

2020
# 0x1F628E70311F52D934E851D232F66DA3
2121
#UPDATE_FILE=/mnt/d/Sync/Julien/Projects/Kobra/K3M/Firmwares/K3M_2.4.8.4.swu

files/3-rinkhals/tools.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ is_verified_firmware() {
6363
return
6464
fi
6565
elif [ "$KOBRA_MODEL_CODE" = "KS1" ]; then
66-
if [ "$KOBRA_VERSION" = "2.5.3.1" ] || [ "$KOBRA_VERSION" = "2.5.3.5" ] || [ "$KOBRA_VERSION" = "2.5.3.8" ]; then
66+
if [ "$KOBRA_VERSION" = "2.5.3.8" ] || [ "$KOBRA_VERSION" = "2.5.6.0" ]; then
6767
echo 1
6868
return
6969
fi

0 commit comments

Comments
 (0)