Skip to content

SATA - Booten jetzt möglich

ROCKPro64
  • Wie ich gestern schon schrieb, hat Sigmaris seinen u-boot aktualisiert.
    https://forum.frank-mankel.org/topic/746/u-boot

    Das möchte ich dann heute Morgen beim Kaffee mal testen 🙂 Auf geht's. Das Image auf die SD-Karte und ab in den ROCKPro64 damit.

    Bitte beachtet die Anleitung!

    Die Ausgabe

    U-Boot 2020.01-rc5-01969-g0bfd4738c6 (Jan 03 2020 - 15:46:36 +0000)
    
    Model: Pine64 RockPro64
    DRAM:  2 GiB
    PMIC:  RK808 
    MMC:   dwmmc@fe320000: 1, sdhci@fe330000: 0
    Loading Environment from SPI Flash... SF: Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
    *** Warning - bad CRC, using default environment
    
    In:    serial@ff1a0000
    Out:   serial@ff1a0000
    Err:   serial@ff1a0000
    Model: Pine64 RockPro64
    rockchip_dnl_key_pressed: adc_channel_single_shot fail!
    Net:   eth0: ethernet@fe300000
    Hit any key to stop autoboot:  0 
    Card did not respond to voltage select!
    switch to partitions #0, OK
    mmc1 is current device
    Scanning mmc 1:3...
    Found U-Boot script /boot.scr
    967 bytes read in 5 ms (188.5 KiB/s)
    ## Executing script at 00500000
    SF: Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
    1363484 bytes read in 63 ms (20.6 MiB/s)
    device 0 offset 0x0, size 0x14ce1c
    1220124 bytes written, 143360 bytes skipped in 14.674s, speed 95148 B/s
    Wrote U-Boot to SPI Flash successfully.
    
    U-Boot TPL 2020.01-01987-g335875f1f5 (Feb 01 2020 - 15:02:32)
    Channel 0: LPDDR4, 50MHz
    BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
    Channel 1: LPDDR4, 50MHz
    BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
    256B stride
    256B stride
    lpddr4_set_rate: change freq to 400000000 mhz 0, 1
    lpddr4_set_rate: change freq to 800000000 mhz 1, 0
    Trying to boot from BOOTROM
    Returning to boot ROM...
    
    U-Boot SPL 2020.01-01987-g335875f1f5 (Feb 01 2020 - 15:02:32 +0000)
    Trying to boot from SPI
    NOTICE:  BL31: v2.2(release):v2.2-271-g9a943ba43
    NOTICE:  BL31: Built : 15:00:49, Feb  1 2020
    
    
    U-Boot 2020.01-01987-g335875f1f5 (Feb 01 2020 - 15:02:32 +0000)
    
    Model: Pine64 RockPro64
    DRAM:  2 GiB
    PMIC:  RK808 
    MMC:   dwmmc@fe320000: 1, sdhci@fe330000: 0
    Loading Environment from SPI Flash... SF: Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
    *** Warning - bad CRC, using default environment
    
    In:    serial@ff1a0000
    Out:   serial@ff1a0000
    Err:   serial@ff1a0000
    Model: Pine64 RockPro64
    Net:   eth0: ethernet@fe300000
    Hit any key to stop autoboot:  0 
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    PCIE-0: Link down
    

    Hier der Schreibvorgang

    Found U-Boot script /boot.scr
    967 bytes read in 5 ms (188.5 KiB/s)
    ## Executing script at 00500000
    SF: Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
    1363484 bytes read in 63 ms (20.6 MiB/s)
    device 0 offset 0x0, size 0x14ce1c
    1220124 bytes written, 143360 bytes skipped in 14.674s, speed 95148 B/s
    Wrote U-Boot to SPI Flash successfully.
    

    Gut, dann jetzt zum SATA-Test.

    SATA-Test

    Hardware

    • Pine64 Adapter
    • SanDisk Ultra SSD 3D 1TB

    Stromversorgung erfolgt über ein PC-Netzteil.

    Software

    Ein jungfräuliches Armbian. Dann starten wir mal, hier die Ausgabe.

    Willkommen zu minicom 2.7.1
    
    Optionen: I18n 
    Übersetzt am May  6 2018, 08:02:47.
    Port /dev/ttyUSB0
    
    Drücken Sie CTRL-A  Z für Hilfe zu speziellen Tasten
    
    U-Boot TPL 2020.01-01987-g335875f1f5 (Feb 01 2020 - 15:02:32)
    Channel 0: LPDDR4, 50MHz
    BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
    Channel 1: LPDDR4, 50MHz
    BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
    256B stride
    256B stride
    lpddr4_set_rate: change freq to 400000000 mhz 0, 1
    lpddr4_set_rate: change freq to 800000000 mhz 1, 0
    Trying to boot from BOOTROM
    Returning to boot ROM...
    
    U-Boot SPL 2020.01-01987-g335875f1f5 (Feb 01 2020 - 15:02:32 +0000)
    Trying to boot from SPI
    NOTICE:  BL31: v2.2(release):v2.2-271-g9a943ba43                                
    NOTICE:  BL31: Built : 15:00:49, Feb  1 2020                                    
                                                                                    
                                                                                    
    U-Boot 2020.01-01987-g335875f1f5 (Feb 01 2020 - 15:02:32 +0000)                 
                                                                                    
    Model: Pine64 RockPro64                                                         
    DRAM:  2 GiB                                                                    
    PMIC:  RK808                                                                    
    MMC:   dwmmc@fe320000: 1, sdhci@fe330000: 0                                     
    Loading Environment from SPI Flash... SF: Detected gd25q128 with page size 256 B
    *** Warning - bad CRC, using default environment                                
                                                                                    
    In:    serial@ff1a0000                                                          
    Out:   serial@ff1a0000                                                          
    Err:   serial@ff1a0000                                                          
    Model: Pine64 RockPro64                                                         
    Net:   eth0: ethernet@fe300000                                                  
    Hit any key to stop autoboot:  0                                                
    Card did not respond to voltage select!                                         
    Card did not respond to voltage select!                                         
    PCIE-0: Link up (Bus0)                                                          
                                                                                    
    Device 0: unknown device                                                        
    scanning bus for devices...                                                     
    SATA link 0 timeout.                                                            
    Target spinup took 0 ms.                                                        
    AHCI 0001.0200 32 slots 2 ports 6 Gbps 0x3 impl SATA mode                       
    flags: 64bit ncq stag led clo pmp pio slum part ccc sxs                         
      Device 0: (1:0) Vendor: ATA Prod.: SanDisk SDSSDH3 Rev: 4011                  
                Type: Hard Disk                                                     
                Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512)                 
                                                                                    
    Device 0: (1:0) Vendor: ATA Prod.: SanDisk SDSSDH3 Rev: 4011                    
                Type: Hard Disk                                                     
                Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512)                 
    ... is now current device                                                       
    Scanning scsi 0:1...                                                            
    Found U-Boot script /boot/boot.scr                                              
    2940 bytes read in 10 ms (287.1 KiB/s)                                          
    ## Executing script at 00500000                                                 
    Boot script loaded from scsi 0                                                  
    151 bytes read in 9 ms (15.6 KiB/s)                                             
    6928122 bytes read in 120 ms (55.1 MiB/s)                                       
    20987912 bytes read in 345 ms (58 MiB/s)                                        
    96273 bytes read in 19 ms (4.8 MiB/s)                                           
    ## Loading init Ramdisk from Legacy Image at 06000000 ...                       
       Image Name:   uInitrd                                                        
       Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)                  
       Data Size:    6928058 Bytes = 6.6 MiB                                        
       Load Address: 00000000                                                       
       Entry Point:  00000000                                                       
       Verifying Checksum ... OK                                                    
    ## Flattened Device Tree blob at 01f00000                                       
       Booting using the fdt blob at 0x1f00000                                      
       Loading Ramdisk to 7d861000, end 7defc6ba ... OK                             
    ERROR: reserving fdt memory region failed (addr=0 size=0)                       
       Loading Device Tree to 000000007d7e1000, end 000000007d860fff ... OK         
                                                                                    
    Starting kernel ...                                                             
                                                                                    
                                                                                    
    Armbian 19.11.7 Buster ttyS2                                                    
                                                                                    
    rockpro64 login: 
    

    Der interessante Teil

    SATA link 0 timeout.                                                            
    Target spinup took 0 ms.                                                        
    AHCI 0001.0200 32 slots 2 ports 6 Gbps 0x3 impl SATA mode                       
    flags: 64bit ncq stag led clo pmp pio slum part ccc sxs                         
      Device 0: (1:0) Vendor: ATA Prod.: SanDisk SDSSDH3 Rev: 4011                  
                Type: Hard Disk                                                     
                Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512)                 
                                                                                    
    Device 0: (1:0) Vendor: ATA Prod.: SanDisk SDSSDH3 Rev: 4011                    
                Type: Hard Disk                                                     
                Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512)                 
    ... is now current device    
    

    Die SSD wird am SATA-Adapter erkannt und von dort gebootet. Yeah!

    root@rockpro64:~# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            960M     0  960M   0% /dev
    tmpfs           193M  7.8M  185M   5% /run
    /dev/sda1       909G  5.2G  894G   1% /
    tmpfs           963M     0  963M   0% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           963M     0  963M   0% /sys/fs/cgroup
    tmpfs           963M  4.0K  963M   1% /tmp
    /dev/zram0       49M  1.3M   44M   3% /var/log
    tmpfs           193M     0  193M   0% /run/user/0
    

    Das Armbian dauert beim ersten Start etwas, das Filesystem wird expandiert. Danach kommt das hier

         ____            _    ____               __   _  _   
        |  _ \ ___   ___| | _|  _ \ _ __ ___    / /_ | || |  
        | |_) / _ \ / __| |/ / |_) | '__/ _ \  | '_ \| || |_ 
        |  _ < (_) | (__|   <|  __/| | | (_) | | (_) |__   _|
        |_| \_\___/ \___|_|\_\_|   |_|  \___/   \___/   |_|  
                                                             
        Welcome to Armbian buster with Linux 4.4.208-rockchip64
        
        System load:   0.06 0.34 0.19  	Up time:       5 min		
        Memory usage:  5 % of 1925MB 	IP:            192.168.3.14
        CPU temp:      41°C           	
        Usage of /:    1% of 909G   	
        
        Last login: Sun Feb  2 07:37:05 2020 from 192.168.3.213
    

    Funktioniert 🙂

    Schnell noch ein Speedtest

    root@rockpro64:~# 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: Sun Feb  2 07:38:17 2020
    
    	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    37751    45682    53103    54242    29458    45794                                                          
              102400      16    91193   101342   110226   113039    65179   100783                                                          
              102400     512   160846   172882   174878   173878   156964   173685                                                          
              102400    1024   173077   174518   169235   175272   167570   175185                                                          
              102400   16384   185940   187884   196006   195967   195369   188492                                                          
    
    iozone test complete.
    root@rockpro64:~# 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, 23.2034 s, 185 MB/s
    

    Nicht optimal mit dieser SSD, aber das dürfte so in etwa das Maximum sein, was man mit dem Adapter erreichen kann.

    Noch schnell getestet, was geht.

    • SATA - Ja
    • PCIe NVMe - Ja
    • USB3 - Nein
    • USB2 - Ja
    • SD - Ja
    • eMMC - ???

    eMMC zwar getestet, aber ich bin mir nicht sicher ob meine Karte noch lebt.

    Fazit

    Schöner u-boot wenn man von PCIe NVMe oder SATA booten möchte. Jetzt noch funktionierendes USB3 und der u-boot ist fertug 🙂 Danke @ sigmaris!!

  • Images 0.11.x

    Images
    5
    0 Stimmen
    5 Beiträge
    364 Aufrufe
    FrankMF

    0.11.2: gitlab-ci-linux-build-187 released

    0.11.2: Update OMV install (to also be able to run OMV6)
  • ROCKPro64 - PCIe SATA-Karte mit JMicron JMS585- Chip

    Angeheftet Hardware
    13
    1 Stimmen
    13 Beiträge
    2k Aufrufe
    FrankMF

    Ich möchte das dann hier zum Abschluss bringen, das NAS ist heute zusammengebaut worden. Hier zwei Fotos.

    IMG_20200425_102156_ergebnis.jpg

    IMG_20200425_102206_ergebnis.jpg

  • ROCKPro64 Übersicht - was geht?

    ROCKPro64
    4
    0 Stimmen
    4 Beiträge
    597 Aufrufe
    FrankMF
    WIFI

    Seit dem Release des Images 0.7.13 ist WiFi auch möglich. Weiterhin ungelöst ist das Problem PCIe & WiFi (also bei mir).

  • ROCKPro64 - Armbian - Go & Restic installieren!

    Verschoben Armbian
    2
    0 Stimmen
    2 Beiträge
    606 Aufrufe
    FrankMF

    Der frühe Vogel.... 🙂

    IMG_20181226_072626_ergebnis.jpg

    Das oben geschriebene eben nochmal durchgeführt, funktioniert einwandfrei. Jetzt kann ich die USB3-Platte umbauen und den Job verlagern. Dann habe ich einen ROCKPro64 wieder frei zum Testen 😉

  • Kamil hat mal wieder Zeit?

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    457 Aufrufe
    Niemand hat geantwortet
  • zram - Was das??

    ROCKPro64
    3
    0 Stimmen
    3 Beiträge
    926 Aufrufe
    FrankMF

    @tkaiser ; Ich hab dich vermisst 😂

    Danke für die Info, ich bin vor dem ROCKPro64 da noch nie so richtig drüber gestolpert. Aber wenn ich dann was finde, schau auch immer wofür es denn bitte ist.

    Danke für Deine Hinweise.

  • stretch-minimal-rockpro64

    Verschoben Linux
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF

    Mal ein Test was der Speicher so kann.

    rock64@rockpro64:~/tinymembench$ ./tinymembench tinymembench v0.4.9 (simple benchmark for memory throughput and latency) ========================================================================== == Memory bandwidth tests == == == == Note 1: 1MB = 1000000 bytes == == Note 2: Results for 'copy' tests show how many bytes can be == == copied per second (adding together read and writen == == bytes would have provided twice higher numbers) == == Note 3: 2-pass copy means that we are using a small temporary buffer == == to first fetch data into it, and only then write it to the == == destination (source -> L1 cache, L1 cache -> destination) == == Note 4: If sample standard deviation exceeds 0.1%, it is shown in == == brackets == ========================================================================== C copy backwards : 2812.7 MB/s C copy backwards (32 byte blocks) : 2811.9 MB/s C copy backwards (64 byte blocks) : 2632.8 MB/s C copy : 2667.2 MB/s C copy prefetched (32 bytes step) : 2633.5 MB/s C copy prefetched (64 bytes step) : 2640.8 MB/s C 2-pass copy : 2509.8 MB/s C 2-pass copy prefetched (32 bytes step) : 2431.6 MB/s C 2-pass copy prefetched (64 bytes step) : 2424.1 MB/s C fill : 4887.7 MB/s (0.5%) C fill (shuffle within 16 byte blocks) : 4883.0 MB/s C fill (shuffle within 32 byte blocks) : 4889.3 MB/s C fill (shuffle within 64 byte blocks) : 4889.2 MB/s --- standard memcpy : 2807.3 MB/s standard memset : 4890.4 MB/s (0.3%) --- NEON LDP/STP copy : 2803.7 MB/s NEON LDP/STP copy pldl2strm (32 bytes step) : 2802.1 MB/s NEON LDP/STP copy pldl2strm (64 bytes step) : 2800.7 MB/s NEON LDP/STP copy pldl1keep (32 bytes step) : 2745.5 MB/s NEON LDP/STP copy pldl1keep (64 bytes step) : 2745.8 MB/s NEON LD1/ST1 copy : 2801.9 MB/s NEON STP fill : 4888.9 MB/s (0.3%) NEON STNP fill : 4850.1 MB/s ARM LDP/STP copy : 2803.8 MB/s ARM STP fill : 4893.0 MB/s (0.5%) ARM STNP fill : 4851.7 MB/s ========================================================================== == Framebuffer read tests. == == == == Many ARM devices use a part of the system memory as the framebuffer, == == typically mapped as uncached but with write-combining enabled. == == Writes to such framebuffers are quite fast, but reads are much == == slower and very sensitive to the alignment and the selection of == == CPU instructions which are used for accessing memory. == == == == Many x86 systems allocate the framebuffer in the GPU memory, == == accessible for the CPU via a relatively slow PCI-E bus. Moreover, == == PCI-E is asymmetric and handles reads a lot worse than writes. == == == == If uncached framebuffer reads are reasonably fast (at least 100 MB/s == == or preferably >300 MB/s), then using the shadow framebuffer layer == == is not necessary in Xorg DDX drivers, resulting in a nice overall == == performance improvement. For example, the xf86-video-fbturbo DDX == == uses this trick. == ========================================================================== NEON LDP/STP copy (from framebuffer) : 602.5 MB/s NEON LDP/STP 2-pass copy (from framebuffer) : 551.6 MB/s NEON LD1/ST1 copy (from framebuffer) : 667.1 MB/s NEON LD1/ST1 2-pass copy (from framebuffer) : 605.6 MB/s ARM LDP/STP copy (from framebuffer) : 445.3 MB/s ARM LDP/STP 2-pass copy (from framebuffer) : 428.8 MB/s ========================================================================== == Memory latency test == == == == Average time is measured for random memory accesses in the buffers == == of different sizes. The larger is the buffer, the more significant == == are relative contributions of TLB, L1/L2 cache misses and SDRAM == == accesses. For extremely large buffer sizes we are expecting to see == == page table walk with several requests to SDRAM for almost every == == memory access (though 64MiB is not nearly large enough to experience == == this effect to its fullest). == == == == Note 1: All the numbers are representing extra time, which needs to == == be added to L1 cache latency. The cycle timings for L1 cache == == latency can be usually found in the processor documentation. == == Note 2: Dual random read means that we are simultaneously performing == == two independent memory accesses at a time. In the case if == == the memory subsystem can't handle multiple outstanding == == requests, dual random read has the same timings as two == == single reads performed one after another. == ========================================================================== block size : single random read / dual random read 1024 : 0.0 ns / 0.0 ns 2048 : 0.0 ns / 0.0 ns 4096 : 0.0 ns / 0.0 ns 8192 : 0.0 ns / 0.0 ns 16384 : 0.0 ns / 0.0 ns 32768 : 0.0 ns / 0.0 ns 65536 : 4.5 ns / 7.2 ns 131072 : 6.8 ns / 9.7 ns 262144 : 9.8 ns / 12.8 ns 524288 : 11.4 ns / 14.7 ns 1048576 : 16.0 ns / 22.6 ns 2097152 : 114.0 ns / 175.3 ns 4194304 : 161.7 ns / 219.9 ns 8388608 : 190.7 ns / 241.5 ns 16777216 : 205.3 ns / 250.5 ns 33554432 : 212.9 ns / 255.5 ns 67108864 : 222.3 ns / 271.1 ns
  • ROCKPro64 - PCIe x4

    Verschoben Hardware
    13
    0 Stimmen
    13 Beiträge
    5k Aufrufe
    FrankMF

    @Northstar Hallo, laut meinen Info's nicht, hat irgendwas mit der Speicheradressierung zu tuen. Und Grafikkarten benötigen wohl zu viel. Das ist das, was ich bei den vielen Diskussionen im IRC so aufgeschnappt habe.

    Ich habe es auch schon mal genauso probiert - natürlich ohne Erfolg.