MKS Pi/SKIPR 自制新版系統(tǒng)簡明使用指南
前言
原創(chuàng)文章,轉載引用務必注明鏈接,水平有限,如有疏漏,歡迎指正交流。
文章如有更新請訪問 DFRobot 社區(qū)及 cnblogs 博客園,前者內容較全,后者排版及閱讀體驗更佳。
朋友使用MKS Pi (以下簡稱 Pi) 自帶的無線網(wǎng)卡體驗很差,準備升級成我的無線網(wǎng)卡,因為第三方編譯的驅動性能更好,怕他不會操作,所以讓他把 Pi 寄給我,順便制作了新版系統(tǒng),稱為 KlipperBoxOS for MKSPi/SKIPR 特供版,僅實裝了部分必要的特性。
測試環(huán)境:
- MKSPi with 8G eMMC、RTL8188 無線網(wǎng)卡
本文涉及的知識:
- KlipperBoxOS 特供版下載及使用
- 使用 iperf3 測試無線網(wǎng)卡傳輸速率以及穩(wěn)定性,分析 iperf3 數(shù)據(jù)
- 如何熱備份系統(tǒng)鏡像 (shrink-backup)
一、MKS Pi 難用的現(xiàn)狀
1.1 原廠無線網(wǎng)卡性能拉跨
官方套餐里搭配的是 RTL8188 無線網(wǎng)卡,性能、穩(wěn)定性堪憂,甚至到了不堪用的程度。我們對比下參數(shù)規(guī)格:
| 型號 | RTL818GU() | RTL8812BU |
|---|---|---|
| 接口類型 | USB 2.0 | USB 3.0 |
| 最大傳輸速率 | 150 Mbps | 1300 Mbps (雙頻) |
| 頻段支持 | 僅支持2.4 GHz | 支持2.4 GHz和5 GHz |
| 天線類型 | 內置天線(1T1R) | 外置高增益天線(2T2R,雙接收雙發(fā)射) |
| 網(wǎng)絡兼容性 | WiFi 4(802.11n) | WiFi 6(802.11ax) |
| 應用場景 | 基本網(wǎng)絡連接,適合家庭和辦公使用 | 高速網(wǎng)絡需求,適合游戲和高清視頻流 |
| MIMO支持 | 不支持 | 支持多用戶MIMO |
| 功耗 | 較低 | 較高(由于更高的性能) |

| RTL8188 | RTL8812BU | |||
|---|---|---|---|---|
| 單位: MB/s | 上傳 | 下載R | 上傳 | 下載R |
| 最高速率 | 2.05 | 3.01 | 28.8 | 34 |
| 最低速率 | 0 | 0 | 15 | 22.5 |
| 平均速率 | 1.05 | 1.77 | 21.03 | 32.94 |
| 標準差 | 0.41 | 0.38 | 3.81 | 1.11 |

