Aller au contenu principal

Ensemble de problèmes CAN

Précautions avant la recherche de périphérique

  • Avant de rechercher l'ID CAN, veuillez d'abord vous connecter via SSH
  • Veuillez vous assurer que vous vous êtes connecté via le réseau et non via un port série
  • Veuillez vous assurer que la carte mère avec UTOC connecté ou ayant le firmware de pont CAN gravé est bien connectée, ainsi que le câble reliant l'hôte dispose d'une fonction de transfert de données

Vérifier si le périphérique est présent

  • Maintenant que vous êtes connecté normalement à l'hôte, vous pouvez entrer la commande lsusb pour rechercher le périphérique, vous obtiendrez l'un des cas suivants :
    • Si la commande lsusb indique que ls n'est pas trouvée, vous pouvez installer les utilitaires avec la commande suivante :
      sudo apt-get install usbutils
    • Si aucune réponse n'apparaît après avoir exécuté lsusb, cela provient d'un problème système que nous ne pouvons résoudre ici. Vous devrez changer de système ou utiliser un système dont vous êtes certain qu'il fonctionne correctement.
    • Si vous voyez apparaître l'information comme sur l'image ci-dessous, veuillez noter que c'est seulement à titre d'exemple. Il vous suffit de vérifier la présence de 1d50:606f :
  • 1d50:606f correspond au périphérique que vous allez utiliser. Vous pouvez ignorer les autres indications, car celles-ci peuvent ne pas s'afficher correctement ou pas du tout en raison de problèmes système.
  • Si plusieurs 1d50:606f apparaissent, il est conseillé d'en retirer un, car cela pourrait affecter les opérations suivantes comme le flashage ou la connexion au firmware. Par exemple, pour FLY MINI PAD, privilégiez l'utilisation de l'UTOC intégré plutôt qu'un autre périphérique de pont CAN.
  • Si aucun périphérique n'apparaît, vérifiez que les câbles sont bien connectés et que le firmware a été correctement gravé.
Remarque importante

Vous pouvez rechercher l'ID CAN uniquement si 1d50:606f apparaît

Identifier les problèmes à partir des erreurs

  • Voici les erreurs courantes :
    • 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
  • La première erreur signifie que l'hôte ne trouve pas le périphérique CAN (carte mère avec firmware de pont USB ou UTOC).
  • La deuxième erreur signifie que CAN0 n'a pas été configuré ou mal configuré sur l'hôte.
  • La troisième erreur est due à un manque de mémoire tampon ou à un problème système provoquant un blocage du tampon.
  • Pour les points deux et trois, reportez-vous à la section Configuration de CAN0 pour diagnostiquer le problème.
  • Si l'ID n'est pas trouvé, reportez-vous à la fin de ce document.

Vérifier si l'hôte prend en charge CAN

  • Si vous utilisez l'hôte FLY, vous pouvez ignorer cette étape.
  • Si votre système est Ubuntu, vous devez consulter le document Ubuntu configuration CAN0, qui n'est pas encore mis à jour.
  • Entrez la commande suivante pour vérifier si le 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é cette commande, si votre noyau prend en charge CAN, vous verrez : Votre noyau prend en charge CAN ; sinon, vous verrez : Votre noyau ne prend pas en charge CAN.
  • Si vous obtenez Votre noyau prend en charge CAN, vous pouvez passer à la configuration de CAN0.

Configuration de CAN0

  • Cette commande remplace la configuration existante de CAN0 dans le système. Un redémarrage est nécessaire après exécution.
  • Les systèmes FAST n'ont pas besoin d'exécuter cette étape !!!!!!
  • Sélectionnez l'une des options suivantes en fonction de votre situation.

Méthode de configuration pour système Linux standard

  • Vous devez choisir la vitesse CAN adaptée à votre périphérique.

  • Pour une vitesse de 1M, 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 500K, 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
  • Si un message similaire apparaît, veuillez consulter la méthode de configuration pour système Raspberry Pi

  • Redémarrez l'appareil
sudo reboot

Vérifications à effectuer si l'ID n'est pas trouvé

  • Si l'ID est configuré dans Klipper, vous devez désactiver cet ID dans les paramètres système, éteindre le système, couper l'alimentation puis redémarrer ou appuyer sur le bouton de réinitialisation de la carte mère.
  • Vérifiez que la vitesse CAN de l'hôte correspond à celle de la carte mère et de la carte d'outils.
  • Vous pouvez utiliser la commande ci-dessous pour vérifier la vitesse CAN de l'hôte.
  • Vérifiez qu'il n'y a pas de câblage défectueux.
  • Vérifiez que le cavalier 120Ω est bien installé entre la carte d'outils et le périphérique (carte mère avec firmware de pont USB ou UTOC).
  • Si le cavalier 120Ω est installé, utilisez un multimètre pour mesurer la résistance entre CAN H et CAN L lorsque le périphérique est complètement débranché. Celle-ci doit être d'environ 60Ω.
  • Vérifiez qu'il n'y a pas de câblage défectueux.
ip -details link show can0
  • La zone entourée dans l'image ci-dessous indique la vitesse CAN et la mémoire tampon de l'hôte.
  • La valeur 1024 ci-dessus indique la mémoire tampon actuelle de CAN0.
  • La valeur 1000000 ci-dessous indique la vitesse actuelle de CAN0.
  • Si l'UUID n'est toujours pas trouvé, vérifiez attentivement les points suivants :

    • Vérifiez que la carte mère ou la carte d'outils est correctement connectée.
    • Vérifiez que l'alimentation est correcte, il est recommandé de brancher une alimentation VCC si vous utilisez la carte mère.
    • Vérifiez que l'hôte prend en charge le réseau CAN.
    • Vérifiez que la résistance CAN est d'environ 60Ω.
    • Vérifiez que le firmware est correctement compilé.

Rechercher l'ID

  • Entrez la commande suivante pour rechercher l'ID :
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • Si un ID apparaît et que Application: affiche Klipper à la fin, cela signifie que cet ID peut être utilisé directement.
  • Si un ID apparaît et que Application: affiche CANBOOT ou Katapult à la fin, cela signifie qu'il faut flasher le firmware pour pouvoir l'utiliser.
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...