Skip to content

SPI funktioniert

ROCKPro64
4 1 957
  • Kamil hat dann mal erste Erfolge mit dem SPI flashen ✌

    Fangen wir nochmal kurz von vorne an, für die unter Euch, die nur Bahnhof verstehen 😉

    Der ROCKPro64 besitzt folgenden Speicher

    • 128Mb SPI boot Flash

    SPI müsste dabei die Kommunikation bezeichnen. Serial Peripheral interface

    Fassen wir zusammen, auf dem Board sind 128MB Speicher, die man beschreiben kann. Dort hin kopiert man den u-boot um dann von angeschlossenen USB-Geräten zu booten. Im Moment wären theoretisch

    • USB2
    • USB3

    möglich. Dazu hat Kamil zwei Images erstellt.

    • u-boot-erase-spi-rockpro64.img.xz
    • u-boot-flash-spi-rockpro64.img.xz

    Download

    Also, ein Image zum flashen des Speichers und ein Image um den Speicher wieder zu löschen. Ansonsten hat man nämlich ein Problem von eMMC oder SD-Karte zu booten.

    Das Flash-Image auf eine SD-Karte bügeln, diese in den ROCKPro64 und damit starten. Wenn die weiße Power LED anfängt zu blinken, ist der Schreibvorgang beendet.

    Hier ein Log des erfolgreichen Vorganges https://pastebin.com/vxTazYsx

    Den ROCKPro64 ausmachen, die SD-Karte entnehmen. Ein Boot fähiges USB-Laufwerk erstellen. Also das 0.7.9 Image z.B. auf die USB-Platte schreiben. Das USB-Laufwerk anschließen und den ROCKPro64 einschalten.

    Der u-boot im SPI wird geladen und sucht nach einem bootfähigen Gerät, wenn er eines findet, wird das System geladen.

    Erfolgreich habe ich das mit einer SSD, dem USB3-to-SATA Adapter von Pine64 getestet. Leider geht das im Moment nur am USB2, zu mindestens bei mir. Hab mal Kamil Bescheid gesagt 😉

  • Update 9.8.2018

    Ich kann aktuell den SPI nicht mehr löschen. Das Erase-Image macht hier nichts. Ihr solltet dringend davon absehen, das im Moment auszuprobieren!!

    Laut Kamil kann man den SPI noch auf andere Weise abschalten. Dazu brückt man die Pins 23(CLK) und 25(GND) auf dem Pi-2 Connector. https://forum.frank-mankel.org/topic/28/rockpro64-übersicht/4

    Ausprobiert, funktioniert.

    Sorry, ich hatte eine defekte SD-Karte erwischt! Das Erase-Image geht einwandfrei!

  • Das Booten vom USB3 Port funktioniert, wenn man einen aktiven USB3 Hub dazwischen hängt. Vermutlich ein Timing Problem (Spekulation).

    Eingesetzte Hardware

    • USB3-to-SATA Adapter von pine64
    • Samsung 860 PRO 256GB
    • deleyCON 4port USB3 Hub (nix besonderes)

  • Wie ich jetzt mehrmals festgestellt habe, ist das System von der USB3 Platte instabil.

     [111985.654653] EXT4-fs error (d4: inode #16354: comm systemd: r[111985.837719] EXT4-fs error 
    

    Das killt dann das komplette System.

    Ob das an meiner Hardware liegt, weiß ich nicht. Also, wer da draußen so ein System einsetzen will, Vorsicht! Die USB3-Schnittstelle scheint noch einige Bugs zu haben!!

    Mein NVMe System dagegen ist absolut stabil!

  • ROCKPro64 - Debian 11 installieren

    ROCKPro64 bullseye debian rockpro64
    1
    0 Stimmen
    1 Beiträge
    495 Aufrufe
    Niemand hat geantwortet
  • Mainline 5.13.x

    Images linux rockpro64
    1
    0 Stimmen
    1 Beiträge
    228 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Debian 10.1

    ROCKPro64 rockpro64
    1
    0 Stimmen
    1 Beiträge
    430 Aufrufe
    Niemand hat geantwortet
  • Booten von USB3

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

    Hardware hardware rockpro64
    2
    3
    0 Stimmen
    2 Beiträge
    819 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.
  • Recover Button

    Hardware hardware rockpro64
    2
    2
    0 Stimmen
    2 Beiträge
    894 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)
  • Erste Lebenszeichen

    ROCKPro64 rockpro64
    1
    2
    0 Stimmen
    1 Beiträge
    533 Aufrufe
    Niemand hat geantwortet
  • Wiki zum ROCKPro64 veröffentlicht!

    Verschoben ROCKPro64 rockpro64
    1
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet