본문으로 건너뛰기

CAN 문제 모음

장치 검색 전 주의사항

  • CAN ID 검색 전 먼저 SSH에 연결하세요.
  • SSH에 네트워크를 통해 로그인했는지 확인하세요. 시리얼 포트를 통해 로그인한 경우는 제외됩니다.
  • UTOC에 연결되었거나 CAN 브리지 펌웨어가 설치된 메인보드와 연결되어 있으며, 상위 컴퓨터와 연결된 케이블이 데이터 전송 기능을 지원하는지 확인하세요.

장치 존재 여부 확인

  • 이제 상위 컴퓨터에 정상적으로 로그인한 상태라면 lsusb 명령어를 입력하여 장치를 검색할 수 있습니다. 다음과 같은 경우가 발생할 수 있습니다.
    • lsusb 입력 시 ls 명령어를 찾을 수 없다면 아래 명령어를 입력하여 설치하세요.
      sudo apt-get install usbutils
    • lsusb 입력 후 아무 반응이 없다면 이는 시스템 문제입니다. 시스템을 교체하거나 정상적인 시스템을 사용해야 합니다.
    • 아래 이미지와 같은 정보가 나타납니다. 참고용이므로 1d50:606f가 표시되는지만 확인하시면 됩니다.
  • 1d50:606f는 이번에 사용할 장치입니다. 뒤에 나오는 내용은 무시하셔도 됩니다. 시스템 문제로 인해 표시가 불완전하거나 전혀 표시되지 않을 수 있습니다.
  • 여러 개의 1d50:606f가 있다면 하나만 남기고 제거하는 것이 좋습니다. 그렇지 않으면 펌웨어 플래싱 및 연결에 문제가 발생할 수 있습니다. 예를 들어 FLY MINI PAD는 외부 CAN 브리지 장치가 아닌 내장형 UTOC를 사용하는 것이 좋습니다.
  • 없다면 케이블 연결 상태와 펌웨어가 올바르게 설치되었는지 확인하세요.
주의사항

1d50:606f가 나타날 때만 CAN ID를 검색할 수 있습니다.

오류 메시지로 문제 판단

  • 다음은 자주 발생하는 오류입니다.
    • OSError: [Errno 19] No such device
    • can.CanError: Failed to transmit: [Errno 100] Network is down
    • can.CanError: Failed to transmit: [Errno 105] No buffer space available
  • 첫 번째는 상위 컴퓨터에서 CAN 장치(USB 브리지 펌웨어가 설치된 메인보드 또는 UTOC)를 찾을 수 없는 경우입니다.
  • 두 번째는 상위 컴퓨터에서 CAN0을 설정하지 않았거나 잘못 설정한 경우입니다.
  • 세 번째는 상위 컴퓨터의 버퍼 공간 부족 또는 시스템 문제로 인해 버퍼가 충돌한 경우입니다.
  • 두 번째와 세 번째 문제는 아래의 CAN0 설정 부분을 참고하여 문제를 진단할 수 있습니다.
  • ID 검색이 안 되는 경우는 맨 아래 부분을 참고하세요.

상위 컴퓨터의 CAN 지원 여부 확인

  • FLY 상위 컴퓨터를 사용하는 경우 이 단계는 건너뛰어도 됩니다.
  • 시스템이 Ubuntu인 경우 Ubuntu 설정 CAN0 문서는 아직 업데이트되지 않았습니다.
  • 아래 명령어를 입력하여 시스템이 CAN을 지원하는지 확인합니다.
sudo modprobe can && echo "커널이 CAN을 지원합니다." || echo "커널이 CAN을 지원하지 않습니다."
  • 위 명령어를 입력한 후 커널이 CAN을 지원하면 커널이 CAN을 지원합니다.가, 지원하지 않으면 커널이 CAN을 지원하지 않습니다.가 반환됩니다.
  • 커널이 CAN을 지원합니다.가 반환되면 다음 단계인 CAN0 설정을 진행할 수 있습니다.

CAN0 설정

  • 이 명령어는 기존 시스템의 CAN0 설정을 덮어쓰며, 실행 후 시스템을 재시작해야 합니다.
  • FAST 시스템은 이 작업을 수행할 필요가 없습니다. !!!!!!
  • 실제 상황에 따라 항목 하나를 선택하세요.

  • 1M 속도로 설정하려면 아래 명령어를 입력합니다.
sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 1000000
up ifconfig $IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 1000000
pre-up ip link set can0 txqueuelen 1024
EOF

  • 500K 속도로 설정하려면 아래 명령어를 입력합니다.
sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 500000
up ifconfig $IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 500000
pre-up ip link set can0 txqueuelen 1024
EOF
  • 장치 재시작
sudo reboot

ID 검색 실패 시 확인해야 할 사항

  • Klipper에 해당 ID가 설정되어 있다면 시스템 설정에서 ID를 비활성화한 후 전원을 끄고 다시 켜거나 메인보드의 리셋 버튼을 눌러야 할 수 있습니다.
  • 상위 컴퓨터의 CAN 속도와 메인보드, 툴보드 등이 일치하는지 확인하세요.
  • 아래 코드를 사용하여 상위 컴퓨터의 CAN 속도를 확인할 수 있습니다.
  • 선이 끊어지지 않았는지 확인하세요.
  • 툴보드와 장치(USB 브리지 펌웨어가 설치된 메인보드 또는 UTOC) 사이에 120Ω 점퍼가 설치되어 있는지 확인하세요.
  • 120Ω 점퍼가 설치되어 있다면 장치의 전원이 꺼진 상태에서 멀티미터로 CAN H와 CAN L 사이의 저항값이 약 60Ω인지 확인하세요.
  • 선이 끊어지지 않았는지 다시 확인하세요.
ip -details link show can0
  • 아래 이미지에서 원이 그려진 부분이 상위 컴퓨터의 CAN 속도와 버퍼입니다.
  • 위의 1024는 현재 CAN0의 버퍼 크기입니다.
  • 아래의 1000000은 현재 CAN0의 속도입니다.
  • 여전히 UUID를 찾을 수 없다면 아래 사항을 꼼꼼히 확인해야 합니다.

    • 메인보드나 CAN 툴보드가 올바르게 연결되었는지 확인하세요.
    • 올바르게 전원이 공급되고 있는지 확인하세요. 메인보드 사용 시 VCC 전원을 연결하는 것이 좋습니다.
    • 상위 컴퓨터가 CAN 네트워크를 지원하는지 확인하세요.
    • CAN 저항값이 약 60Ω인지 확인하세요.
    • 펌웨어 컴파일이 올바르게 되었는지 확인하세요.

ID 검색

  • 아래 명령어를 입력하여 ID를 검색하세요.
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • ID가 나타나고 마지막의 Application:Klipper라고 표시되면 해당 ID를 바로 사용할 수 있습니다.
  • ID가 나타나고 마지막의 Application:CANBOOT 또는 Katapult라고 표시되면 펌웨어를 새로 설치해야 사용할 수 있습니다.
Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -