Skip to content

ROCKPro64 - i2c Bus

Hardware
  • Mal beim Kaffee schnell was Basteln 😉

    Nachmachen auf eigene Gefahr!

    IMG_20190310_103859_ergebnis.jpg

    Auch der ROCKPro64 hat mehrere i2c Bussysteme. Erst mal eine Grafik dazu.

    Bild Text

    Hardware

    Als allererstes eine Warnung! Viele I2C-Module sind für 5 Volt gebaut, der ROCKPro64 kann aber nur 3 Volt Signale verarbeiten. Für den Betrieb der 5V-Module an 3V-Geräten gibt es preiswerte Wandler. Eine Nichtbeachtung kann zur Zerstörung des ROCKPro64 führen!

    Der Adapter ist bestellt, aber ich hatte von der Fa. Wenzel Systems die I2C-Switch-Bar hier liegen und man will das ja ausprobieren. Da bin ich über einen Tipp im Netz gestolpert. Auf dem Board sind zwei Abschlusswiderstände auf den Bus geschaltet. Diese kann man entfernen, dafür sind auf dem Board zwei Lötbrücken SJ1 und SJ2. Das Lötzinn entfernt, nachgemessen das die Verbindung nicht mehr besteht und angeschlossen.

    Schaltplan der Fa. Wenzel Systems
    Schaltplan ROCKPro64 v2.1

    Der Anschluss an einen ROCKPro64 sieht dann wie folgt aus:

    Switch-Bar| RP64v2.1
    -------- | -------- | -------- | ------|-----
    +3,3V | P01
    GND | P09
    SDA | P27 / I2C4 SDA
    SCL | P28 / I2C4 SCL

    Wenn ich das alles richtig verstanden habe, dient die Leitung SCL für die Zeitsignale (Clock) und SDA für die Daten (Data). Die beiden Leitungen bilden den I2C-Bus, die anderen beiden dienen der Stromversorgung der Switch-Bar.

    In der Grafik sind die I2C Busse mit Nummern versehen, hier im Beispiel I2C4, das entspricht dem Bus Nr.4

    Dann weiter...

    Software

    System

    rock64@rockpro64:~/temp$ uname -a
    Linux rockpro64 5.0.0-1101-ayufan-g41eeb7cd789e #ayufan SMP PREEMPT Fri Mar 8 22:14:59 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
    

    Tools installieren

    sudo apt install i2c-tools
    

    Den Bus absuchen

    rock64@rockpro64:~$ sudo i2cdetect -y 4
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- 22 -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    

    Oben ist der Originalzustand, ohne das was angeschlossen ist. Jetzt mit angeschlossener Switch-Bar.

    rock64@rockpro64:~/temp$ sudo i2cdetect -y 4
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- 22 -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3e -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --  
    

    Switchbar gefunden 😉

    Ok, ein paar Erläuterungen. Den Befehl mal zerlegen.

    sudo i2cdetect -y 4
    
    • sudo - Der Befehl muss mit Rootrechten ausgeführt werden.
    • -y - Wir stimmen der Ausführung zu
    • 4 - Nummer des i2c Busses, hier die Nummer 4

    Ohne das -y würde das so aussehen.

    rock64@rockpro64:~/temp$ sudo i2cdetect 4
     WARNING! This program can confuse your I2C bus, cause data loss and worse!
     I will probe file /dev/i2c-4.
     I will probe address range 0x03-0x77.
     Continue? [Y/n] n
    

    Wert der Switchbar auslesen

    rock64@rockpro64:~/temp$ sudo i2cget -y 4 0x3e
    0x00
    

    Auch hier wieder die Zustimmung gesetzt -y, Busnummer 4 und die Adresse der Switch-Bar 0x3e.
    Danach die Rückgabe des Wertes 0x00 Das ist auch korrekt, alle DIP-Schalter sind auf OFF.

    Schalter Nr.1 auf ON

    rock64@rockpro64:~/temp$ sudo i2cget -y 4 0x3e
    0x01
    

    Schalter Nr.2 auf ON

    rock64@rockpro64:~/temp$ sudo i2cget -y 4 0x3e
    0x02
    

    Schalter Nr.3 auf ON

    rock64@rockpro64:~/temp$ sudo i2cget -y 4 0x3e
    0x04
    

    Schalter Nr.4 auf ON

    rock64@rockpro64:~/temp$ sudo i2cget -y 4 0x3e
    0x08
    

    Schalter Nr.5 auf ON

    rock64@rockpro64:~/temp$ sudo i2cget -y 4 0x3e
    0x10
    

    Schalter Nr.6 auf ON

    rock64@rockpro64:~/temp$ sudo i2cget -y 4 0x3e
    0x20
    

    usw. Man sieht also, das die Zustände Hexadezimal angezeigt werden.

    Hex Dual Dez
    0 0 0 0 0 00
    1 0 0 0 1 01
    2 0 0 1 0 02
    3 0 0 1 1 03
    4 0 1 0 0 04
    5 0 1 0 1 05
    6 0 1 1 0 06
    7 0 1 1 1 07
    8 1 0 0 0 08
    9 1 0 0 1 09
    A 1 0 1 0 10
    B 1 0 1 1 11
    C 1 1 0 0 12
    D 1 1 0 1 13
    E 1 1 1 0 14
    F 1 1 1 1 15

    Viel Spaß beim Ausprobieren, aber schön vorsichtig 🙂

  • Kernel 6.0.0-rc7

    ROCKPro64 rockpro64
    2
    0 Stimmen
    2 Beiträge
    200 Aufrufe
    FrankMF
    Geht [image: 1664296204344-fb1bc176-5c57-48bf-8d75-1834b5548552-grafik.png] https://github.com/ayufan-rock64/linux-mainline-kernel/releases Altes Image installieren, die zwei .deb Files vom Kamil herunterladen. dpkg -i *.deb und neustarten. Und hochgezogen auf Debian Bullseye root@rockpro64:~# cat /etc/debian_version 11.5
  • linux-mainline-u-boot

    Angeheftet Images rockpro64
    2
    0 Stimmen
    2 Beiträge
    438 Aufrufe
    FrankMF
    2020.01-ayufan-2014-gff2cdd38 released ayufan: rockchip: allow to boot scsi4, as JMS585 can have 5 drives
  • Images 0.10.x

    Angeheftet Images rockpro64
    10
    0 Stimmen
    10 Beiträge
    566 Aufrufe
    FrankMF
    0.10.12: gitlab-ci-linux-build-184 released 0.10.12: Be strict on any qemu failures 0.10.12: Build by default mate/lxde/gnome/xfce4 0.10.12: Add pcie scan delay from @nuumio 0.10.12: Add ubuntu-mate-lightdm-theme where possible Ich komme gar nicht mehr mit dem Testen hinterher
  • Image 0.9.16 - Kurztest

    ROCKPro64 rockpro64
    5
    0 Stimmen
    5 Beiträge
    482 Aufrufe
    FrankMF
    Kurzer Test, ok ist was länger geworden Mit Debian Buster Minimal habe ich es nicht hinbekommen Das soll aber nicht heißen, das es nicht geht. WLan auf der Konsole ist nicht meine Stärke. Ok, dann Desktop. bionic-mate-rockpro64-0.9.16-1163-armhf.img.xz Installiert, kurz WLan 5G aktiviert, eingeloggt. Netzwerkkabel entfernt. Firefox angeworfen, Rammstein Viedo in 1080p angeworfen. Läuft alles einwandfrei. [image: 1571932117640-b834128c-30c3-43cd-ba43-b69b41783b57-grafik-resized.png] Und PCIe NVMe SSD geht auch Das Desktop System ist mittlerweile richtig gut zu benutzen. Aber ich bin verwöhnt, mir ist das immer viel zu langsam. Das soll aber niemanden davon abhalten, sich das mal anzusehen. Je nach Einsatzzweck sicherlich interessant.
  • Image 0.9.14 - Kurztest

    ROCKPro64 rockpro64
    1
    1
    0 Stimmen
    1 Beiträge
    246 Aufrufe
    Niemand hat geantwortet
  • Wireguard

    Verschoben Wireguard linux rockpro64 wireguard
    4
    0 Stimmen
    4 Beiträge
    945 Aufrufe
    FrankMF
    Etwas schnellerer Weg den Tunnel aufzubauen, Voraussetzung wireguard modul installiert Keys erzeugt Danach dann einfach ip link add wg0 type wireguard wg setconf wg0 /etc/wireguard/wg0.conf Datei /etc/wireguard/wg0.conf [Interface] PrivateKey = <Private Key> ListenPort = 60563 [Peer] PublicKey = <Public Key Ziel> Endpoint = <IPv4 Adresse Zielrechner>:58380 AllowedIPs = 10.10.0.1/32 Die Rechte der Dateien von wireguard müssen eingeschränkt werden. sudo chmod 0600 /etc/wireguard/wg0.conf Das ganze per rc.local beim Booten laden. Datei /root/wireguard_start.sh ############################################################################################### # Autor: Frank Mankel # Startup-Script # Wireguard # Kontakt: frank.mankel@gmail.com # ############################################################################################### ip link add wg0 type wireguard ip address add dev wg0 10.10.0.1/8 wg setconf wg0 /etc/wireguard/wg0.conf ip link set up dev wg0 Danach Datei ausführbar machen chmod +x /root/wireguard_start.sh In rc.local /root/wireguard_start.sh eintragen - Fertig!
  • stretch-openmediavault-rockpro64

    Verschoben Linux rockpro64
    1
    0 Stimmen
    1 Beiträge
    830 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Übersicht

    Angeheftet Verschoben Hardware hardware rockpro64
    8
    1
    0 Stimmen
    8 Beiträge
    6k Aufrufe
    FrankMF
    Bericht der Zeitschrift Make. https://www.heise.de/make/meldung/Bastelrechner-NanoPC-T4-und-ROCKPro64-Mehr-Raspi-Konkurrenz-mit-Rockchip-4061580.html