Aller au contenu principal

Questions fréquentes sur CAN

Remarques avant de rechercher des appareils

  • Avant de rechercher les ID CAN, veuillez vous connecter à SSH en cliquant ici.
  • Veuillez vous assurer que vous vous êtes connecté à SSH via le réseau et non via un port série.
  • Assurez-vous d'avoir correctement connecté votre carte mère avec UTOC ou une carte mère flashée avec le firmware CAN Bridge, et que le câble de connexion à l'ordinateur de bord a la capacité de transfert de données.

Vérifier si des appareils sont présents

  • Maintenant que vous êtes correctement connecté à l'ordinateur de bord, vous pouvez entrer lsusb pour rechercher des appareils. Vous obtiendrez l'un des cas suivants :
    • Si vous entrez lsusb et que vous obtenez un message indiquant que la commande ls n'est pas trouvée, vous pouvez entrer la commande ci-dessous pour installer la commande :
      sudo apt-get install usbutils
    • Si vous entrez lsusb et qu'il ne se passe rien, c'est probablement un problème système ; dans ce cas, vous devrez changer de système ou utiliser un système qui fonctionne correctement.
    • Si vous obtenez des informations similaires à celles de l'image ci-dessous, notez que cela n'est qu'une référence. Vous devez simplement vérifier que vous voyez 1d50:606f.
  • 1d50:606f est l'appareil que vous utiliserez pour cette session. Ignorez les autres indications car des problèmes système peuvent entraîner leur affichage incomplet ou inexistant.
  • Si plusieurs appareils 1d50:606f sont détectés, il est recommandé d'en exclure un, car cela pourrait affecter la gravure ultérieure et la connexion au firmware. Par exemple, si vous utilisez le FLY MINI PAD, il est conseillé d'utiliser le UTOC embarqué plutôt que d'autres appareils de pontage CAN.
  • Si aucun appareil n'est trouvé, vérifiez que vos câbles de données sont bien connectés et que le firmware est correctement flashé.
Remarques importantes

Vous ne pouvez rechercher des ID CAN que si vous avez détecté 1d50:606f.

Déterminer le problème en fonction des erreurs

  • Voici quelques erreurs courantes :
    • OSError : [Errno 19] Aucun tel périphérique
    • can.CanError : Échec de la transmission : [Errno 100] Le réseau est inaccessible
    • can.CanError : Échec de la transmission : [Errno 105] Pas d'espace tampon disponible
  • La première erreur signifie que l'ordinateur de bord ne trouve pas de périphérique CAN (carte mère flashée avec le firmware USB Bridge ou UTOC).
  • La deuxième erreur signifie que l'ordinateur de bord n'a pas configuré ou a configuré incorrectement CAN0.
  • La troisième erreur signifie que l'ordinateur de bord a un espace tampon insuffisant ou un problème systématique qui cause un échec du tampon.
  • Les points deux et trois peuvent être résolus en configurant CAN0 comme indiqué ci-dessous. Si vous ne trouvez pas d'ID, consultez la section finale.

Vérifier si l'ordinateur de bord prend en charge CAN

  • Si vous utilisez un ordinateur de bord FLY, vous n'avez pas besoin d'exécuter cette étape.
  • Si votre système est Ubuntu, vous devez consulter le document Configuration CAN0 pour Ubuntu qui n'a pas encore été mis à jour.
  • Entrez la commande ci-dessous pour déterminer si votre système prend en charge CAN :
sudo modprobe can && echo "Votre noyau prend en charge CAN" || echo "Votre noyau ne prend pas en charge CAN"
  • Après avoir exécuté la commande ci-dessus, si votre noyau prend en charge CAN, vous recevrez le message : « Votre noyau prend en charge CAN ». Sinon, vous recevrez : « Votre noyau ne prend pas en charge CAN ».
  • Si le message indique que votre noyau prend en charge CAN, vous pouvez passer à l'étape suivante pour configurer CAN0.

Configurer CAN0

  • Cette commande remplace la configuration CAN0 existante du système. Une fois exécutée, le système doit être redémarré.
  • Choisissez l'une des options selon votre situation réelle :

  • Pour une vitesse de 1 Mbit/s, entrez la commande suivante :
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

  • Pour une vitesse de 500 Kbit/s, entrez la commande suivante :
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
  • Redémarrez l'appareil
sudo reboot

Considérations après avoir recherché sans succès un ID

  • Si Klipper a configuré un ID spécifique, vous devez d'abord désactiver cet ID dans la configuration système, puis éteindre l'appareil, le débrancher et le rallumer ou appuyer sur le bouton de réinitialisation de la carte mère.
  • Vérifiez que la vitesse CAN de l'ordinateur de bord est cohérente avec celle de la carte mère, des cartes de contrôle, etc.
  • Vous pouvez utiliser la commande ci-dessous pour déterminer la vitesse CAN de l'ordinateur de bord :
  • Vérifiez s'il y a des coupures dans les connexions.
  • Vérifiez si un pont CAN est correctement installé entre la carte de contrôle et l'appareil (carte mère flashée avec le firmware USB Bridge ou UTOC). Un pont CAN nécessite une résistance de 120Ω.
  • Si un pont CAN avec une résistance de 120Ω est installé, utilisez un multimètre pour mesurer la résistance entre CAN H et CAN L lorsque l'appareil est complètement débranché. La résistance devrait être autour de 60Ω.
  • Vérifiez s'il y a des coupures dans les connexions.
ip -details link show can0
  • La zone entourée dans l'image ci-dessous représente la vitesse CAN de l'ordinateur de bord et son tampon.
  • Le nombre 1024 est la taille actuelle du tampon CAN0.
  • Le nombre 1000000 est la vitesse actuelle de CAN0.
  • Si aucune UUID n'a été trouvée, vérifiez attentivement les points suivants :

    • Vérifiez que vous avez correctement connecté la carte mère ou le pont CAN.
    • Vérifiez que l'alimentation est correctement fournie. Il est recommandé de brancher la source d'alimentation VCC sur la carte mère.
    • Vérifiez que l'ordinateur de bord prend en charge les réseaux CAN.
    • Vérifiez que la résistance CAN est autour de 60Ω.
    • Vérifiez que le firmware a été compilé correctement.

Recherche d'ID

  • Entrez la commande ci-dessous pour rechercher des ID :
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • Si vous obtenez un ID et que la section Application: affiche Klipper, cela signifie que cet ID peut être utilisé directement.
  • Si vous obtenez un ID et que la section Application: affiche CANBOOT ou Katapult, cela signifie que vous devez flasher le firmware pour pouvoir l'utiliser.