跳到主要内容

U 盘打印功能使用指南

FLYOS-FAST 会自动挂载 U 盘,可在网页文件管理器或本机屏幕中浏览并打印其中的 G-code。本文按 H3、H5、H618 的 v1.3.10 镜像与 H618 v1.4.0 镜像核对。

工作原理​

U 盘分区会作为以 U_ 开头的文件夹挂载到 G-code 目录。开始打印时,系统先把完整文件复制到本地:

/usr/share/printer_data/gcodes/.UDISK/tmp.gcode

复制完成后 Klipper 才从该临时文件执行打印,下一次 U 盘打印会覆盖它。

等复制完成再拔 U 盘

网页显示“打印中”不代表文件已复制完。请等到控制台出现 Copy files from removable disk completed,或打印机已开始加热、运动后再拔出。复制过程中拔盘会导致本次打印无法开始。

文件要求​

项目支持范围建议
文件系统FAT32、exFAT、NTFS优先 FAT32 或 exFAT
文件格式.gcode、.g、.gco优先 .gcode
文件位置根目录或多级文件夹按模型分类存放
文件名支持 UTF-8、空格和中文建议简短,便于跨平台

不支持 .stl、.obj 等模型文件或切片工程文件,需先用切片软件导出 G-code。

不支持 USB 3.0

本功能不支持 USB 3.0。请将 U 盘插在 USB 2.0 接口上,也不要使用 USB 3.0 的 U 盘;使用 3.0 时传输速度会变得非常慢,复制等待时间明显拉长。

Windows 隐藏扩展名

请在资源管理器中勾选 文件扩展名,确认后缀确实是 .gcode、.g 或 .gco,避免出现 模型.gcode.txt。

使用步骤​

  1. 将切片生成的 G-code 复制到 U 盘。
  2. 把 U 盘插入上位机 USB 接口。
  3. 打开 Fluidd、Mainsail 或本机屏幕的文件列表,找到以 U_ 开头的文件夹;没有立即出现时刷新列表。
  4. 进入该文件夹选择 G-code 文件,确认预览信息后只点击一次“开始打印”。
  5. 等待控制台提示复制完成,系统随后自动开始打印。

复制期间不要重复点击“开始打印”,也不要改选第二个 U 盘文件:所有 U 盘打印共用同一个 tmp.gcode,并发复制会互相覆盖。

拔盘与限制​

  • 确认复制完成后可以拔出 U 盘,打印会继续读取本地临时文件;控制台仍在显示 Copying file 时不要拔。
  • 完全没有复制进度提示时不要拔盘:部分 USB 硬盘盒或 SSD 可能未被识别为可移动设备,Klipper 会直接读取外部文件。
  • 网页正在对 U 盘执行上传、删除或重命名时,等待操作完成后再拔。
  • 没有分区表的 U 盘可能不显示,可重新分区并格式化;两只厂商、型号、容量和分区结构完全相同的 U 盘可能挂载到同一目录而冲突。
  • 自动识别只覆盖常见单数字分区(如 /dev/sda1),特殊的多分区设备可能挂载不全。
  • 文件越大,开始打印前的复制等待越久,并依赖上位机本地剩余空间。

常见问题​

文件能看到但无法开始打印​

确认扩展名是 .gcode、.g 或 .gco,且文件能在切片软件中正常预览;检查本地剩余空间:

df -h /usr/share/printer_data/gcodes

再查看 Klipper 日志中的复制或打开错误:

tail -n 100 /usr/share/printer_data/logs/klippy.log

网页上传能打印,U 盘不能​

部分切片软件用 GBK、ANSI 保存中文注释,而 U 盘文件会先复制到 .UDISK/tmp.gcode 再严格按 UTF-8 读取,遇到非 UTF-8 字节可能报错:

UnicodeDecodeError: 'utf-8' codec can't decode byte

中文文件名通常不是原因,改成英文也不会改变文件内部编码。按以下任一方式处理:

  1. 在切片软件中重新导出,将编码设为 UTF-8。
  2. 用支持编码转换的编辑器把整个文件存为 UTF-8,不要只改扩展名。
  3. 无法选择编码时,删除文件头部的非 UTF-8 中文注释后保存,不要改动运动、温度和挤出指令。
  4. 临时可先从网页上传到本地 G-code 目录再打印。

复制失败后一直显示“打印中”​

确认打印机没有在执行加热或运动,然后重启 Klipper:

systemctl restart klipper

重新插入 U 盘再试;若反复出现,请更换 U 盘并向技术支持提供以下两个日志:

/var/log/flyos-auto-mount.log
/usr/share/printer_data/logs/klippy.log
Loading...