Aller au contenu principal

Ensemble de problèmes CAN

Précautions avant de rechercher un 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 SSH et non via un port série
  • Veuillez vous assurer que vous avez connecté un UTOC ou une carte mère avec le firmware de pont CAN correctement flashé, et que le câble reliant l'hôte dispose de la fonction de transfert de données

Vérification de la présence d'un périphérique

  • Maintenant que vous êtes correctement connecté à l'hôte, vous pouvez entrer la commande lsusb pour rechercher les périphériques. Plusieurs situations peuvent se présenter :
    • Si la commande lsusb affiche que ls est introuvable, vous pouvez installer les outils nécessaires à l'aide de la commande suivante :
      sudo apt-get install usbutils
    • Si la commande lsusb ne donne aucune réponse, cela indique un problème système que nous ne pouvons résoudre ici. Vous devez changer de système ou utiliser un système dont vous savez qu'il fonctionne correctement.
    • Si vous voyez les informations indiquées dans l'image ci-dessous (seulement à titre d'exemple), veuillez simplement vous assurer que 1d50:606f apparaît :
  • 1d50:606f est le périphérique que vous utiliserez. Vous pouvez ignorer les autres indications, car des problèmes système peuvent empêcher leur affichage complet ou même les masquer.
  • Si plusieurs 1d50:606f apparaissent, il est recommandé d'en éliminer un afin d'éviter d'interférer avec les opérations ultérieures de flashage et de connexion du firmware. Par exemple, pour FLY MINI PAD, il est préférable d'utiliser 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 soigneusement si le câble est correctement branché et si le firmware a été flashé correctement.
Remarque importante

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

Identifier le problème à partir des erreurs

  • Voici quelques 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 indique 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 indique que l'hôte n'a pas configuré ou a mal configuré CAN0.
  • La troisième indique généralement un manque de mémoire tampon ou un problème système provoquant un blocage.
  • Pour les points deux et trois, reportez-vous à la section Configuration de CAN0 pour diagnostiquer le problème.
  • Si vous ne trouvez pas d'ID, reportez-vous à la fin de ce document.

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

  • Les hôtes FLY n'ont pas besoin d'effectuer cette opération.
  • Si votre système est Ubuntu, vous aurez besoin du document Ubuntu configuration CAN0, qui n'est pas encore mis à jour.
  • Entrez la commande suivante pour vérifier si votre système prend en charge le CAN :
sudo modprobe can && echo "Votre noyau prend en charge le CAN" || echo "Votre noyau ne prend pas en charge le CAN"
  • Après avoir exécuté cette commande, si votre noyau prend en charge le CAN, vous verrez : Votre noyau prend en charge le CAN. Sinon, vous verrez : Votre noyau ne prend pas en charge le CAN.
  • Si vous obtenez Votre noyau prend en charge le CAN, vous pouvez passer à l'étape suivante, la configuration de CAN0.

Configuration de CAN0

  • Cette commande remplace la configuration existante de CAN0. Redémarrez le système après l'exécution.
  • Les systèmes FAST n'ont pas besoin d'effectuer cette opération !!!!!!
  • Choisissez l'une des options suivantes en fonction de vos besoins :

  • Tapez la commande suivante pour une vitesse de 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

  • Tapez la commande suivante pour une vitesse de 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
  • Redémarrez l'appareil
sudo reboot

Points à vérifier si vous ne trouvez pas d'ID

  • Si Klipper a configuré un ID spécifique, vous devez d'abord désactiver cet ID dans les paramètres système, puis éteindre et rallumer l'appareil, ou appuyer sur le bouton de réinitialisation de la carte mère.
  • Vérifiez si la vitesse CAN de l'hôte correspond à celle de la carte mère ou de la carte d'outils.
  • Vous pouvez utiliser le code suivant pour déterminer la vitesse CAN de l'hôte.
  • Vérifiez qu'il n'y a pas de câble débranché.
  • Vérifiez si un cavalier 120Ω est installé entre la carte d'outils et le périphérique (carte mère avec firmware de pont USB ou UTOC).
  • Si un 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é. La valeur devrait être environ 60Ω.
  • Vérifiez à nouveau qu'il n'y a pas de câble débranché.
ip -details link show can0
  • L'endroit entouré dans l'image ci-dessous indique la vitesse et la mémoire tampon CAN de l'hôte.
  • 1024 indique la mémoire tampon actuelle de CAN0.
  • 1000000 indique la vitesse actuelle de CAN0.
  • Si vous ne trouvez toujours pas d'UUID, 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. Pour les cartes mères, branchez l'alimentation VCC.
    • 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 a été correctement compilé.

Rechercher un ID

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