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

  • ROCKPro64 - Samsung Portable SSD T5 500GB

    Hardware
    1
    0 Stimmen
    1 Beiträge
    291 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Secondary IP entfernen

    ROCKPro64
    5
    0 Stimmen
    5 Beiträge
    654 Aufrufe
    FrankMF
    Hallo @mabs, es ging bei meinem Post gar nicht um den dhcpd, also den Daemon der die Adressen verteilt. Hintergrund, ich versuche gerade mal wieder einen Router auf Basis eines ROCKPro64 zu bauen. Dabei bin ich in Kamils Debian Minimal über die zweite IP-Adresse gestolpert. Danke aber für deine Anregungen. Es gibt da aber wohl mit dem Debian Minimal irgendwelche Probleme mit dem Forwarding, so das ich das jetzt auf einem Bionic mache, dort klappt das einwandfrei. Aber dazu später ausführlich in einem anderen Thread.
  • ROCKPro64 - Booten von USB3

    ROCKPro64
    3
    0 Stimmen
    3 Beiträge
    399 Aufrufe
    FrankMF
    Yeah, genau das worauf ich auch warte. Wenn ich das richtig mitbekommen habe, könnte das Kamil's nächster Punkt auf seiner Liste sein.
  • PCI-e X4 to M.2/NGFF NVMe SSD Interface Card

    Hardware
    1
    0 Stimmen
    1 Beiträge
    661 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Der Bootvorgang

    Verschoben Hardware
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF
    Um einen neuen Kernel booten zu können, brauche ich diese 4 Dateien unter /boot config-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 System.map-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 Und den Ordner /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 mit folgendem Inhalt rock64@rockpro64v2_0:/boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06$ ls -la total 104 drwxr-xr-x 26 root root 4096 Sep 30 09:54 . drwxr-xr-x 6 root root 4096 Sep 30 09:55 .. drwxr-xr-x 2 root root 4096 Sep 30 09:54 al drwxr-xr-x 2 root root 4096 Sep 30 09:54 allwinner drwxr-xr-x 2 root root 4096 Sep 30 09:54 altera drwxr-xr-x 2 root root 4096 Sep 30 09:54 amd drwxr-xr-x 2 root root 4096 Sep 30 09:54 amlogic drwxr-xr-x 2 root root 4096 Sep 30 09:54 apm drwxr-xr-x 2 root root 4096 Sep 30 09:54 arm drwxr-xr-x 4 root root 4096 Sep 30 09:54 broadcom drwxr-xr-x 2 root root 4096 Sep 30 09:54 cavium drwxr-xr-x 2 root root 4096 Sep 30 09:54 exynos drwxr-xr-x 2 root root 4096 Sep 30 09:54 freescale drwxr-xr-x 2 root root 4096 Sep 30 09:54 hisilicon drwxr-xr-x 2 root root 4096 Sep 30 09:54 lg drwxr-xr-x 2 root root 4096 Sep 30 09:54 marvell drwxr-xr-x 2 root root 4096 Sep 30 09:54 mediatek drwxr-xr-x 2 root root 4096 Sep 30 09:54 nvidia drwxr-xr-x 2 root root 4096 Sep 30 09:54 qcom drwxr-xr-x 2 root root 4096 Sep 30 09:54 renesas drwxr-xr-x 2 root root 4096 Sep 30 09:54 rockchip drwxr-xr-x 2 root root 4096 Sep 30 09:54 socionext drwxr-xr-x 2 root root 4096 Sep 30 09:54 sprd drwxr-xr-x 2 root root 4096 Sep 30 09:54 synaptics drwxr-xr-x 2 root root 4096 Sep 30 09:54 xilinx drwxr-xr-x 2 root root 4096 Sep 30 09:54 zte Unter /boot/extlinux liegt dann die Datei extlinux.conf Die sieht bei mir dann so aus timeout 10 menu title select kernel label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4 label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06-memtest kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4 memtest Darunter kommen dann evt. die alten Kernel die installiert waren, das habe ich hier im Beispiel weg gelassen.
  • Zwischenfazit Juni 2018

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    691 Aufrufe
    Niemand hat geantwortet
  • Paar Info's vom Chef

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    630 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Platinenerkundung

    ROCKPro64
    1
    +11
    0 Stimmen
    1 Beiträge
    610 Aufrufe
    Niemand hat geantwortet