可見自帶的無線網(wǎng)卡基本處于不可用的狀態(tài),雖然標準差小,但是傳輸速率就那么低,想大都沒法子。
由此帶來的就是更好的信號強度,更好的無線網(wǎng)兼容性,小尺寸無線網(wǎng)卡除非本身發(fā)熱小 (如 MT7601u),否則更容易過熱掉速。
1.2 原廠操作系統(tǒng)老舊
原廠系統(tǒng)基于 Debian 10 (Codename Buster),發(fā)布于 2019 年,已于 2024 年結束支持,預裝 Klipper 全家桶老舊,且系統(tǒng)一團糟,沒有 linux-headers 包,無法自行編譯驅動。當前最新版系統(tǒng)基于 Debian 12 (Bookworm),全部組件更新到 2025 年 5 月。
二、使用 KlipperBoxOS 特供版
2.1 下載地址
通過網(wǎng)盤分享的文件:mkspi_2025_5_3.img.xz
鏈接: https://pan.baidu.com/s/12meo1X60tmPO6PRejiJ3Rg?pwd=sjmk 提取碼: sjmk
--來自百度網(wǎng)盤超級會員v6的分享
2.2 系統(tǒng)介紹
- KlipperBoxOS MKS 特供版系統(tǒng),基于最新的 社區(qū)版 Makerbase Armbian (Debian 12)系統(tǒng) 制作,實裝了部分必要的特性,如果想體驗完整版 KlipperBoxOS 操作系統(tǒng),可以購買思兼的 KlipperBox 上位機,小黃魚搜索 sjqlwy 即可。
- 提升 Klippy 進程優(yōu)先級至最高,綁定 CPU 核心運行(modified from https://github.com/Dids/klipper-priority-fix/)
- 預裝最新版 Klipper 全家桶:Klipper、Moonraker、Fluidd、KlipperScreen、Crowsnest 等
- 內置 RTL8821CU、RTL8812BU 雙頻高速網(wǎng)卡驅動,即插即用
- 預裝 linux-headers 包,方便編譯驅動
- 默認啟用 APT、Github、Pypi 國內鏡像源,升級、下載組件更快
- 預裝 9527 網(wǎng)頁助手(方便配網(wǎng))
2.3 安裝系統(tǒng)
2.3.1 使用 microSD 卡啟動
下載鏡像并使用 USBImager 或 Etcher 燒錄到 SD 卡,無需解壓 img.xz 文件,等待燒錄完成插入上位機啟動即可
2.3.2 使用 eMMC 啟動
- 使用上述 SD 卡啟動后,登錄終端,輸入如下命令安裝到 eMMC 存儲
sudo nand-sata-install
# 選擇 Boot from eMMC - system on eMMC
# 文件系統(tǒng)可以選擇 btrfs 或者 f2fs,針對閃存有優(yōu)化

-
拔出 SD 卡重啟啟動即可
-
由于默認的 eMMC 存儲只有 8GB,建議初始化 SD 卡后使用自動擴容腳本。跟思兼學用Klipper(35) mergerfs 助力 Klipper 上位機熱插拔自動擴容與脫機打印 - 思兼 - 博客園
2.4 快速上手
- 提前插上 USB 無線網(wǎng)卡(如果出現(xiàn) USB 接口遮擋,可以自行購買 USB2 延長線),通電開機后,稍等片刻手機或者電腦可以搜索到名為
KlipperBox的無線網(wǎng)絡,點擊連接(無需密碼)。 - 使用瀏覽器打開
192.168.10.1:9527可以添加無線網(wǎng)絡,如果沒有顯示想要的網(wǎng)絡,可以將設備移近路由器后點擊刷新網(wǎng)絡列表。優(yōu)先連接 5G 網(wǎng)絡,信號強度、連接速度更好,但是穿墻性能低于 2.4GHz,根據(jù)情況選擇。注意所有標點符號為英文半角標點。 - 聯(lián)網(wǎng)后(當然你也可以略過以上步驟使用有線網(wǎng)進行連接),
KlipperBox無線熱點會關閉,電腦瀏覽器可以先嘗試打開http://kbox.local訪問 Fluidd 網(wǎng)頁控制界面,如果網(wǎng)絡環(huán)境或者操作系統(tǒng)不支持導致無法打開此網(wǎng)頁,可以從路由器中查看設備 IP 地址進行訪問。也可以使用下載的PingTools或者Fing等軟件掃描設備 IP 地址。 - 不建議從上位機中設置靜態(tài) IP 地址,以免出現(xiàn)沖突以及更換網(wǎng)絡后無法聯(lián)網(wǎng)。推薦使用
kbox.local訪問,或者從路由器中綁定設備 MAC 地址分配固定 IP。如果仍然需要設置靜態(tài)IP,可以使用nmcli命令。 - 想要更改網(wǎng)絡,可以在新環(huán)境開機等待自動創(chuàng)建熱點。或者在瀏覽器輸入
IP:9527訪問配網(wǎng)助手,其中 IP 為當前上位機的 IP 地址。

B站演示視頻:咕咕機(GuguBot)使用 KlipperBox 的簡單介紹
2.5 注意
- 默認用戶名
pi,密碼52mxpi,可以使用passwd命令進行修改,注意輸入時不會回顯。root密碼同上。 - 為了節(jié)省系統(tǒng)資源提升以及 Klipper 運行穩(wěn)定性,默認 KlipperScreen 彩色觸摸屏界面禁止開機啟動,可以在終端使用
sudo systemctl enable --now KlipperScreen啟用。 - 想要使用第三方攝像頭,輸入
lv命令獲取攝像頭設備地址,復制后修改crowsnest.cfg對應字段 - 想要訪問上位機默認需要在同一局域網(wǎng)下!
三、操作細節(jié)
3.1 網(wǎng)絡帶寬測試方式
-
使用 iperf3 測試 180s,距離路由器距離相同。
-
每次僅連接單一無線網(wǎng)卡。
-
Android 上可以使用
Magic iPerf創(chuàng)建無線熱點后作為服務端。
iperf3 -c 192.168.0.3 --logfile iperf_result.log -t 180 -f M
下面對生成的數(shù)據(jù)進行分析:
# analyze_iperf.py
import sys
import statistics
if len(sys.argv) < 2:
print("請?zhí)峁┮治龅奈募鳛閰?shù),例如:python3 xx.py iperf_result.log")
sys.exit(1)
filename = sys.argv[1]
speeds = []
retransmissions = []
try:
with open(filename, 'r') as file:
for line in file:
if '------' in line:
break
if 'MBytes/sec' in line:
parts = line.split()
try:
speed = float(parts[6])
speeds.append(speed)
retr = int(parts[7])
retransmissions.append(retr)
except (ValueError, IndexError):
continue
print("Download speeds:", speeds)
print("Retransmissions:", retransmissions)
if speeds:
max_speed = max(speeds)
min_speed = min(speeds)
avg_speed = statistics.mean(speeds)
stdev_speed = statistics.stdev(speeds)
total_retr = sum(retransmissions)
print(f"Maximum speed: {max_speed:.2f} MB/s")
print(f"Minimum speed: {min_speed:.2f} MB/s")
print(f"Average speed: {avg_speed:.2f} MB/s")
print(f"Standard deviation: {stdev_speed:.2f} MB/s")
print(f"Total retransmissions: {total_retr}")
else:
print("No valid speed data found.")
except FileNotFoundError:
print(f"文件 {filename} 不存在,請檢查文件名是否正確。")

3.2 備份系統(tǒng)鏡像并壓縮
部署好操作系統(tǒng)后,需要對系統(tǒng)進行備份,常用的方法包括 dd、再生龍、armbian-ddbr、dietpi-imager 等。本文介紹 shrink-backup 這個工具,其優(yōu)點很多,包括:
- 支持熱備份,備份當前運行的系統(tǒng)
- 支持增量備份
- 支持排除列表
- 支持恢復到不同文件系統(tǒng),如 ext4-f2fs
- 支持 shrink: 縮小分區(qū)中的空閑空間,并在啟動后自動擴容。使最終生成的文件大大減小。
注意:
- 關于 shrink 操作,我們默認備份的系統(tǒng)鏡像大小和原磁盤大小一致,但是其中包含大量空閑空間。我們希望生成的鏡像不包括這些空閑空間,例如系統(tǒng)運行在 32G 的磁盤上,實際占用 5G,默認鏡像就是 32G。shrink操作后,可以獲得一個 5G 左右的鏡像,可以燒錄到 8G 的存儲上。
- 原始img鏡像還需要二次壓縮成 img.xz 文件,如 7G 的鏡像壓縮后為不到 2G 大小
3.2.1 使用方法:
此處演示將系統(tǒng)鏡像備份到 NAS 存儲中。由于支持排除列表,也可以將其他存儲設備插入后掛載到 /mnt 目錄下。
# 安裝
sudo apt install cifs-utils
git clone https://github.com/UnconnectedBedna/shrink-backup
# 在 NAS 上創(chuàng)建備份目錄并掛載
sudo mkdir /mnt/backup
sudo mount -t cifs //192.168.0.3/Backup /mnt/backup -o username=[user],password=[password]
# 生成系統(tǒng)鏡像
## 需要把 /boot 分區(qū)也掛載
sudo mount /dev/mmcblk0p1 /boot/efi
sudo ~/shrink-backup/shrink-backup -tal /mnt/backup/kboxpro-brix-2025_3_25.img
## 必要時修改排除列表
nano exclude.txt /var/log
# 固件燒錄到 sd
## 使用 USBimager/etcher 等工具
# 以下略過,未在 MKS 設備上測試
# 固件燒錄到 emmc
sudo dd if=/mnt/backup/kboxpro-brix-2025_3_25.img of=/dev/mmcblk0 bs=4M status=progress
## 從本地燒錄
sudo dd if=/ddbr/kboxpro-brix-2025_3_25.img of=/dev/mmcblk0 bs=4M status=progress

浙公網(wǎng)安備 33010602011771號