검색 최적화(SEO)와 IT 기술로 여는 온라인 비즈니스 인사이트
Windows 11에서 WSL 및 USB/IP를 활용한 3D 프린터 Klipper 펌웨어 설치 방법
Home /

Windows 11에서 WSL 및 USB/IP를 활용한 3D 프린터 Klipper 펌웨어 설치 방법

Windows 11 환경에서 WSL(Windows Subsystem for Linux)과 USB/IP 도구를 사용하여 고성능 3D 프린터 펌웨어인 Klipper를 설치하고 설정하는 방법을 안내합니다. Klipper의 성능 최적화 기능(Input Shaping, Pressure Advance)의 장점, WSL 및 USB/IP 설치 절차, 포트 포워딩 및 방화벽 설정, 그리고 자동 연결 배치 파일 생성 방법을 포함하여 3D 프린팅의 속도와 정밀도를 향상시키는 방법입니다.


클리퍼 펌웨어란 무엇이며 왜 Windows 11에 설치해야 하는가?

클리퍼(Klipper)는 3D 프린터의 성능을 최적으로 끌어올릴 수 있는 혁신적인 3D 프린터 펌웨어 중 하나입니다. 일반적으로 사용되는 Marlin 펌웨어와 달리, 클리퍼는 라즈베리 파이 또는 PC(WSL 환경)와 프린터 메인보드가 함께 작업을 분산 처리하여 3D 프린터를 고속으로 출력하고 극도로 정밀한 제어를 가능하게 합니다.

특히 Input Shaping(진동 보정), Pressure Advance(압출 보정)와 같은 고급 기능을 통해 빠른 출력 속도에서도 레이어 품질 저하를 최소화하고 높은 정밀도를 유지할 수 있어, 많은 3D 프린터 파워 유저들이 선택하는 최적의 솔루션입니다.

클리퍼의 설정 및 관리는 매우 간편합니다. 복잡한 펌웨어 재컴파일 없이 텍스트 파일(printer.cfg)만 수정하면 되며, FluiddMainsail 같은 웹 UI를 통해 언제 어디서나 프린터를 모니터링하고 원격 제어할 수 있어 사용자 편의성이 매우 높습니다.

WSL을 이용한 Klipper 설치의 이점

원래 클리퍼는 리눅스 환경에서 호스트 소프트웨어가 작동해야 합니다. 이번 글에서는 Windows 11에서 기본으로 지원하는 WSL(Windows Subsystem for Linux)를 이용하여 리눅스 환경을 별도로 구축하지 않고도 3D 프린터 클리퍼 설치 방법을 설명드립니다. Windows 11 환경에서 설치하게 되면 3D 프린터 전용 리눅스 장치(예: 라즈베리 파이)를 구입하지 않고도 클리퍼의 모든 기능을 활용할 수 있습니다. 아래 단계를 따라 설치하게 되면 Windows 환경에서도 고성능 3D 프린팅 환경을 어렵지 않게 구축할 수 있습니다.

네트워크 및 통신 환경 설정: 포트 포워딩과 방화벽

Windows 11에 설치된 WSL 환경에서 Klipper가 원활하게 작동하고 외부(웹 UI)와 통신하기 위해서는 네트워크 설정을 조정해야 합니다. 특히 WSL의 IP 주소가 변경될 수 있으므로, 안정적인 연결을 위해 포트 포워딩과 방화벽 규칙 설정이 필수적입니다.

포트 포워딩 설정 (선택적)

포트 포워딩은 네트워크에서 특정 포트로 들어오는 연결을 다른 포트나 다른 IP 주소(여기서는 WSL 내부 IP)로 전달하는 프로세스입니다. 이를 통해 외부 네트워크(로컬 네트워크의 다른 장치)에서 WSL 내부의 Klipper 웹 UI(Fluidd 또는 Mainsail)에 쉽게 접근할 수 있습니다.

# netsh 명령어를 사용하여 포트 포워딩을 추가합니다.
# 예시: 로컬 포트 8022로 들어오는 연결을 WSL의 22 포트로 전달
netsh interface portproxy add v4tov4 listenport=8022 listenaddress=192.268.55.225 connectport=22 connectaddress=192.35.216.118
# 포트 포워딩을 삭제합니다.
netsh interface portproxy delete v4tov4
# 포트 포워딩 설정을 확인합니다.
netsh interface portproxy show v4tov4

Windows 방화벽 설정 및 규칙 추가

Windows 방화벽은 컴퓨터와 외부 네트워크 간의 트래픽을 관리하고 제어하여 시스템 보안을 강화합니다. Klipper 웹 UI(일반적으로 80 또는 8080 포트 사용)에 접근하려면 해당 포트에 대한 인바운드 규칙을 허용해야 합니다.

  • 방화벽 GUI 설정: Win + R 키를 눌러 firewall.cpl 입력 후 “고급 설정” “인바운드 규칙”에서 새 규칙을 추가하여 특정 포트(예: 8080)를 허용합니다.
  • PowerShell 명령어 설정: 관리자 권한으로 실행한 PowerShell에서 아래 명령어를 사용하여 특정 포트(예: 8080)의 TCP 인바운드 트래픽을 허용하는 방화벽 규칙을 신속하게 추가할 수 있습니다.

