メインコンテンツまでスキップ

CAN問題集

デバイス検索前の注意点

  • CAN IDの検索前に、まずSSHに接続してください
  • シリアルポートではなくネットワーク経由でSSHにログインしていることを確認してください
  • UTOCに接続済み、またはCANブリッジファームウェアを書き込んだマザーボードを使用しており、かつホストコンピュータにデータ転送可能なケーブルが接続されていることを確認してください

デバイスの存在確認

  • すでにホストコンピュータに正常にログインしている場合、lsusbコマンドを入力してデバイスを検索できます。以下のようなケースが考えられます
    • lsusbを入力してlsコマンドが見つからないと表示された場合、以下のコマンドでインストールできます
      sudo apt-get install usbutils
    • lsusbを入力しても何の反応もない場合、これはシステムの問題です。システムを変更するか、正常に動作するシステムを使用する必要があります
    • 下の画像のような情報が表示されます。これはあくまで参考です。1d50:606fが表示されていることを確認してください
  • 1d50:606fは今回使用するデバイスです。後続の表示内容はシステムの問題により表示されない場合や不完全な場合がありますので気にする必要はありません
  • 1d50:606fが複数ある場合は、1つを除外することをお勧めします。そうでないと今後のファームウェア書き込みや接続に影響が出る場合があります。例えば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
  • 1番目はホストコンピュータがCANデバイス(USBブリッジファームウェアを書き込んだマザーボードまたはUTOC)を見つけられない場合です
  • 2番目はホストコンピュータがCAN0を設定していないか、設定が間違っている場合です
  • 3番目はホストコンピュータのバッファ不足またはシステムの問題によりバッファがクラッシュした場合です
  • 2番目と3番目の問題については後述のCAN0の設定方法を参照し、原因を特定してください
  • IDが検索できない場合は最後まで確認してください

ホストコンピュータがCANをサポートしているか検出する

  • FLYホストコンピュータの場合はこの操作は不要です
  • 使用しているシステムがUbuntuの場合はUbuntu配置CAN0のドキュメントはまだ更新されていません
  • 以下のコマンドを入力してシステムがCANをサポートしているか確認します
sudo modprobe can && echo "カーネルはCANをサポートしています" || echo "カーネルはCANをサポートしていません"
  • 上記コマンドを入力後、カーネルがCANをサポートしている場合、カーネルはCANをサポートしていますと表示され、サポートしていない場合はカーネルはCANをサポートしていませんと表示されます
  • カーネルはCANをサポートしていますと表示された場合は、次のCAN0の設定に進むことができます

CAN0の設定

  • このコマンドは既存のCAN0設定を上書きします。実行後はシステムを再起動する必要があります
  • FASTシステムの場合はこの操作は不要です!!!!
  • 実際のデバイスに応じて、以下のいずれかの項目を選択してください

一般的なLinuxシステムの設定方法

  • 使用するデバイスに応じて適切なCAN速度で設定する必要があります

  • 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 -
Loading...