Raspbian Buster (RPi 3B+) setzt bei jedem Reboot die Rechte am UART zurück

  • Leider stecke ich wieder mal ganz tief in einem Schnittstellen-Problem. Diesmal ist es der UART, an dem ein GPS-Board hängt und das ich per gpsd anspreche. Nach einer Neuinstallation von Raspbian Buster verschluckt sich der gpsd beim Start an falschen User-Rechten für den UART (also /dev/ttyS0). Siehe die Ausgabe von systemctl:



    So sehen die Rechte derzeit aus:

    Code
    pi@autoradio:/import/valen/autoradio $ ls -al /dev/ttyS0
    crw--w---- 1 root tty 4, 64 Sep 11 00:06 /dev/ttyS0


    Das ist aber nicht, was der gpsd erwartet. So ich mich noch erinnern kann, sah mit der alten Installation die Rechtestruktur so aus:


    Code
    crw-rw---- 1 root dialout


    Passe ich sie von Hand an, läuft das GPS-Board, aber leider nur bis zum nächsten Shutdown! Boote ich den Pi nochmal, habe ich wieder die alte (und falsche) Struktur.:@


    Nun: Was mache ich, damit Raspbian die Rechte an ttyS0 nicht bei jedem Booten zurücksetzt, sondern sie einfach belässt? :helpnew:

  • Moin Oldsmobile,


    wird die Schnittstelle auch umgeschrieben, wenn du den gpsd.service disables und dann Neustartest?


    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Code
    crw--w---- 1 root tty 4, 64 Sep 11 00:06 /dev/ttyS0

    Ist ein Device, welches dynamisch angelegt wird, damit gibt es nichts, was die Rechte, die du diesem Device geben willst/gegebenhast, über ein Reboot hinaus erhält.

    Also musst du, beim Anlegen dieses Devices diese von dir gewollten Rechte jedes mal erneut mitgeben.

    Selber denken,
    wie kann man nur?

  • Moin Oldsmobile,


    da hätte ich auch gleich drauf kommen können.

    Du musst die serielle Schnittstelle in raspi-config die login-shell ausschalten, aber die Schnittstelle als solches anlassen.

    Dann hat es auch eine /dev/ttyS0 mit der Gruppe dialout.


    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Also, eigentlich war die UART-Konsole schon aus:

    Code
    The serial login shell is disabled
    The serial interface is enabled


    Nichtsdestotrotz bin ich nochmal durch raspi-config gegangen, einen Reboot gemacht — und habe urplötzlich einen UART mit der richtigen Gruppe und den richtigen Privilegien:

    Code
    pi@autoradio:~ $ ls -al /dev/ttyS0
    crw-rw---- 1 root dialout 4, 64 Sep 11 22:51 /dev/ttyS0

    Warum bloß? War die vorherige Konfig fehlerhaft? :denker: