Skip to content

[HOWTO]ROCKPro64 - NAS bauen Teil 1

Angeheftet ROCKPro64
  • Der Artikel wendet sich an Einsteiger!

    Hardware

    • RockPro64 v2.1 2GB oder 4GB
    • Netzteil für ROCKPro64
    • SD-Karte / eMMC-Modul (siehe Erklärung 1)
    • PCIe SATA Adapter
    • 2 St. HDD 2,5 Zoll (z.B.: 2TB)
    • 2 St. SATA-Kabel
    • Spannungsversorgungsleitung für zwei SATA Laufwerke
    • UART-Adapter (serielle Konsole)

    0_1536253186731_DSC_0045_ergebnis.JPG

    Erklärung 1

    Das Betriebssystem kommt entweder auf eine SD-Karte, ein eMMC-Modul oder eine USB2 bzw. USB3-Platte. Was Ihr nehmt, bleibt Euch überlassen. Aus Geschwindigkeitsgründen, würde sich eine USB3-HDD lohnen. Ich gebe aber zu bedenken, das man dann keine HDD mehr anschließen kann (ohne USB-Hub). Das kann schlecht sein, wenn man wie ich an USB3 eine weitere HDD anschließen möchte, zur Datensicherung. Das muss aber für Euch nicht zutreffen. Das schöne am ROCKPro64 ist, das man eine ganze Reihe von Konfigurationen bauen kann. Also, nehmt Euch vorher die Zeit und macht euch ein vernünftiges Konzept.

    Mein aktuelles Konzept

    • System auf eMMC-Modul
    • 2 St. HDD als Raid1 an der SATA-Karte
    • 1 St. USB3 HDD als Backup-Medium

    0_1536253227565_DSC_0048_ergebnis.JPG

    Hier sieht man die Spannungsversorgung der zwei SATA HDDs.

    0_1536253344766_DSC_0049_ergebnis.JPG

    Die zwei SATA-Kabel an der PCIe SATA Karte anschließen.

    0_1536253402000_DSC_0051_ergebnis.JPG

    Den Lüfter sollte man einsetzen, wenn man permanent mit dem ROCKPro64 arbeitet.

    0_1536253471618_DSC_0050_ergebnis.JPG

    Das gesteckte eMMC-Modul. Nun solltet Ihr genug Infos haben um so ein System zusammen zu bauen. Auf den Fotos sieht man noch ein HDMI-Kabel, das wird nicht benötigt. Außerdem ein Netzwerkkabel, ohne kein Internet 🙂 Und oben auf dem Bild kann man noch ein USB-C-Kabel sehen, das habe ich vergessen abzuziehen. Nur damit ihr als Einsteiger nicht durcheinander kommt.

    Im Wiki wird das alles sehr gut erklärt. Schaut es Euch da in Ruhe an.

    Stromverbrauch

    • 8,4 - 9,3 Watt mit 2 Stück 2,5 Zoll HDD (hdparm nicht aktiv)
    • 5,6 Watt mit 2 Stück 2,5 Zoll HDD (hdparm aktiv)
    • 10,2 - 11,2 Watt mit 3 Stück 2,5 Zoll HDD (hdparm nicht aktiv)
    • 6,5 Watt - 7,4 Watt mit 3 Stück 2,5 Zoll HDD (hdparm aktiv)
      *** alles im idle ***

    ... wird fortgesetzt

  • Ist es auch mit einem 4-Port Controller möglich 4 SATA Geräte gleichzeitig laufen zu lassen, oder gibt es da Limitierungen beim RockPro64?

    Ich hätte an so einen Controller gedacht : https://www.amazon.de/gp/product/B07MPG1DKD?pf_rd_p=d12b27d6-0a90-4a73-9da3-4e84e7c49e87&pf_rd_r=F2C7Z1TC8GT0SKV49X2M

  • Hallo smx52,

    würde nichts dagegen sprechen. Den Chipsatz haben wir ja gerade erfolgreich getestet.
    https://forum.frank-mankel.org/topic/299/sata-karte-marvell-88se9230-chipsatz

    Und @flockeee spielt auch gerade mit anderer Firmware herum, worauf ich sehr gespannt bin.

    Einziges Problem, du müsstest dir Gedanken über eine vernünftige Stromversorgung machen.

  • @FrankM sagte in [HOWTO]ROCKPro64 - NAS bauen Teil 1:

    Hallo smx52,

    ...

    Einziges Problem, du müsstest dir Gedanken über eine vernünftige Stromversorgung machen.

    Zur Stromversorgung:
    Ich betreibe 2 HDD (WD Red 2TB) + 2 SSD am 12V Port des RP64.
    Dazu brauch man natürlich ein ordentliches Netzteil (bei mir 12V/7.5A) und Adapter.
    Ich habe den, welcher zum NAS case beigelegt war(ROCKPro64 Power Cable for dual SATA Drives und einen Verteiler in Verwendung (S-ATA Strom-Adapter).

    Ich bin mir nicht sicher welche Leistung der 12V Port des RP64 liefern kann, habe dazu leider keine specs gefunden. Mein Setup sollte maximal 6A unter Last für die Laufwerke ziehen. Für den RP64 sollte man auch nochmal max 2A rechnen. Demzufolge könnte mein NT unter Last hier schon an seine Grenzen gelangen (wird auch "handwarm" unter Last).
    Bei der Benutzung von 4xHDDs braucht man natürlich mehr Leistung (>=120W) und ich weiß wie gesagt auch nicht, wieviel Leistung der 12V Anschluß zu liefern vermag. Das sollte man dabei bedenken.

  • Die Pinne für den Adapter liegen ja nur parallel zum Eingang des Steckers vom Netzteil. Also, solange da nichts abfackelt kann man da eine Menge Strom drüber jagen 🙂

    Wenn es funktioniert ist ja alles gut.

  • 0 Stimmen
    4 Beiträge
    529 Aufrufe
    FrankMF

    Das Setup heute mal getestet um zu sehen, ob das auch so funktioniert.

    LAN an meine Fritzbox (DHCP) an eth1.100 mein Notebook an eth1.200 meine PS4

    Und dann mal gemütlich eine Runde MW gezockt. Läuft alles einwandfrei 🙂

  • ROCKPro64 - i2c Bus

    Hardware
    1
    0 Stimmen
    1 Beiträge
    520 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Das erste Mal

    Angeheftet Verschoben Hardware
    5
    1 Stimmen
    5 Beiträge
    813 Aufrufe
    FrankMF

    Ich kann heute die Fragen aller Fragen beantworten 🙂

    Damit ist leider die Frage immer noch unbeantwortet ob WLan und PCIe zusammen nutzbar ist!! Es geht!!

    Ich habe von MrFixit ein Testimage der RecalBox, benutzt das selbe Debian wie oben. Die Tage konnte man im IRC verfolgen, wie man dem Grundproblem näher kam und wohl einen Fix gebastelt hat, damit beides zusammen funktioniert. Mr.Fixit hat das in RecalBox eingebaut und ich durfte testen.

    # ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1 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: <NO-CARRIER,BROADCAST,MULTICAST,UP8000> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP8000> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff inet 192.168.178.27/24 brd 192.168.178.255 scope global wlan0 valid_lft forever preferred_lft forever inet6 2a02:908:1262:4680:ae83:f3ff:fee6:1fb2/64 scope global dynamic valid_lft 7145sec preferred_lft 3545sec inet6 fe80::ae83:f3ff:fee6:1fb2/64 scope link valid_lft forever preferred_lft forever # ls /mnt bin etc media recalbox sd.img test2.img boot home mnt root selinux tmp crypthome lib opt run srv usr dev lost+found proc sbin sys var # fdisk BusyBox v1.27.2 (2019-02-01 22:43:19 EST) multi-call binary. Usage: fdisk [-ul] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK Change partition table -u Start and End are in sectors (instead of cylinders) -l Show partition table for each DISK, then exit -b 2048 (for certain MO disks) use 2048-byte sectors -C CYLINDERS Set number of cylinders/heads/sectors -H HEADS Typically 255 -S SECTORS Typically 63 # fdisk -l Disk /dev/mmcblk0: 15 GB, 15931539456 bytes, 31116288 sectors 486192 cylinders, 4 heads, 16 sectors/track Units: cylinders of 64 * 512 = 32768 bytes Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type /dev/mmcblk0p1 * 2,10,9 10,50,40 32768 163839 131072 64.0M c Win95 FAT32 (LBA) Partition 1 does not end on cylinder boundary /dev/mmcblk0p2 * 16,81,2 277,102,17 262144 4456447 4194304 2048M 83 Linux Partition 2 does not end on cylinder boundary /dev/mmcblk0p3 277,102,18 1023,254,63 4456448 31115263 26658816 12.7G 83 Linux Partition 3 does not end on cylinder boundary Disk /dev/nvme0n1: 233 GB, 250059350016 bytes, 488397168 sectors 2543735 cylinders, 12 heads, 16 sectors/track Units: cylinders of 192 * 512 = 98304 bytes Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type /dev/nvme0n1p1 1,0,1 907,11,16 2048 488397167 488395120 232G 83 Linux #

    Oben sieht man eine funktionierende WLan-Verbindung, das LAN-Kabel war entfernt. Unten sieht man die PCIe NVMe SSD, gemountet nach /mnt und Inhaltsausgabe.

    Das sollte beweisen, das der Ansatz der Lösung funktioniert. Leider kann ich nicht sagen, das es zum jetzigen Zeitpunkt stabil läuft. Ich habe einfach so Reboots, kann den Fehler aktuell aber nicht fangen. Mal sehen ob ich noch was finde.

    Aber, es ist ein Anfang!

  • ROCKPro64 - RP64.GPIO

    Angeheftet Verschoben Hardware
    6
    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

    Bild Text

    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

  • [HOWTO] SD-Karte beschreiben

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    445 Aufrufe
    Niemand hat geantwortet
  • USB 3.0 - SATA Adapter

    Hardware
    2
    0 Stimmen
    2 Beiträge
    728 Aufrufe
    FrankMF

    Heute das Ganze mal mit einer Samsung 860 Pro mit 256GB. Eingesetztes Filesystem ext4

    rock64@rockpro64v2_1:/mnt$ 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 Speedtest rock64@rockpro64v2_1:/mnt$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 64 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Tue Jul 31 14:27:17 2018 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 17896 23350 30390 31362 21611 14611 102400 16 56756 59180 86296 93819 51778 57327 102400 512 201347 221961 220840 222338 210887 230781 102400 1024 253752 273695 263884 266256 250153 273528 102400 16384 351112 356007 366417 372264 368721 356177 iozone test complete. DD Schreiben rock64@rockpro64v2_1:/mnt$ sudo dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync 4096+0 records in 4096+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 12.8358 s, 335 MB/s Lesen rock64@rockpro64v2_1:/mnt$ sudo dd if=sd.img of=/dev/null bs=1M count=4096 4096+0 records in 4096+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 11.4787 s, 374 MB/s Fazit

    Damit scheint der Adapter ganz gut am USB3.0 zu funktionieren. Die Schreibgeschwindigkeit ist ca. dreimal höher als mit der anderen SSD. 😉

  • 0 Stimmen
    2 Beiträge
    752 Aufrufe
    FrankMF

    Offizielle Bestätigung -> http://files.pine64.org

  • Mainline Commits

    ROCKPro64
    2
    0 Stimmen
    2 Beiträge
    666 Aufrufe
    FrankMF

    Mal diesen alten Thread wieder ausgraben.

    Qualcomm Snapdragon 835 SoC support along with the HiSilicon Hi3670, many NVIDIA Tegra improvements, GTA04A5 phone support, and more. There is also now mainline ARM SBC support for the Orange Pi Zero Plus2, Orange Pi One Plus, Pine64 LTS, Banana Pi M2+ H5, 64-bit Banana Pi M2+ H3, ASUS Tinker Board S, RockPro64, Rock960, and ROC-RK-3399-PC.
    Quelle: https://www.phoronix.com/scan.php?page=article&item=linux-420-features&num=1

    Im Pine64 Forum gefunden.