USB 프린트 기능 사용 가이드
FLYOS-FAST는 USB 드라이브를 자동으로 마운트하고, 웹 파일 관리자 또는 기기 화면에서 G-code 파일을 탐색하고 프린트할 수 있습니다. 본 문서의 내용은 H3, H5, H618의 v1.3.10 정식 이미지와 H618 v1.4.0 테스트 이미지를 기준으로 확인되었습니다.
작동 원리
USB 드라이브 파티션은 U_로 시작하는 폴더로 G-code 디렉토리에 마운트됩니다. 해당 폴더에서 파일을 선택하여 프린트를 시작하면, 시스템이 먼저 전체 파일을 로컬에 복사합니다:
/usr/share/printer_data/gcodes/.UDISK/tmp.gcode
복사가 완료된 후에야 Klipper가 이 로컬 임시 파일에서 프린트를 실행합니다. 다음 USB 프린트를 시작하면 임시 파일은 덮어쓰여집니다.
복사가 시작된 직후 웹에 "프린트 중"으로 표시될 수 있지만, 이 상태가 파일 복사 완료를 의미하지는 않습니다. 콘솔에 다음 메시지가 표시된 후 USB 드라이브를 분리하세요:
Copy files from removable disk completed
또는 프린터가 이미 가열 또는 모션을 시작한 후 분리해도 됩니다. 복사 중 USB 드라이브를 분리하면 복사가 실패하여 현재 프린트가 정상적으로 시작되지 않습니다.
USB 드라이브 및 파일 요구 사항
| 항목 | 지원 범위 | 권장 사항 |
|---|---|---|
| 파일 시스템 | FAT32, exFAT, NTFS | FAT32 또는 exFAT 우선 사용 |
| 파일 형식 | .gcode, .g, .gco | .gcode 우선 사용 |
| 파일 위치 | USB 드라이브 루트 또는 여러 단계 폴더 | 모델별로 분류하여 저장 |
| USB 드라이브 용량 | 고정된 최소 용량 제한 없음 | 충분한 공간을 확보하고 파일 완전성 확인 |
| 파일 이름 | UTF-8, 공백 및 중국어 지원 | 크로스 플랫폼 호환성을 위해 짧은 파일 이름 권장 |
.stl, .obj 등 모델 파일이나 슬라이서 프로젝트 파일은 직접 프린트할 수 없습니다. 반드시 슬라이서 소프트웨어로 G-code를 생성해야 합니다.
Windows는 알려진 파일의 확장자를 숨길 수 있습니다. 파일 탐색기에서 파일 확장명을 체크하여 파일의 최종 확장자가 실제로 .gcode, .g 또는 .gco인지 확인하세요. 모델.gcode.txt와 같은 경우를 방지합니다.
사용 단계
- 슬라이서로 생성한 G-code 파일을 USB 드라이브 루트 또는 폴더에 복사합니다.
- USB 드라이브를 호스트 컴퓨터 USB 포트에 연결합니다.
- Fluidd, Mainsail 또는 기기 화면의 파일 목록을 엽니다.
U_로 시작하는 폴더를 찾습니다. 바로 표시되지 않으면 파일 목록을 새로고침합니다.- USB 드라이브 폴더를 열고 프린트할 G-code 파일을 선택합니다.
- 파일과 미리보기 정보를 확인한 후, "프린트 시작"을 한 번만 클릭합니다.
- 콘솔에 복사 완료 메시지가 표시될 때까지 기다리면, 시스템이 자동으로 로컬 임시 파일 실행을 시작합니다.
복사 중에 "프린트 시작"을 반복해서 클릭하거나 두 번째 USB 드라이브 파일을 선택하지 마세요. 현재 버전의 모든 USB 프린트 작업은 동일한 tmp.gcode를 공유하므로, 동시 복사 시 파일이 덮어써져 프린트가 비정상적으로 동작할 수 있습니다.
USB 드라이브 분리
- 파일 복사가 완료된 것을 확인한 후, 일반 USB 드라이브는 분리할 수 있으며 현재 작업은 로컬 임시 파일을 계속 읽습니다.
- 콘솔에 여전히
Copying file이 표시되면 USB 드라이브를 분리하지 마세요. - 복사 진행 상황이나 완료 알림이 전혀 표시되지 않으면, 프린트 중에 분리하지 마세요. 일부 USB 하드 드라이브 케이스 또는 USB SSD는 시스템에서 이동식 장치로 인식되지 않을 수 있으며, 이 경우 Klipper가 외부 파일을 직접 읽을 수 있습니다.
- 웹에서 USB 드라이브에 대해 업로드, 삭제 또는 이름 변경 작업을 수행한 경우, 작업이 완료된 후 분리해야 합니다.
알려진 제한 사항
- 자동 마운트는 일반 파티션이 있는 USB 저장 장치만 처리합니다. 파티션 테이블이 없는 USB 드라이브는 표시되지 않을 수 있으며, 컴퓨터에서 파티션을 다시 생성하고 포맷해야 합니다.
- 제조사, 모델, 용량 및 파티션 구조가 완전히 동일한 USB 드라이브 두 개를 동시에 연결하지 마세요. 동일한 마운트 디렉토리가 생성되어 충돌이 발생할 수 있습니다.
- 현재 자동 인식 규칙은
/dev/sda1과 같은 일반적인 단일 숫자 파티션만 다룹니다. 특수한 다중 파티션 저장 장치는 모든 파티션을 자동으로 마운트하지 못할 수 있습니다. - USB 프린트는 로컬 여유 공간에 의존합니다. G-code 파일이 클수록 프린트 시작 전 복사 대기 시간이 길어집니다.
파일이 표시되지만 프린트를 시작할 수 없음
-
확장자가
.gcode,.g또는.gco인지 확인합니다. -
G-code 파일이 슬라이서 소프트웨어에서 정상적으로 미리보기되는지 확인합니다.
-
호스트 컴퓨터의 로컬 여유 공간을 확인합니다:
df -h /usr/share/printer_data/gcodes -
Klipper 로그에서 파일 복사 또는 열기 오류를 확인합니다:
tail -n 100 /usr/share/printer_data/logs/klippy.log
로컬 업로드는 정상이지만 USB 프린트가 시작되지 않음
일부 슬라이서 소프트웨어는 GBK, ANSI 등 비 UTF-8 인코딩으로 중국어 주석을 저장합니다:
- 웹을 통해 로컬 G-code 디렉토리에 업로드하면 Klipper가 디코딩할 수 없는 문자를 무시하므로 파일이 정상적으로 프린트될 수 있습니다.
- USB 드라이브에서 파일을 선택하면 시스템이 먼저
.UDISK/tmp.gcode로 복사한 후 UTF-8로 엄격히 읽습니다. 비 UTF-8 바이트가 있으면 프린트가 시작되지 않을 수 있습니다.
Klipper 로그에 다음과 유사한 오류가 나타날 수 있습니다:
UnicodeDecodeError: 'utf-8' codec can't decode byte
중국어, 밑줄 및 하이픈은 파일 이름에 정상적으로 사용할 수 있습니다. 파일 이름을 영어로만 변경해도 파일 내부 인코딩은 변경되지 않으므로 이 문제를 해결할 수 없습니다.
다음 방법 중 하나를 사용하세요:
- 슬라이서 소프트웨어에서 다시 내보내고 G-code 텍스트 인코딩을 UTF-8로 설정합니다.
- 인코딩 변환을 지원하는 텍스트 편집기를 사용하여 전체 G-code 파일을 UTF-8로 변환하고 저장합니다. 확장자만 변경하지 마세요.
- 슬라이서가 인코딩을 선택할 수 없는 경우, 파일 헤더의 비 UTF-8 중국어 주석을 삭제한 후 다시 저장합니다. 실제 모션, 온도 및 압출 명령은 수정하지 마세요.
- 임시로 웹을 통해 파일을 로컬 G-code 디렉토리에 업로드한 후 프린트할 수 있습니다.
용량이 큰 G-code의 경우, 브라우저에서 전체 파일을 직접 편집하지 말고 다시 슬라이싱하거나 전용 텍스트 도구로 변환하는 것이 좋습니다.
복사 실패 후 계속 "프린트 중"으로 표시됨
먼저 프린터가 가열, 모션 또는 기타 프린트 작업을 실행하지 않는지 확인한 후 Klipper를 재시작합니다:
systemctl restart klipper
USB 드라이브를 다시 연결하고 다시 프린트합니다. 문제가 반복되면 USB 드라이브를 교체하고 기술 지원에 다음 두 로그를 제공하세요:
/var/log/flyos-auto-mount.log
/usr/share/printer_data/logs/klippy.log