CAN FAQ
Precautions Before Searching for Devices
- Before searching for a CAN ID, please connect to SSH
- Please ensure that you are logging in to SSH via network rather than serial port
- Please ensure that a UTOC or a motherboard with CAN bridge firmware already flashed is properly connected, and that the data cable connecting to the host computer supports data transfer
Confirming Device Presence
- Now that you have successfully logged into the host computer, you can enter
lsusb
to search for devices. There will be one of the following situations:- If entering
lsusb
prompts that thels
command is not found, you can install the command by entering the following command:sudo apt-get install usbutils
- If nothing happens after entering
lsusb
, this is a system issue that cannot be resolved here. You need to change the system or use a system that you know works properly - The information shown in the image below is only for reference. You only need to confirm that
1d50:606f
appears:
- If entering
1d50:606f
is the device you will use this time. You can ignore the following prompts because system issues may cause incomplete display or no display at all- If there are multiple
1d50:606f
, it is recommended to exclude one, otherwise it will affect subsequent firmware flashing and connection. For example, forFLY MINI PAD
, it is recommended to use the onboard UTOC instead of other CAN bridge devices - If not found, please check whether the data cable is properly connected and whether the firmware was flashed correctly.
Note
You can only proceed to search for the CAN ID when 1d50:606f
is present
Identifying Issues Based on Errors
- Below are common errors:
- 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
- The first case indicates the host computer cannot find the CAN device (motherboard with USB bridge firmware or UTOC)
- The second case indicates the host computer did not configure or misconfigured CAN0
- The third case indicates insufficient buffer or system issues causing buffer failure
- For the second and third cases, please refer to the CAN0 configuration section below for troubleshooting
- If ID cannot be found, please check the bottom section
Checking Host Computer CAN Support
- This step is not required if using a FLY host computer
- If your system is
Ubuntu
, the documentUbuntu configuration CAN0
has not been updated yet - Enter the following command to determine whether the system supports CAN:
sudo modprobe can && echo "Your kernel supports CAN" || echo "Your kernel does not support CAN"
- After entering the above command, if your kernel supports CAN, it will return:
Your kernel supports CAN
; if not, it will return:Your kernel does not support CAN
- If it returns
Your kernel supports CAN
, you can proceed to the next step to configure CAN0
Configuring CAN0
- This command overwrites the original system CAN0 configuration. After execution, the system needs to be restarted
FAST
system does NOT need to perform this operation !!!!!!- Select one of the following based on actual needs
- For 1M baud rate, enter the following command:
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
- For 500K baud rate, enter the following command:
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
- Restart the device
sudo reboot
Things to Check If ID Cannot Be Found
- If Klipper has configured a corresponding ID, you need to disable the ID in system settings, then power off, disconnect power, and power on again or press the reset button on the motherboard
- Whether the CAN baud rate of the host computer matches that of the motherboard, tool board, etc.
- You can use the following code to confirm the CAN baud rate of the host computer
- Check if there is any disconnected wiring
- Whether a
120Ω
jumper is installed between the tool board and the device (motherboard with USB bridge firmware or UTOC) - If a
120Ω
jumper is installed, use a multimeter to measure the resistance between CAN H and CAN L with the device completely powered off. The resistance should be around60Ω
- Check if there is any disconnected wiring
ip -details link show can0
- The circled area in the image below shows the CAN baud rate and buffer size of the host computer
- The
1024
above is the current CAN0 buffer size - The
1000000
below is the current CAN0 baud rate

-
If the UUID still cannot be found, please carefully check the following:
- Check if the motherboard or CAN tool board is properly connected
- Whether proper power supply is connected; it is recommended to connect the VCC power supply when using the motherboard
- Whether the host computer supports CAN networking
- Whether the CAN resistance is around
60Ω
- Whether the firmware is compiled correctly
Searching for ID
- Enter the following command to search for ID:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
- If an ID appears and the last
Application:
showsKlipper
, this ID can be used directly - If an ID appears and the last
Application:
showsCANBOOT
orKatapult
, the firmware needs to be flashed before use
Loading...