Archiv der Kategorie: Kurztipps

Die serielle Schnittstelle auf dem Raspberry Pi 3

Die Integration eines Bluetooth-Adapters auf dem Raspberry Pi 3 ist für die meisten Anwender eine feine Sache — aber es gibt eine Ausnahme: Die serielle Schnittstelle funktioniert nicht mehr wie gewohnt. Die neue Bluetooth-Modem liegt nun auf der Hardware-UART-Schnittstelle.

Der Mini-UART (Universal Asynchronous Receiver Transmitter) ist an den GPIO-Pins TxD und RxD verfügbar (das sind Pin 8 und 10 des GPIO-Headers J8). Dies ist eine kleine Variante des ursprünglichen UART, welche neben einer geringen Durchsatzfähigkeit auch nicht mehr so stabil ist wie zuvor.

Die Baud-Rate des Mini-UART wird ab sofort vom System-Takt abgeleitet. Das bedeutet im Umkehrschluss, dass die Baud-Rate nicht mehr stabil bleibt, sondern je nach CPU-Auslastung stark schwankt. Leider wird der UART dadurch, ohne weitere Schritte, nahezu unbrauchbar.

Die einzig sinnvolle Lösung des Problems besteht darin, die Bluetooth-Schnittstelle zu deaktivieren. Dazu öffnen Sie die Datei mit einem Editor und fügen am Ende der Datei die Zeile dtoverlay=pi3-miniuart-bt hinzu. Nach dem Speichern und einem Neustart, funktioniert UART wieder wie in den Vorgängerversionen. Wenn Sie außerdem Bluetooth benötigen, müssen Sie wie bei den älteren Raspberry-Pi-Modellen auf einen USB-Bluetooth-Stöpsel zurückgreifen.

Quellen

bash-Vervollständigung aktivieren

Wenn Sie im Terminal die Tabulator-Taste drücken, sollte die im Terminal laufende Shell (also die bash) die bisherige Eingabe nach Möglichkeit vervollständigen. In manchen Fällen funktioniert dies (z.b. bei Dateinamen), in anderen Fällen aber nicht — z.B. wenn Sie mit sudo -s in den root-Modus wechseln und dann apt-get install name eingeben und die Tabulator-Taste drücken. Schuld daran ist die Datei /etc/bash.bashrc. In dieser Konfigurationsdatei sind einige Zeilen durch das Kommentarzeichen # deaktiviert. Deswegen bleibt das standardmäßig installierte Paket bash-completion wirkungslos.

Öffnen Sie die Datei also mit sudo leafpad /etc/bash.bashrc in einem Editor und entfernen Sie die #-Zeichen für die Zeilen, die dem Kommentar enable bash completion in interactive shells folgen:

# in der Datei /etc/bash.bashrc
...
# enable bash completion in interactive shells
if ! shopt -oq posix; then 
  if [ -f /usr/share/bash-completion/bash_completion ]; then 
    . /usr/share/bash-completion/bash_completion 
  elif [ -f /etc/bash_completion ]; then 
    . /etc/bash_completion 
  fi 
fi 
...

Sobald Sie sich neu einloggen, funktioniert die bash-Vervollständigung wie in anderen Linux-Distributionen

HDMI-Auflösung manuell einstellen

Seit neuesten verweigert Raspbian auf einem meiner Testsysteme die richtige Erkennung des Monitors. Die Grafikoberfläche nutzt nur magere 640×480 Pixel. Das ist insofern bemerkenswert, als ich diesen uralten Monitor (Produktionsdatum Sep. 2008) nun schon seit drei Jahren für diverse Raspberry-Pis verwendet habe — und nie Probleme hatte.

Abhilfe schafft in solchen Fällen die Einstellung der Parameter hdmi_group und hdmi_mode. Eine Referenz aller zulässigen Einstellungen finden Sie auf elinux.org.

# in /boot/config.txt
...
# group 1 für TV-Geräte, group 2 für Computer-Monitore
hdmi_group=2

# 1920x1200 @ 60 Hz
hdmi_mode=69

Seither läuft der Grafikmodus von Raspbian wieder zufriedenstellend.

Update 10.8.2016: Wieder Probleme, diesmal mit einem modernen Monitor

Heute habe ich meinen Pi3 mit einem ASUS PB287Q verbunden, also einem modernen 4k-Monitor. Ich wollte natürlich nur die normale HD-Auflösung nutzen, aber stattdessen bekam ich wieder 640×480 Pixel :-(

Abhilfe schufen in diesem Fall die folgenden Einstellungen:

# in /boot/config.txt
...
# es ist wirklich ein HDMI-Monitor angeschlossen, auch
# wenn der Pi3 das nicht erkennt
hdmi_force_hotplug=1  

# 1920x1200 @ 60 Hz mit reduziertem Blanking
hdmi_group=2
hdmi_mode=68

Kann es sein, dass der Raspberry Pi mit jedem Modell wählerischer wird, was die richtige Erkennung des HDMI-Monitors betrifft?

sonic-pi-Update dauert ewig

Wenn Sie unter Raspbian Jessie ein Update durchführen (apt-get update && apt-get dist-upgrade), brauchen Sie momentan viel Geduld: Das Update des Pakets sonic-pi dauert (fast) ewig — je nach Geschwindigkeit der SD-Karte durchaus eine ganze Stunde! Während dieser Zeit gibt es keine Fortschrittsanzeige, d.h. man könnte den Eindruck gewinnen, apt-get ist abgestürzt.

Haben Sie Geduld und unterbrechen Sie den Vorgang nicht durch Strg+C oder durch einen Neustart des Recherns! Sie riskieren eine defekte Paketdatenbank. Das Paket-Update dauert zwar sehr lange, aber es wird korrekt abgeschlossen (siehe auch das Raspberry-Pi-Forum).

sonic-pi ist eine Art programmierbarer Synthesizer. Wenn Sie dieses Programm ohnedies nicht brauchen, ist es am besten, sein Paket vor dem Update gleich ganz zu entfernen, also:

sudo apt-get remove sonic-pi
sudo apt-get update
sudo apt-get dist-upgrade