GNU/Linux >> Tutoriales Linux >  >> Debian

Debian:¿no se puede habilitar Uarts en Beaglebone Black?

Pregunta corta y general

Estoy ejecutando Debian 9 (Stretch) en un Beaglebone Black con kernel 4.9. Intenté seguir las instrucciones que encontré en línea, pero hasta ahora aparentemente no he podido configurar sus dispositivos UART. ¿Cómo configuro mi dispositivo? ¿Cómo puedo depurar/solucionar problemas de mi configuración? ¿Cómo puedo verificar si mi configuración es correcta?

Pregunta larga y detallada

Soy muy nuevo en Linux embebido en general y en Beaglebone en particular. Seguí las instrucciones dadas aquí:

  • BeagleBoard.org:Primeros pasos

Descargué la última imagen "Stretch IoT (sin escritorio gráfico) para BeagleBone y PocketBeagle a través de la tarjeta microSD" (específicamente bone-debian-9.3-iot-armhf-2018-03-05-4gb.img) de la página de imágenes más recientes y flasheé el Beagleboard desde una tarjeta SD. Después de la instalación, pude acceder a Beaglebone desde mi escritorio Linux a través de un cable serie a USB, de manera similar a lo que se describe en el siguiente artículo:

  • Cómo conectar el Beaglebone Black a través de serie a través de USB

Pude usar la siguiente screen comando con éxito:

screen /dev/ttyUSB0 115200

También pude conectar un cable Micro-USB a USB a través de SSH:

ssh [email protected]

Una vez conectado al Beaglebone verifiqué que mi versión del kernel era Linux beaglebone 4.9.82-ti-r102 . Luego leí varios artículos sobre la configuración de Beaglebone UART, incluidos los siguientes:

  • Blog de electrónica de Trevor:habilite los UART en Element 14 Beaglebone Black rev C

  • StackOverflow:habilitación de UART en Beaglebone Black

  • Thing Printer:¡Cape Manager ha vuelto, cariño!

  • Flaming Lotus Girls:Beaglebone Black:habilitar UART1

  • Blog de Billwaa:habilite todos los puertos UART en el arranque

  • Tender Love Making(?):Habilitación de ttyO1 en BeagleBone

  • ELinux:BeagleBoneBlack Debian

Mi conclusión fue que (en términos generales) hay varios archivos de configuración diferentes para verificar, según el sistema operativo y la versión del kernel. Estos incluyen lo siguiente:

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

También se mencionaron varios archivos de dispositivos, como:

  • /sys/devices/bone_capemgr.*/ranuras

Intenté agregar cada una de las siguientes líneas a cada uno de los diversos uEnv.txt archivos:

  • 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

También intenté agregar la siguiente línea a /etc/default/capemgr :

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

Después de reiniciar, utilicé el siguiente comando para comprobar si habían aparecido los dispositivos UART:

ls -l /dev/ttyO*

Lamentablemente obtuve lo siguiente (resultados inesperados):

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

NOTA:no me preocupa ttyO0 , sino con ttyO1, ..., ttyO5 .

También probé algunas otras cosas, pero (en aras de ahorrar tiempo y espacio) no describiré cada intento a menos que se solicite.

¿Qué estoy haciendo mal aquí? ¿Cuál es la forma correcta de habilitar los dispositivos UART?

Relacionado:¿Cómo habilitar la autenticación de dos factores en Office 365?

Respuesta aceptada:

Lo siguiente funciona para Debian 9.9 con Kernel 4.14 (también funcionó con Debian 8.3, no funcionó con Debian 9.3).

Al iniciarlo, verá los archivos /dev/ttyO1,O2,O4, pero no funcionarán hasta que configure los pines en el pinmux correcto:

#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

Tienes que hacer ese paso en cada reinicio. Pertenece a algún tipo de script de inicio.

Puede confirmar que los UART funcionan con una prueba de bucle invertido simple, p. para UART4:

  1. Coloque un cable entre P9_11 y P9_13

  2. pantalla /dev/ttyO4

  3. Debería aparecer el texto que escriba en la ventana, desconecte el cable y no aparecerá más escritura. El UART funciona.


Debian
  1. Habilite el inicio de sesión raíz SSH en Debian Linux Server

  2. Habilitar SSH en el sistema Debian 9 - ¿Procedimiento paso a paso?

  3. Ssh:¿cómo habilitar el intercambio de claves Diffie-hellman-group1-sha1 en Debian 8.0?

  4. Cómo habilitar índices grandes en MariaDB 10 en Debian 10

  5. ¿Cómo habilito paquetes no libres en Debian?

Cómo habilitar el protocolo HTTP2 con Nginx en Debian 8 Jessie Server

Instalar/habilitar y configurar actualizaciones desatendidas en Debian 11

Instalar/Habilitar SSH en Debian 11 Bullseye

Cómo habilitar SSH en Debian 11 Bullseye Linux

Cómo habilitar SSH en Debian 10 Buster

Cómo instalar y habilitar el servidor SSH en Debian 10