본문으로 건너뛰기

USB 펌웨어 플래싱

펌웨어 컴파일 주의사항 및 작업 가이드

주의사항

📌 중요 전제 조건
  1. 네트워크 연결: 상위 기기(라즈베리 파이 등)가 네트워크에 연결되어 있는지 확인하세요.
  2. 접근 방식: 반드시 SSH를 통해 네트워크로 상위 기기에 로그인해야 하며, 시리얼 도구 사용은 금지됩니다.
  3. 사용자 권한: 상위 기기 시스템 유형에 따라 올바른 사용자 계정으로 작업하세요.
  4. 입력기: 키보드 입력기가 반각 모드(영문 모드) 인지 확인하세요.

SSH 로그인 및 사용자 전환

SSH로 상위 기기 로그인

SSH 도구(MobaXterm, PuTTY 등)를 사용하여 네트워크를 통해 상위 기기에 로그인하세요: SSH 연결 상세 튜토리얼 보기

시스템 유형에 따른 사용자 전환

적용 시스템:

  • 라즈베리 파이 공식 시스템
  • Klipper가 설치된 기타 시스템

사용자 권한 요구사항:

  • root 사용자 사용 금지
  • 반드시 일반 사용자로 전환하여 작업해야 함

전환 명령어:

  • 기타 시스템(<username>을 사용자 이름으로 변경)

    su <username>
💡 팁

일반 사용자는 일반적으로 필요한 컴파일 권한을 가지고 있으며, root 사용자를 사용하면 권한 문제가 발생할 수 있습니다.


펌웨어 컴파일 설명

1. 키보드 작업 가이드

  • Klipper 펌웨어 구성 페이지에서는 다음 단축키만 사용할 수 있습니다:
  • 마우스를 직접 사용하여 작업할 수 없습니다!
기능 설명
↑ ↓ 방향키커서를 위아래로 이동하여 메뉴 항목 선택
Enter 또는 Space선택 확인/메뉴 항목 체크 또는 하위 메뉴 진입
ESC상위 메뉴로 돌아가기
QKlipper 펌웨어 구성 페이지 종료
Y종료 시 프롬프트가 있으면 Y 키를 눌러 구성 저장

숨겨진 옵션 표시

⚠️ 숨겨진 옵션 표시

구성 페이지 옵션이 적다면, 먼저 다음을 체크하세요:

[ ] Enable extra low-level configuration options

이 옵션은 일부 숨겨진 구성 옵션을 표시하는 데 사용됩니다.

펌웨어 컴파일 시작하기

아래는 펌웨어를 컴파일하는 방법을 설명합니다:

  • SSH에 연결한 후 아래 명령어를 입력하고 엔터를 누릅니다:

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • 여기서 rm -rf ~/klipper/.config && rm -rf ~/klipper/out는 이전 컴파일 데이터와 펌웨어를 삭제하는 명령입니다.

  • make menuconfig는 펌웨어를 컴파일하는 명령으로, 실행 후 아래와 같은 화면이 나타나야 합니다.

    Loading...
  • Enable extra low-level configuration options를 선택하고 엔터를 누릅니다.

    Loading...
  • Micro-controller Architecture 메뉴로 들어가 STMicroelectronics STM32를 선택하고 엔터를 누릅니다.

    Loading...
  • Processor model 메뉴로 들어가 STM32F405를 선택하고 엔터를 누릅니다.

    Loading...
  • Bootloader offset를 선택하고 32KiB bootloader를 선택합니다.

    Loading...
  • Communication interface를 선택하고 **USB (on PA11/PA12)**를 선택합니다.

    Loading...
  • Q 키를 누르면 Save configuration이 나타나고, 이때 Y 키를 누릅니다.
    Loading...
  • 이제 설정이 저장되고 명령줄 인터페이스로 돌아갑니다.
  • 아래 명령어를 입력하여 컴파일을 시작합니다. 시간이 조금 걸립니다.
make -j4
Loading...
  • 마지막으로 아래 내용이 출력되면 컴파일이 성공한 것입니다.
  • Klipper 버전 문제로 인해 out/klipper.bin이 나타나기만 하면 성공입니다.
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

펌웨어 플래싱

아래 명령어를 실행하여 펌웨어를 플래싱하세요.

fly-flash -d auto -h -f /data/klipper/out/klipper.bin
Loading...
Loading...

USB ID 검색

  1. 브라우저를 열고 주소창에 상위 컴퓨터의 IP 주소를 입력합니다. 예를 들어, 제 상위 컴퓨터 IP가 192.168.101.179라면 직접 입력하고 엔터를 누르면 됩니다.
Loading...
  1. 상위 컴퓨터의 WEB 인터페이스를 열고, 왼쪽 사이드바의 구성 옵션에서 다음을 찾습니다:
  • fluidd의 경우: {…} , 클릭하여 들어가면 printer.cfg를 찾을 수 있습니다.
Loading...
  • mainsail의 경우: 기계, 클릭하여 들어가면 printer.cfg를 찾을 수 있습니다.
Loading...
  1. printer.cfg를 클릭하여 들어간 후, 오른쪽 상단의 DEVICES를 클릭합니다.
Loading...
Loading...
  1. SERIAL을 클릭한 후, 새로고침합니다.
  • fluidd의 새로고침
Loading...
  • mainsail의 새로고침
Loading...
  1. ID를 복사합니다. 화살표가 가리키는 곳을 클릭하면 복사할 수 있습니다.
  • fluidd에서는 ttyAMC가 존재하는지 확인하고, Path by ID가 존재하는지 확인해야 합니다. 이것이 USB ID입니다.
Loading...
  • mainsail에서는 ttyAMC가 존재하는지 확인하고, Path by ID가 존재하는지 확인해야 합니다. 이것이 USB ID입니다.
Loading...

USB ID 입력

위험

아래 ID는 사용할 수 없습니다!!!!

serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
  1. DEVICES를 닫고 ID를 입력합니다.
주의사항
  • 구성 파일에서 다음 부분을:
[mcu] 
serial: /tmp/klipper_host_mcu

다음과 같이 수정합니다:

[mcu host] 
serial: /tmp/klipper_host_mcu
  • 다음을 추가합니다:
[mcu]
serial: <여기에 방금 조회한 ID로 대체하세요>
  • fluidd에서 [MCU] 찾기
Loading...
  • mainsail에서 [MCU] 찾기
Loading...
  1. ID를 구성에 입력합니다.
  • ID를 입력한 후 오른쪽 상단의 SAVE & RESTART을 클릭하세요.
Loading...
Loading...
  1. Klipper가 ADC out of range를 표시하는 경우, 이는 정상 현상입니다. 히트베드와 서미스터를 메인보드에 연결하고, 노즐과 히트베드의 서미스터 핀을 구성한 후 저장하고 재시작하면 됩니다.
위험

주의: 문서에 나타난 모든 ID는 예시일 뿐이며, 실제 각 메인보드의 ID는 모두 다릅니다. 실제로 획득한 ID를 입력하세요.


Loading...