# PowerShell 명령어로 방화벽 규칙을 추가합니다.
New-NetFirewallRule `
-DisplayName "Klipper Web UI 8080" ` # 방화벽 규칙의 표시 이름을 설정합니다.
-Direction Inbound ` # 규칙이 들어오는 트래픽(인바운드)에 적용됨을 나타냅니다.
-Action Allow ` # 트래픽을 허용하는 규칙을 설정합니다.
-Protocol TCP ` # TCP 프로토콜을 사용하는 트래픽에 대한 규칙을 설정합니다.
-LocalPort 8080 # 로컬 포트 8080을 수신하는 규칙을 설정합니다.

USB/IP를 이용한 3D 프린터 메인보드 연결 설정

Klipper가 설치된 WSL(Linux 환경)에서 Windows에 물리적으로 연결된 3D 프린터 메인보드와 통신하려면 USB/IP 도구가 필수적입니다. USB/IP는 USB 장치를 네트워크를 통해 공유하여 WSL이 마치 로컬에 연결된 것처럼 USB 장치를 인식하게 합니다.

USB/IP 서버 및 클라이언트 설치 (Windows & WSL)

3D 프린터 메인보드를 WSL과 연결하기 위해 Windows 호스트에는 USB/IP 서버 역할을 하는 usbipd-win을 설치하고, WSL(Ubuntu) 내부에서는 USB/IP 클라이언트 기능을 설정해야 합니다.

Windows (호스트) USB/IP 설치: usbipd-win

USB/IP 프로젝트의 GitHub 저장소(USB/IP GitHub 저장소)에서 Windows용 usbipd-win 바이너리 파일을 다운로드하여 실행하고 설치합니다. 이 서버 소프트웨어가 Windows에 연결된 USB 장치를 WSL에서 사용할 수 있도록 공유하는 역할을 합니다.

WSL (클라이언트) USB/IP 구성

WSL(예: Ubuntu 20.04 LTS) 환경 내에서 USB/IP 클라이언트 기능을 활성화하기 위한 필수 구성 요소를 설치합니다. 이는 3D 프린터와 Klipper를 연결하는 데 필요합니다.

# 필수 구성 요소를 설치합니다.
sudo apt update
sudo apt install linux-tools-virtual hwdata

# usbip 명령어가 올바른 경로를 가리키도록 설정합니다.
sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20

# USB/IP 서버에서 공유된 USB 장치를 WSL에 연결합니다.
# 먼저 Windows PowerShell (관리자 권한)에서 'usbipd list'로 장치의 BUSID를 확인해야 합니다.
# 예시: BUSID가 2-1인 장치를 WSL에 연결
usbipd attach --wsl --busid 2-1

# USB/IP 클라이언트에서 USB 장치를 사용하는 동안 원격 연결을 유지하려면 다음 명령을 실행하여
# 자동 연결을 설정할 수 있습니다. (재부팅 후 수동 실행 필요)
usbipd attach --wsl --busid 2-1 -a

USB/IP 클라이언트의 자동 연결 설정

매번 컴퓨터가 부팅할 때마다 3D 프린터와 WSL에 설치된 Klipper를 수동으로 연결하는 불편함을 없애기 위해 자동 연결을 설정하는 것이 좋습니다. 이를 위해 Windows 부팅 시 백그라운드에서 WSL을 시작하고 USB/IP 연결 명령어를 실행하는 배치 파일(.bat)을 생성하여 Windows 시작 프로그램 폴더에 추가할 수 있습니다.

자동 연결 배치 파일 (run_klipper_usbipd.bat) 예시

아래 스크립트는 PowerShell 명령어를 사용하여 Windows 부팅 시 백그라운드에서 지정된 WSL 배포판(예: Ubuntu-22.04)을 시작하고, 이어서 USB/IP 연결 명령어를 자동 실행합니다. 이 배치 파일을 시작 프로그램 폴더에 넣어주면 됩니다.

PowerShell -Command "Start-Process -FilePath 'wsl.exe' -ArgumentList '-d Ubuntu-22.04' -WindowStyle Hidden" start /min
PowerShell -NoProfile -WindowStyle Hidden -Command "usbipd attach --wsl --busid 2-1 -a"

이 과정을 통해 Windows 환경에서 Klipper 펌웨어를 성공적으로 설치하고 3D 프린터를 고성능으로 제어할 수 있는 기반이 마련됩니다. 다음 단계는 Klipper의 펌웨어를 3D 프린터 메인보드에 플래시하고 printer.cfg를 설정하는 것입니다.

run_commands.bat
0.00MB


Q1: Klipper를 WSL에 설치하면 라즈베리 파이 없이도 사용할 수 있나요?

A1: 네, 가능합니다. Klipper의 핵심 기능은 고성능의 호스트 프로세서(PC)가 수행하는데, WSL은 Windows 환경에서 이 호스트 역할을 리눅스처럼 실행할 수 있게 해줍니다. 다만, PC가 켜져 있어야만 3D 프린터를 제어할 수 있습니다.

Q2: 포트 포워딩은 왜 필요한가요?

A2: WSL 환경은 독립된 네트워크 주소를 가지므로, 포트 포워딩은 Windows 호스트나 다른 네트워크 장치에서 WSL 내부에서 실행되는 Klipper의 웹 UI(Fluidd/Mainsail)에 쉽게 접근할 수 있도록 네트워크 경로를 열어주는 역할을 합니다.

Q3: usbipd attach --wsl --busid 2-1 -a 명령어의 -a 옵션은 무엇을 의미하나요?

A3: -a 옵션은 ‘Attach’를 의미하며, 해당 USB 장치(--busid로 지정된)가 Windows 호스트에 다시 연결될 때마다 자동으로 WSL에 연결되도록 설정하는 기능입니다. 재부팅 시 수동 연결 과정을 줄여줍니다.

AI가 글의 요약 확장해서 내용을 음성으로 읽어드립니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다