Skip to content

Recover Button

Hardware
  • In der Version v2.0 fehlte dieser Button noch, er war einfach nicht bestückt.

    0_1532793266131_DSC_0040_ergebnis.JPG

    Wenn jemand den vermisst, zur Not kann man da was dran löten. Sollte machbar sein.

    v2.1

    0_1532793316445_DSC_0039_ergebnis.JPG

    Die Frage, was macht das Ding? Gehen wir mal auf die Suche.....

    Kamil hat auf seiner Release Seite einen Link zu u-boot recovery selection

    Kamil erklärt das so

    ayufan: introduce recovery button mode selection

    Press and hold recovery button to choose suitable boot mode.
    When given mode is selected release the button.
    Each mode exposes device over USB-OTG and can be connected via USB A-to-A cable

    1 blink: share eMMC or SD as virtual disk
    2 blinks: enter fastboot (Android's)
    3 blinks: enter RockUSB download mode
    4 blinks: enter MaskROM download mode

    Ob das so funktioniert kann ich nicht sagen, da ich nicht 100% weiß wofür das ist.

    Spekulation

    An die USB-C Buchse kann man ein USB A-to-A Kabel anschliessen, damit kann man dann mit verschiedenen Programmen auf das Board zugreifen.

    Für Entwickler vermutlich total wichtig, denke ich das es für den durchschnittlichen Anwender unwichtig ist.

  • 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)
    
  • FrankMF FrankM hat am auf dieses Thema verwiesen

  • 0 Stimmen
    17 Beiträge
    1k 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.

  • 0 Stimmen
    4 Beiträge
    533 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 🙂

  • VON USB 4TB HD BOOTEN GEHT NICHT

    ROCKPro64
    5
    0 Stimmen
    5 Beiträge
    564 Aufrufe
    W

    Hallo FrankM,
    schade das Du mir nicht weiter helfen kannst, aber danke für Deine schnelle Antwort.
    Mit dem Bugreport kenne ich nicht aus, bin noch leihe.

    Einen schönen Abend noch.

    Winne

  • Mainline Kernel 4.20.x

    Verschoben Images
    26
    0 Stimmen
    26 Beiträge
    4k Aufrufe
    FrankMF

    4.20.0-1090-ayufan released

    Änderungen -> https://gitlab.com/ayufan-repos/rock64/linux-mainline-kernel/commits/master

  • Image 0.6.57 - NVMe paar Notizen

    Verschoben Archiv
    1
    0 Stimmen
    1 Beiträge
    642 Aufrufe
    Niemand hat geantwortet
  • 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.

  • Erste Lebenszeichen

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    494 Aufrufe
    Niemand hat geantwortet
  • Vorserienmodell

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    529 Aufrufe
    Niemand hat geantwortet