GNU/Linux >> Tutoriels Linux >  >> Debian

Debian - Impossible d'activer Uarts sur Beaglebone Black ?

Question courte et générale

J'utilise Debian 9 (Stretch) sur un Beaglebone Black avec le noyau 4.9. J'ai essayé de suivre les instructions que j'ai trouvées en ligne, mais jusqu'à présent, je n'ai apparemment pas pu configurer ses appareils UART. Comment configurer mon appareil ? Comment déboguer/dépanner ma configuration ? Comment puis-je vérifier si ma configuration est correcte ?

Question longue et détaillée

Je suis très nouveau sur Linux embarqué en général et sur Beaglebone en particulier. J'ai suivi les instructions données ici :

  • BeagleBoard.org :Premiers pas

J'ai téléchargé la dernière image "Stretch IoT (sans bureau graphique) pour BeagleBone et PocketBeagle via une carte microSD" (en particulier bone-debian-9.3-iot-armhf-2018-03-05-4gb.img) à partir de la dernière page d'images et flashé le Beagleboard à partir d'une carte SD. Après l'installation, j'ai pu accéder au Beaglebone à partir de mon bureau Linux via un câble série-USB - d'une manière similaire à ce qui est décrit dans l'article suivant :

  • Comment connecter le Beaglebone Black via série sur USB

J'ai pu utiliser l'screen suivant commande réussie :

screen /dev/ttyUSB0 115200

J'ai également pu utiliser un câble Micro-USB vers USB pour me connecter via SSH :

ssh [email protected]

Une fois connecté au Beaglebone j'ai vérifié que ma version du noyau était Linux beaglebone 4.9.82-ti-r102 . J'ai ensuite lu plusieurs articles sur la configuration de Beaglebone UART, dont les suivants :

  • Blog électronique de Trevor :Activer les UART sur Element 14 Beaglebone Black rev C

  • StackOverflow :Activation de l'UART sur Beaglebone Black

  • Thing Printer :Cape Manager est de retour, bébé !

  • Flaming Lotus Girls :Beaglebone Black – activer UART1

  • Blog de Billwaa :Activer tous les ports UART au démarrage

  • Tender Love Making (?) :Activation de ttyO1 sur BeagleBone

  • ELinux :BeagleBoneBlack Debian

Ce que je retiens, c'est qu'il existe (d'une manière générale) plusieurs fichiers de configuration différents à vérifier, en fonction du système d'exploitation et de la version du noyau. Ceux-ci comprenaient les éléments suivants :

  • /boot/uEnv.txt
  • /boot/uboot/uEnv.txt
  • /etc/default/capemgr
  • /media/BEAGLEBONE/uEnv.txt

Plusieurs fichiers de périphérique ont également été mentionnés, tels que :

  • /sys/devices/bone_capemgr.*/slots

J'ai essayé d'ajouter chacune des lignes suivantes à chacun des différents uEnv.txt fichiers :

  • cape_enable=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5

  • optargs=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART3,BB-UART5

J'ai également essayé d'ajouter la ligne suivante à /etc/default/capemgr :

CAPE=BB-SPI-01,BB-UART1,BB-UART2,BB-UART4

Après le redémarrage, j'ai utilisé la commande suivante pour vérifier si les appareils UART étaient apparus :

ls -l /dev/ttyO*

Malheureusement, j'ai obtenu les résultats suivants (résultats inattendus) :

[email protected]:~$ ls -l /dev/ttyO*
lrwxrwxrwx 1 root root 5 Jan  1 00:00 /dev/ttyO0 -> ttyS0

REMARQUE :Je ne suis pas concerné par ttyO0 , mais plutôt avec ttyO1, ..., ttyO5 .

J'ai également essayé quelques autres choses mais (dans l'intérêt de gagner du temps et de l'espace) je ne décrirai pas chaque tentative à moins qu'elle ne soit demandée.

Qu'est-ce que je fais de mal ici ? Quelle est la bonne façon d'activer les appareils UART ?

Connexe :Comment activer l'authentification à deux facteurs dans Office 365 ?

Réponse acceptée :

Ce qui suit fonctionne pour Debian 9.9 avec le noyau 4.14 (fonctionnait également avec Debian 8.3, ne fonctionnait pas avec Debian 9.3).

Au démarrage, vous verrez les fichiers /dev/ttyO1,O2,O4, mais ils ne fonctionneront pas tant que vous n'aurez pas défini les broches sur le bon pinmux :

#ttyO1:
config-pin P9_24 uart
config-pin P9_26 uart
#ttyO2:
config-pin P9_21 uart
config-pin P9_22 uart
#ttyO4:
config-pin P9_11 uart
config-pin P9_13 uart

Vous devez faire cette étape à chaque redémarrage. Il appartient à une sorte de script de démarrage.

Vous pouvez confirmer que les UART fonctionnent avec un simple test de bouclage, par ex. pour UART4 :

  1. Placez un fil entre P9_11 et P9_13

  2. écran /dev/ttyO4

  3. Le texte que vous tapez dans la fenêtre devrait apparaître, déconnectez le fil et la saisie ultérieure ne s'affichera pas. L'UART fonctionne.


Debian
  1. Activer la connexion racine SSH sur le serveur Debian Linux

  2. Activer SSH sur le système Debian 9 - Procédure étape par étape ?

  3. Debian - Impossible d'activer Uarts sur Beaglebone Black ?

  4. Ssh - Comment activer l'échange de clés Diffie-hellman-group1-sha1 sur Debian 8.0 ?

  5. Debian – Impossible de démarrer l'installation de Devuan/debian ?

Comment activer le protocole HTTP2 avec Nginx sur Debian 8 Jessie Server

Installer/activer et configurer les mises à niveau sans surveillance sur Debian 11

Installer/activer SSH sur Debian 11 Bullseye

Comment activer SSH sur Debian 11 Bullseye Linux

Comment activer SSH sur Debian 10 Buster

Comment installer et activer le serveur SSH sur Debian 10