GNU/Linux >> Linux Esercitazione >  >> Debian

Debian – Non è possibile abilitare Uarts su Beaglebone Black?

Domanda breve e generale

Sto eseguendo Debian 9 (Stretch) su un Beaglebone Black con kernel 4.9. Ho provato a seguire le istruzioni che ho trovato online, ma finora non sono stato apparentemente in grado di configurare i suoi dispositivi UART. Come configuro il mio dispositivo? Come posso eseguire il debug/risoluzione dei problemi della mia configurazione? Come posso verificare se la mia configurazione è corretta?

Domanda lunga e dettagliata

Sono molto nuovo nell'embedded Linux in generale e in Beaglebone in particolare. Ho seguito le istruzioni fornite qui:

  • BeagleBoard.org:per iniziare

Ho scaricato l'ultima immagine "Stretch IoT (senza desktop grafico) per BeagleBone e PocketBeagle tramite scheda microSD" (in particolare bone-debian-9.3-iot-armhf-2018-03-05-4gb.img) dalla pagina delle immagini più recenti e ho eseguito il flashing il Beagleboard da una scheda SD. Dopo l'installazione sono stato in grado di accedere a Beaglebone dal mio desktop Linux tramite un cavo da seriale a USB, in un modo simile a quanto descritto nel seguente articolo:

  • Come collegare il Beaglebone Black tramite seriale su USB

Sono stato in grado di utilizzare la seguente screen comando riuscito:

screen /dev/ttyUSB0 115200

Sono stato anche in grado di collegare un cavo da Micro-USB a USB tramite SSH:

ssh [email protected]

Una volta connesso al Beaglebone ho verificato che la mia versione del kernel fosse Linux beaglebone 4.9.82-ti-r102 . Ho quindi letto diversi articoli sulla configurazione UART di Beaglebone, inclusi i seguenti:

  • Blog sull'elettronica di Trevor:abilita gli UART su Element 14 Beaglebone Black rev C

  • StackOverflow:abilitazione di UART su Beaglebone Black

  • Stampante di cose:Cape Manager è tornato, piccola!

  • Flaming Lotus Girls:Beaglebone Black – abilita UART1

  • Blog di Billwaa:abilita tutte le porte UART all'avvio

  • Tender Love Making(?):Abilitazione di ttyO1 su BeagleBone

  • ELinux:BeagleBoneBlack Debian

Il mio punto di partenza è che (in generale) ci sono diversi file di configurazione da controllare, a seconda del sistema operativo e della versione del kernel. Questi includevano quanto segue:

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

Sono stati menzionati anche diversi file del dispositivo, come:

  • /sys/devices/bone_capemgr.*/slots

Ho provato ad aggiungere ciascuna delle seguenti righe a ciascuno dei vari uEnv.txt file:

  • 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

Ho anche provato ad aggiungere la seguente riga a /etc/default/capemgr :

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

Dopo il riavvio ho utilizzato il seguente comando per verificare se i dispositivi UART erano apparsi:

ls -l /dev/ttyO*

Purtroppo ho ottenuto quanto segue (risultati imprevisti):

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

NOTA:non mi interessa ttyO0 , ma piuttosto con ttyO1, ..., ttyO5 .

Ho provato anche alcune altre cose ma (nell'interesse di risparmiare tempo e spazio) non descriverò ogni tentativo a meno che non sia richiesto.

Cosa sto sbagliando qui? Qual è il modo corretto per abilitare i dispositivi UART?

Correlati:come abilitare l'autenticazione a due fattori in Office 365?

Risposta accettata:

Quanto segue funziona per Debian 9.9 con Kernel 4.14 (funziona anche con Debian 8.3, non funziona con Debian 9.3).

All'avvio vedrai i file /dev/ttyO1,O2,O4, ma non funzioneranno finché non imposti i pin sul pinmux corretto:

#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

Devi fare quel passaggio ad ogni riavvio. Appartiene a una sorta di script di avvio.

Puoi confermare che gli UART stanno funzionando con un semplice test di loopback, ad es. per UART4:

  1. Posizionare un filo tra P9_11 e P9_13

  2. schermo /dev/ttyO4

  3. Il testo digitato nella finestra dovrebbe essere visualizzato, scollegare il cavo e l'ulteriore digitazione non verrà visualizzata. L'UART funziona.


Debian
  1. Abilita l'accesso root SSH su Debian Linux Server

  2. Debian – Non è possibile abilitare Uarts su Beaglebone Black?

  3. Debian – Non è possibile avviare l'installazione di Devuan/debian?

  4. Come abilitare test e repository unstable su Debian

  5. Come posso abilitare i pacchetti non liberi su Debian?

Come abilitare il protocollo HTTP2 con Nginx su Debian 8 Jessie Server

Installa/Abilita e configura aggiornamenti automatici su Debian 11

Installa/Abilita SSH su Debian 11 Bullseye

Come abilitare SSH su Debian 11 Bullseye Linux

Come abilitare SSH su Debian 10 Buster

Come installare e abilitare il server SSH su Debian 10