Cubieboard 3 und HDMI

Nachdem ich mein Cubieboard 3 aka Cubietruck noch mal an meinen TV per HDMI anschließen wollte, habe ich fest gestellt, dass zwar auf dem VGA Port ein Bild ausgegeben wurde, nicht aber auf dem HDMI Port.

Nach ein bisschen Suchen im Internet nach „cubietruck hdmi not working“ findet man recht schnell eine Seite mit Informationen zum Cubietruck und der Bildausgabe. Die genauen Werte für die Aktivierung des HDMI Ports findet man im FEX Guide.

Installiert werden die benötigten Tools bin2fex und fex2bin unter Debian mit

apt-get install sunxi-tools

Anschließend kann man mit

bin2fex /boot/script.bin > /root/script.fex

die .bin Datei in eine les- und editbare .fex-Datei umwandeln. Nun kann man die Datei nach den eigenen Wünschen und Bedürfnissen angepasst werden. In meinem Fall wird mit screen1_output_type=1 und screen1_output_mode=10 die Bildausgabe per HDMI in 1080p60 aktiviert:

[disp_init]
disp_init_enable = 1
disp_mode = 1
screen0_output_type = 4
screen0_output_mode = 4
screen1_output_type = 3
screen1_output_mode = 10

Anschließend mit

fex2bin /root/script.fex > /boot/script.bin

die .bin-Datei mit den Änderungen neu erzeugen und neu starten. Nun sollte das Bild per HDMI dargestellt werden.

Symlinks für Geräte mit udev erstellen

USB Geräte, die in irgendeiner Form RS232 sprechen oder so tun als ob, bekommen normalerweise Einträge im dev-Verzeichnis wie

  • /dev/ttyUSB* oder
  • /dev/ttyACM*

Leider ist eine eindeutige Zuordnung (Gerät X bekommt immer /dev/ttyACM5 o.ä.) nicht gegeben. Man musst also immer erst einmal „nachsehen“ (dmesg oder lsusb).

Eine Alternative bietet udev an. Dazu erstellt man udev-Regeln, am besten in einer eigenen Datei im Verzeichnis /etc/udev/rules.d.

Beispiel für einen Adapter USB auf RS232 mit einem pl2302 von Prolific Technology Inc. Dieser hat Vendor-ID 067b und Product-ID 2303.

SUBSYSTEM=="tty",ATTRS{idVendor}=="067b",ATTRS{idProduct}=="2303",SYMLINK+="pl2303"

Man erhält mit einem ls -hal /dev/ folgende Ausgabe:

lrwxrwxrwx 1 root root 7 Nov 21 18:19 /dev/pl2303 -> ttyUSB1

Man kann nun statt /dev/ttyUSB1 (wechselndes Device) immer den Symlink /dev/pl2302 (konstant) verwenden. Das lästige Suchen entfällt somit.

(Dieser Beitrag basiert auf diesem Blog und wurde natürlich angepasst)

AM2302/DHT22 auf RS232 Adapter

Um der Arietta G25 einen praktischen Nutzen zu verleihen, soll sie als Logger für Temperatur und Feuchtigkeit benutzt werden. Hierzu soll der Sensor AM2302/DHT22 über UART angebunden werden.

Als Adapter habe ich mich für einen minimalistischen ATTINY45 (den hatte ich noch) entschieden.

Das entsprechende Projekt findet man auf GitHub: https://github.com/shing19m/AM2302-ATTINY45-RS232

 

Arietta G25 und das WPA-WLAN

Das Arietta G25 ist ein Embedded Linux Board mit:

  • 400Mhz ARM-9 CPU Atmel AT91SAM9G25
  • 128 oder 256 MByte DDR2 RAM
  • MicroSD Karten Slot für bis zu 64 GB
  • Debug-Port für optionales Debug-Modul
  • 3 USB Ports (1 Port für optionales WLAN reserviert)
  • 20×2 Pin Header im 2,54 mm für
    • I2C
    • USB
    • UART
    • PWM

Die komplette Liste der Ausstattung findet man auf der Herstellerseite.Das WLAN Modul WIFI-2-IA mit RaLink RT5370N kann fest auf die Basisplatine gelötet werden und belegt dann einen der 3 USB-Ports.

Anschließend kann man sich auf der Arietta einloggen (entweder per ssh über USB-LAN oder über serielle Konsole und den Debug-Port). In beiden Fällen ist das voreingestellte Passwort für den root-Nutzer „acmesystems“.

Mit wpa_passphrase SSID PASSWORT kann man sich den notwendigen Wert für die Konfiguration in /etc/network/interfaces berechnen lassen. Als Ergebnis erhält man:

network={
        ssid="SSID-WERT"
        psk=PSK-WERT
}

Daraus ergibt sich für WLAN0 folgendes:

auto wlan0
iface wlan0 inet dhcp 
        wpa-ssid "SSID-WERT"
        wpa-psk PSK-WERT

Dabei sind die Anführungszeichen zu beachten. Mit ifup wlan0 kann die Schnittstelle aktiviert werden und sollte sich dann per DHCP eine IP-Adresse und Default-Route erhalten.