Skip to content

Unterstützung Lüfter

ROCKPro64
  • Kamil hat die Funktion des Lüfters als Kernelupdate eingebaut.

    rock64@rockpro64v2_1:~$ uname -a
    Linux rockpro64v2_1 4.4.132-1077-rockchip-ayufan-gbaf35a9343cb #1 SMP Mon Jul 30 14:06:57 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Updaten

    sudo apt-get update
    apt-cache search linux-image
    

    Dann den Kernel aussuchen, in diesem Fall

    sudo apt-get install linux-image-4.4.132-1077-rockchip-ayufan-gbaf35a9343cb
    

    Einmal neustarten

     sudo shutdown -r now
    

    Fertig!

  • Lüfter angekommen 😉

    0_1533908727391_Lüfter_ergebnis.jpg
    Die Befestigung ist böse improvisiert 🙂

    Mit armbianmonitor die Temperatur kontrolliert.

    rock64@rockpro64v2_0:/usr/local/sbin$ sudo ./armbianmonitor -m
    Stop monitoring using [ctrl]-[c]
    Stop monitoring using [ctrl]-[c]
    Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   CPU  C.St.
    
    15:15:23:  816/1200MHz  0.00   0%   0%   0%   0%   0%   0% 40.0°C  0/3
    15:15:28:  408/ 408MHz  0.00   0%   0%   0%   0%   0%   0% 41.1°C  0/3
    15:15:33:  408/ 408MHz  0.00   0%   0%   0%   0%   0%   0% 41.1°C  0/3
    15:15:38:  408/ 408MHz  0.00   0%   0%   0%   0%   0%   0% 41.1°C  0/3
    15:15:43:  408/ 408MHz  0.00   0%   0%   0%   0%   0%   0% 41.1°C  0/3
    15:15:48:  408/ 408MHz  0.00   0%   0%   0%   0%   0%   0% 41.1°C  0/3
    15:15:53:  408/ 408MHz  0.00   0%   0%   0%   0%   0%   0% 41.1°C  0/3
    

    Lüfter eingebaut. Einige Zeit laufen lassen. Ergebnis. (Wert 50)

    15:31:48:  408/ 408MHz  0.02   0%   0%   0%   0%   0%   0% 34.4°C  0/3
    15:31:53:  408/ 408MHz  0.02   0%   0%   0%   0%   0%   0% 34.4°C  0/3
    15:31:58:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 34.4°C  0/3
    15:32:03:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 34.4°C  0/3
    15:32:08:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 34.4°C  0/3
    15:32:14:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 34.4°C  0/3
    15:32:19:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 35.0°C  0/3
    15:32:24:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 35.0°C  0/3
    

    Aktuell müssen wir die Geschwindigkeit des Lüfters noch von Hand einstellen. Dazu findet man unter

    rock64@rockpro64v2_0:/sys/class/hwmon/hwmon0
    

    die Datei pwm1. Diese öffnen wir mal mit einem Editor.

    rock64@rockpro64v2_0:/sys/class/hwmon/hwmon0$ sudo nano pwm1
    

    In dieser Datei steht nur eine 0. Der Wert ist einstellbar von 0 - 255. Hier mal die Ausgabe, wenn das Ding mit 255 einige Zeit läuft.

    15:42:18:  408/ 408MHz  0.02   0%   0%   0%   0%   0%   0% 32.8°C  3/3
    15:42:23:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 32.8°C  3/3
    15:42:28:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 33.3°C  3/3
    15:42:34:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 32.8°C  3/3
    15:42:39:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 32.8°C  3/3
    15:42:44:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 33.3°C  3/3
    15:42:49:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 32.8°C  3/3
    15:42:54:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 32.8°C  3/3
    15:42:59:  408/ 408MHz  0.01   0%   0%   0%   0%   0%   0% 32.8°C  3/3
    

    Das war's, weiter runter komme ich hier wohl nicht.

  • Aktuell geht das nur mit Kernel 4.4.x Mit Kernel 4.18.x bekomme ich den Lüfter, mit dem Wert 255, nur kurz zum Laufen.
    Es scheint so, das irgendein Dienst in die Datei nach kurzer Zeit wieder eine 0 rein schreibt !?!?

    Im Gegensatz zum Kernel 4.4.x, läuft der Lüfter mit Wert 50 nicht an. Da muss ich nochmal nachfragen.

  • Wenn jemand einen Dienst braucht, der den Lüfter automatisch steuert, da hat jemand was gebastelt 😉

    Sieht nicht zu kompliziert aus, sollte man hin bekommen. Bei Gelegenheit werde ich mal testen.

  • Mit dem neuen Release hatte jemand das mal ausprobiert -> https://forum.frank-mankel.org/topic/795/fan-control-omv-auyfan-0-10-12-gitlab-ci-linux-build-184-kernel-5-6/6

    Dieser Kernel kam zur Anwendung

    Linux rockpro64 5.6.0-1137-ayufan-ge57f05e7bf8f #ayufan SMP Wed Apr 15 10:16:02 UTC 2020 aarch64 GNU/Linux
    

    Dort stellt man dann fest, das sich eine Kleinigkeit geändert hat. Der Pfad und der Dateiname hat sich geändert.

    Kontrollieren kann man das mit

    nano /sys/devices/platform/pwm-fan/hwmon/hwmon3/pwm1
    

    Der Wert geht von 0 - 255, wie gehabt.

  • ROCKPro64 - Debian Bullseye Teil 1

    ROCKPro64
    17
    4
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    FrankMF
    Durch diesen Beitrag ist mir mal wieder eingefallen, das wir das erneut testen könnten Also die aktuellen Daten von Debian gezogen. Das Image gebaut, könnt ihr alles hier im ersten Beitrag nachlesen. Da die eingebaute Netzwerkschnittstelle nicht erkannt wurde, habe ich mal wieder den USB-to-LAN Adapter eingesetzt. Bus 005 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet Die Installation wollte ich auf einem NVMe Riegel installieren. Die Debian Installation durchgezogen und nach erfolgreicher Installation neugestartet. Und siehe da, ohne das man alles möglich ändern musste, bootete die NVMe SSD Eingesetzter uboot -> 2020.01-ayufan-2013...... Die nicht erkannte LAN-Schnittstelle müsste an nicht freien Treibern liegen, hatte ich da irgendwo kurz gelesen. Beim Schreiben dieses Satzes kam die Nacht und ich konnte noch mal drüber schlafen. Heute Morgen, beim ersten Kaffee, dann noch mal logischer an die Sache ran gegangen. Wir schauen uns mal die wichtigsten Dinge an. root@debian:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff 3: enx000acd26e2c8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0a:cd:26:e2:c8 brd ff:ff:ff:ff:ff:ff inet 192.168.3.208/24 brd 192.168.3.255 scope global dynamic enx000acd26e2c8 valid_lft 42567sec preferred_lft 42567sec inet6 fd8a:6ff:2880:0:20a:cdff:fe26:e2c8/64 scope global dynamic mngtmpaddr valid_lft forever preferred_lft forever inet6 2a02:908:1260:13bc:20a:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr valid_lft 5426sec preferred_lft 1826sec inet6 fe80::20a:cdff:fe26:e2c8/64 scope link valid_lft forever preferred_lft forever Ok, er zeigt mir die Schnittstelle eth0 ja an, dann kann es an fehlenden Treibern ja nicht liegen. Lässt dann auf eine fehlerhafte Konfiguration schließen. Nächster Halt wäre dann /etc/network/interfaces Das trägt Debian ein # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug enx000acd26e2c8 iface enx000acd26e2c8 inet dhcp # This is an autoconfigured IPv6 interface iface enx000acd26e2c8 inet6 auto Gut, bei der Installation hat Debian ja nur die zusätzliche Netzwerkschnittstelle erkannt, folgerichtig ist die auch als primäre Schnittstelle eingetragen. Dann ändern wir das mal... # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface #allow-hotplug enx000acd26e2c8 allow-hotplug eth0 #iface enx000acd26e2c8 inet dhcp iface eth0 inet dhcp # This is an autoconfigured IPv6 interface #iface enx000acd26e2c8 inet6 auto iface eth0 inet6 auto Danach einmal alles neu starten bitte systemctl status networking Da fehlte mir aber jetzt die IPv4 Adresse, so das ich einmal komplett neugestartet habe. Der Ordnung halber, so hätte man die IPv4 Adresse bekommen. dhclient eth0 Nachdem Neustart kam dann das root@debian:/etc/network# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff inet 192.168.3.172/24 brd 192.168.3.255 scope global dynamic eth0 valid_lft 42452sec preferred_lft 42452sec inet6 fd8a:6ff:2880:0:6003:b0ff:fed6:dcb3/64 scope global dynamic mngtmpaddr valid_lft forever preferred_lft forever inet6 2a02:908:1260:13bc:6003:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr valid_lft 5667sec preferred_lft 2067sec inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link valid_lft forever preferred_lft forever 3: enx000acd26e2c8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 00:0a:cd:26:e2:c8 brd ff:ff:ff:ff:ff:ff Fertig, eth0 läuft. Nun kann man den zusätzlichen Adapter entfernen oder halt konfigurieren, wenn man ihn braucht. Warum der Debian Installer die eth0 nicht erkennt verstehe ich nicht, aber vielleicht wird das irgendwann auch noch gefixt. Jetzt habe ich erst mal einen Workaround um eine Installation auf den ROCKPro64 zu bekommen.
  • Zwischenfazit April 2019

    Angeheftet ROCKPro64
    1
    1
    1 Stimmen
    1 Beiträge
    573 Aufrufe
    Niemand hat geantwortet
  • Ayufan Release 0.7.12

    ROCKPro64
    3
    0 Stimmen
    3 Beiträge
    436 Aufrufe
    FrankMF
    Dafür andere Probleme https://pastebin.com/VGGKm1vR Aktuell nicht zu empfehlen!
  • Armbian für den ROCKPro64

    Angeheftet Armbian
    1
    1
    0 Stimmen
    1 Beiträge
    548 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - RP64.GPIO

    Angeheftet Verschoben Hardware
    6
    1
    0 Stimmen
    6 Beiträge
    6k Aufrufe
    FrankMF
    Hallo zusammen, da ich weiß das dieser Artikel recht beliebt ist, wollen wir den heute mal aktualisieren. Vieles aus den vorherigen Beiträgen passt noch. Es gibt aber kleine Anpassungen. Hardware ROCKPro64v21. 2GB RAM Software Kamils Release 0.10.9 Linux rockpro64 5.6.0-1132-ayufan-g81043e6e109a #ayufan SMP Tue Apr 7 10:07:35 UTC 2020 aarch64 GNU/Linux Installation apt install python Danach laden wir das Projekt git clone https://github.com/Leapo/Rock64-R64.GPIO PIN Nummern anpassen cd Rock64-R64.GPIO/R64 nano _GPIO.py Datei ergänzen # Define GPIO arrays #ROCK_valid_channels = [27, 32, 33, 34, 35, 36, 37, 38, 64, 65, 67, 68, 69, 76, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 96, 97, 98, 100, 101, 102, 103, 104] #BOARD_to_ROCK = [0, 0, 0, 89, 0, 88, 0, 0, 64, 0, 65, 0, 67, 0, 0, 100, 101, 0, 102, 97, 0, 98, 103, 96, 104, 0, 76, 68, 69, 0, 0, 0, 38, 32, 0, 33, 37, 34, 36, 0, 35, 0, 0, 81, 82, 87, 83, 0, 0, 80, 79, 85, 84, 27, 86, 0, 0, 0, 0, 0, 0, 89, 88] #BCM_to_ROCK = [68, 69, 89, 88, 81, 87, 83, 76, 104, 98, 97, 96, 38, 32, 64, 65, 37, 80, 67, 33, 36, 35, 100, 101, 102, 103, 34, 82] ROCK_valid_channels = [52,53,152,54,50,33,48,39,41,43,155,156,125,122,121,148,147,120,36,149,153,42,45,44,124,126,123,127] BOARD_to_ROCK = [0,0,0,52,0,53,0,152,148,0,147,54,120,50,0,33,36,0,149,48,0,39,153,41,42,0,45,43,44,155,0,156,124,125,0,122,126,121,123,0,127] BCM_to_ROCK = [43,44,52,53,152,155,156,45,42,39,48,41,124,125,148,147,124,54,120,122,123,127,33,36,149,153,121,50] Abspeichern. Datei test.py anlegen nano test.py Inhalt #!/usr/bin/env python # Frank Mankel, 2018, LGPLv3 License # Rock 64 GPIO Library for Python # Thanks Allison! Thanks smartdave! import R64.GPIO as GPIO from time import sleep print("Output Test R64.GPIO Module...") # Set Variables var_gpio_out = 156 var_gpio_in = 155 # GPIO Setup GPIO.setwarnings(True) GPIO.setmode(GPIO.ROCK) GPIO.setup(var_gpio_out, GPIO.OUT, initial=GPIO.HIGH) # Set up GPIO as an output, with an initial state of HIGH GPIO.setup(var_gpio_in, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Set up GPIO as an input, pullup enabled # Test Output print("") print("Testing GPIO Input/Output:") while True: var_gpio_state_in = GPIO.input(var_gpio_in) var_gpio_state = GPIO.input(var_gpio_out) # Return State of GPIO if var_gpio_state == 0 and var_gpio_state_in == 1: GPIO.output(var_gpio_out,GPIO.HIGH) # Set GPIO to HIGH print("Input State: " + str(var_gpio_state_in)) # Print results print("Output State IF : " + str(var_gpio_state)) # Print results else: GPIO.output(var_gpio_out,GPIO.LOW) # Set GPIO to LOW print("Input State: " + str(var_gpio_state_in)) # Print results print("Output State ELSE: " + str(var_gpio_state)) # Print results sleep(0.5) exit() Beispiel [image: 1537522070243-input_ergebnis.jpg] Wenn der Taster im Bild betätigt wird, soll die LED blinken. Wir benutzen folgende Ein- Augänge des ROCKPro64. # Set Variables var_gpio_out = 156 var_gpio_in = 155 Das heißt: an Pin 1 (3,3V) kommt eine Strippe des Tasters an Pin 29 (Input) kommt eine Strippe des Tasters an Pin 31 (Output) kommt der Plus-Pol der LED an Pin 39 (GND) kommt der Minus-Pol der LED Somit wird auf den Eingang (Pin 29) bei Betätigung des Tasters 3,3 Volt angelegt. Damit wird dann der Eingang als High (1) erkannt. Die LED wird über den Ausgang (Pin 31) gesteuert. Starten kann man das Script mit python test.py https://www.youtube.com/watch?v=aPSC0Q0xInw
  • Freier Linux GPU Treiber

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    513 Aufrufe
    Niemand hat geantwortet
  • Recover Button

    Hardware
    2
    2
    0 Stimmen
    2 Beiträge
    856 Aufrufe
    FrankMF
    Ich hab das mal ausprobiert. Den Recover Button so lange drücken, bis folgendes erscheint. In: serial@ff1a0000 Out: serial@ff1a0000 Err: serial@ff1a0000 Model: Pine64 RockPro64 rockchip_dnl_mode = 1 mode rockchip_dnl_mode = 2 mode rockchip_dnl_mode = 3 mode rockchip_dnl_mode = 4 mode entering maskrom mode... RKFlashTool clonen root@thinkpad:/home/frank/test# git clone https://github.com/rockchip-linux/rkflashtool Klone nach 'rkflashtool' ... remote: Counting objects: 663, done. remote: Total 663 (delta 0), reused 0 (delta 0), pack-reused 663 Empfange Objekte: 100% (663/663), 114.94 KiB | 0 bytes/s, Fertig. Löse Unterschiede auf: 100% (367/367), Fertig. In das Verzeichnis wechseln root@thinkpad:/home/frank/test# cd rkflashtool/ Inhalt root@thinkpad:/home/frank/test/rkflashtool# ls doc Makefile rkcrc.h rkflashtool.h rkparametersblock examples README rkflashall rkmisc rkunpack.c fixversion.sh release.sh rkflashloader rkpad rkunsign flashuboot rkcrc.c rkflashtool.c rkparameters version.h RKFlashtool bauen root@thinkpad:/home/frank/test/rkflashtool# make gcc -O2 -W -Wall -I/usr/include/libusb-1.0 rkflashtool.c -o rkflashtool -lusb-1.0 gcc -O2 -W -Wall -I/usr/include/libusb-1.0 rkcrc.c -o rkcrc -lusb-1.0 gcc -O2 -W -Wall -I/usr/include/libusb-1.0 rkunpack.c -o rkunpack -lusb-1.0 Ich habe ein USB-A to USB-A Kabel vom USB-C Port des ROCKPro64 zu meinem Notebook hergestellt. root@thinkpad:/home/frank/test/rkflashtool# sudo ./rkflashtool v rkflashtool: info: rkflashtool v5.2 rkflashtool: info: Detected RK3399... rkflashtool: info: interface claimed rkflashtool: info: MASK ROM MODE rkflashtool: info: chip version: -..- Ok, Verbindung steht. Eine Übersicht der Befehle root@thinkpad:/home/frank/test/rkflashtool# sudo ./rkflashtool rkflashtool: info: rkflashtool v5.2 rkflashtool: fatal: usage: rkflashtool b [flag] reboot device rkflashtool l <file load DDR init (MASK ROM MODE) rkflashtool L <file load USB loader (MASK ROM MODE) rkflashtool v read chip version rkflashtool n read NAND flash info rkflashtool i offset nsectors >outfile read IDBlocks rkflashtool j offset nsectors <infile write IDBlocks rkflashtool m offset nbytes >outfile read SDRAM rkflashtool M offset nbytes <infile write SDRAM rkflashtool B krnl_addr parm_addr exec SDRAM rkflashtool r partname >outfile read flash partition rkflashtool w partname <infile write flash partition rkflashtool r offset nsectors >outfile read flash rkflashtool w offset nsectors <infile write flash rkflashtool p >file fetch parameters rkflashtool P <file write parameters rkflashtool e partname erase flash (fill with 0xff) rkflashtool e offset nsectors erase flash (fill with 0xff)
  • Android - Youtube

    ROCKPro64
    2
    0 Stimmen
    2 Beiträge
    817 Aufrufe
    FrankMF
    [image: 1526915378406-android_home-resized.jpg]