Forum: PC-Programmierung Raspberry Pi Debug UART umverlegen


von Ben S. (theben)


Lesenswert?

Hallo Leute!

Ich nutze meinen Raspberry Pi 4 mit einer Aufsteckplatine, welche die 
standart UART0 für die Serielle Schnittstelle mit Kernel Nachrichten 
belegt.

Daher würde gern die Serielle Schnittstelle zum Einloggen auf einen 
anderen UART umleiten.
Auf den UART5.

Um dies zu bewerkstelligen habe ich habe in der /boot/config.txt statt
1
enable_uart=1
 die Zeile
1
enable_uart=5
 eingesetzt, sowie den folgenden Eintrag, um die UART Funktion an den 
gewünschten Pin zu aktivieren:
1
dtoverlay=uart5

Um eine Console an den UART5 zu schalten und die Kernel Nachrichten zu 
sehen, muss ich vermutlich noch die /boot/cmdline.txt bearbeiten.
Der aktuelle Inhalt der Datei lautet:
1
console=serial0,115200 console=tty1 root=PARTUUID=58b9dea1-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait splash plymouth.ignore-serial-consoles

Was muss ich da ändern?

Vermutlich und/oder:
1
console=serial0,115200
2
console=tty1

Der Eintrag hatte leider nicht geholfen:
1
console=tty5

Aus der Doku zur cmdline.txt werde ich leider nicht schlau:
https://github.com/raspberrypi/linux/blob/rpi-4.4.y/Documentation/kernel-parameters.txt

: Bearbeitet durch User
von Sascha W. (sascha-w)


Lesenswert?

also wenn serial0 = uart1 ist dann würd' ich mal serial4 versuchen.

Sascha

von Ben S. (theben)


Lesenswert?

Ich habe so ziemlich alle Kombinationen schon durch probiert.

serial0 ist ja auch nur ein link zu ttyS0

Wenn ich den Befehl "ls -l /dev" wird mir unter anderem das angezeigt.
1
ls -l /dev
2
total 0
3
...
4
lrwxrwxrwx 1 root root           5 Feb  4 21:59 serial0 -> ttyS0
5
lrwxrwxrwx 1 root root           7 Feb  4 21:59 serial1 -> ttyAMA0
6
...
7
crw-rw---- 1 root dialout    4,  64 Feb 4 21:59 ttyS0
8
...

Da müsste irgendwie noch was anders eingestellt werden.

von Ben S. (theben)


Lesenswert?

Ich habe es endlich rausgefunden.

Zuerst die ​/boot/config.txt:

​​"enable_uart=1" ​aktiviert ausschließlich den UART1, welcher ja der 
standart UART ist welchen ich anderweitig brauche.

"enable_uart=5" ​ist Unsinn. Laut Doku gibt es nur die Möglichkeit 0 und 
1. Das heist man kann nur die UART0 und 1 damit aktivieren.

"dtoverlay=5" ​aktiviert den uart5 und erzeugt einen Eintrag in /dev 
nähmlich ttyAMA1


Für mein Verständniss völlig Gaga. Füge ich einen weiteren Eintrag wie 
​"dtoverlay=4​" hinzu, dann liegt auf einmal UART4 auf ttyAMA1 und UART5 
auf ttyAMA2 :-/ ​​


Als letztes /boot/cmdline.txt:

"​console=serial0,115200" aktiviert die Console auf UART0

"console=ttyAMA1​,115200"​ aktivier die Console auf UART5 (das geht 
sogar paralell zu UART0)

"quiet" deaktiviert die Kernel Ausgaben

von Ben S. (theben)


Lesenswert?

Kleine Fehlerberichtigung
dtoverlay=uart5 statt dtoverlay=5

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.