Skip to content

USB 3.1 Stick Corsair Voyager GTX

Hardware
  • Ich habe mir mal o.g. USB 3.1 Stick mit 128GB besorgt. Produktlink

    Ein Laufwerk mit integriertem SSD-Controller und einem NAND-Speicher in SSD-Qualität.

    Das sollte jetzt endlich mal für ordentliche Transferraten am USB 3.0 Bus des ROCKPro64 sorgen.

    Achtung! Das Problem, wenn man den u-boot in den SPI-Flash geschrieben hat, das nicht von allen Laufwerken gebootet (USB3) besteht immer noch. Auch dieser Stick ließ sich nur mit einem aktiven Hub zum Laufen bekommen !!

    An meinem aktiven Hub, gibt es Steckplätze, da ist der Stick sofort aktiv (blaue LED) an. Wenn man dann den ROCKPro64 bootet, wird er sofort erkannt. Wenn der Stick in der USB3-Buchse des ROCKPro64 steckt, wird er für mich, zu spät initialisiert. Bis der betriebsbereit ist, hat der u-boot schon alles gescannt und nix gefunden. Sieht also primär, nach einem Timingproblem aus.

    Ok, also auf den Stick ein Image gebügelt.

    rock64@rockpro64:~$ uname -a
    Linux rockpro64 4.4.132-1075-rockchip-ayufan-ga83beded8524 #1 SMP Thu Jul 26 08:22:22 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    dmesg

    rock64@rockpro64:~$ dmesg | grep -E "usb 4.1.1"
    [    3.495435] usb 4-1.1: new SuperSpeed USB device number 3 using xhci-hcd
    [    3.519860] usb 4-1.1: New USB device found, idVendor=1b1c, idProduct=1a0e
    [    3.532552] usb 4-1.1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
    [    3.545381] usb 4-1.1: Product: Voyager GTX
    [    3.557813] usb 4-1.1: Manufacturer: Corsair
    [    3.567008] usb 4-1.1: SerialNumber: 511180710xxxxxxxxxxxx
    

    Speedtest 4.4.132-1075

    iozone

    rock64@rockpro64:~$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 
    [sudo] password for rock64: 
    	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 Sep 18 12:18: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    15596    15146    19887    20901    16211    18342                                                          
              102400      16    46891    51077    56324    66889    45947    50946                                                          
              102400     512   213597   210423   216991   217563   192000   241137                                                          
              102400    1024   263867   289778   253415   254285   221907   250628                                                          
              102400   16384   374339   386120   341601   349859   335017   381813                                                          
    
    iozone test complete.
    

    dd

     rock64@rockpro64:~$ 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.7775 s, 336 MB/s
    

    Speedtest 4.4.138-1094

    iozone

    rock64@rockpro64:~$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 
    [sudo] password for rock64: 
    	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 Sep 18 12:44:44 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    13943    14367    25576    26474    13929    15104                                                          
              102400      16    39658    68067    75224    75338    56681    65880                                                          
              102400     512   237781   222640   223886   225086   196655   249815                                                          
              102400    1024   279730   300219   263082   265369   227415   258090                                                          
              102400   16384   398487   394323   343181   351404   331389   399738                                                          
    
    iozone test complete.
    

    dd

    rock64@rockpro64:~$ 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.6163 s, 340 MB/s
    

    Speedtest 4.18.x

    Mit 4.18 bootete das System nicht mehr. Siehe log

    [    3.847940] usb 8-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd 
    [    3.895147] hub 8-1:1.0: USB hub found                                       
    [    3.895345] hub 8-1:1.0: 4 ports detected                                    
    [    3.911572] Console: switching to colour frame buffer device 240x67          
    [    3.944993] rockchip-drm display-subsystem: fb0:  frame buffer device        
    [    3.960062] [drm] Initialized rockchip 1.0.0 20140818 for display-subsystem 0
    Begin: Loading essential drivers ... done.                                      
    Begin: Running /scripts/init-premount ... done.                                 
    Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
    Begin: Running /scripts/local-premount ... done.                                
    [    4.771874] usb 8-1.1: new SuperSpeed Gen 1 USB device number 3 using xhci-hd
    [    4.812501] scsi host0: uas                                                  
    [    4.813366] scsi 0:0:0:0: Direct-Access     Corsair  Voyager GTX      0    P6
    [    4.815496] sd 0:0:0:0: [sda] 250069680 512-byte logical blocks: (128 GB/119)
    [    4.816013] usbcore: registered new interface driver uas                     
    Begin: Waiting for root file system ... Begin: Running /scripts/local-block ....
    done.                                                                           
    [   35.847771] sd 0:0:0:0: tag#0 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD 
    [   35.848629] sd 0:0:0:0: tag#0 CDB: opcode=0x1a 1a 00 3f 00 04 00             
    [   35.879754] scsi host0: uas_eh_device_reset_handler start                    
    [   35.880374] xhci-hcd xhci-hcd.1.auto: ERROR Transfer event for unknown strea6
    [   35.881295] xhci-hcd xhci-hcd.1.auto: @00000000f7116cc0 00000000 00000000 1b1
    [   35.960011] usb 8-1.1: reset SuperSpeed Gen 1 USB device number 3 using xhcid
    [   35.981852] scsi host0: uas_eh_device_reset_handler success                  
    [   35.991856] sd 0:0:0:0: [sda] Write Protect is off                           
    [   35.992596] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doeA
    [   35.993685] xhci-hcd xhci-hcd.1.auto: ERROR Transfer event for unknown strea2
    [   35.994604] xhci-hcd xhci-hcd.1.auto: @00000000f7116000 00000000 00000000 1b0
    [   36.000045]  sda: sda1 sda2 sda3 sda4 sda5 sda6 sda7                         
    [   36.003398] sd 0:0:0:0: [sda] Attached SCSI disk                             
    Gave up waiting for root file system device.  Common problems:                  
     - Boot args (cat /proc/cmdline)                                                
       - Check rootdelay= (did the system wait long enough?)                        
     - Missing modules (cat /proc/modules; ls /dev)                                 
    ALERT!  LABEL=linux-root does not exist.  Dropping to a shell!                  
    Rebooting automatically due to panic= boot argument     
    

    Fazit

    Gut, das sieht schon mal recht viel versprechend aus. Das kann man dann gut als Systemplatte für den ROCKPro64 benutzen. Im Moment leider nur für 4.4.x

    Update

    Der Stick stürzt ab und es kommt zu massenweisen Einträgen ala "Failed to write entry......" Ok, USB3 bleibt eine große Baustelle.

  • Mir ist da heute noch eine Idee gekommen und ich habe mal ein existierendes 4.18.x Image auf den USB-Stick kopiert.

    Danach den ROCKPro64 mit dem USB-Stick gebootet (aktiver Hub), das gab wieder ein paar Probleme. Aber irgendwo stand was von "bad cable...", ok Kabel getauscht (kürzer). Und nun ging es, er tat sich am Anfang was schwer, hat ein paar eigenständige Reboots gemacht. Aber letztendlich startete er irgendwann.

    [    3.895054] usb 8-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd
    [    4.822978] usb 8-1.1: new SuperSpeed Gen 1 USB device number 3 using xhci-hcd
    [    4.869947] usbcore: registered new interface driver uas
    

    Danach habe ich mal für ein wenig Stress gesorgt. https://forum.frank-mankel.org/topic/282/stable-4-18-7-kernel-mit-hardware-crypto-speedup/8

    Aber, das lief gut. Keine besonderen Vorkommnisse.

    Nachdem ich den kernel 4.18.8 fertig hatte, habe ich dann neugestartet. Dann muss man viel geduld haben und nichts machen. Irgendwann kommt man dann zum Login.

     rock64@rockpro64v_2_1:~$ uname -a
      Linux rockpro64v_2_1 4.18.8-77394-g8cce48cacf88 #1 SMP PREEMPT Wed Sep 19 16:48:35 CEST 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    USB3 bleibt aktuell eine Baustelle. Ich hoffe, das Kamil das mit einem der nächsten Updates in den Griff bekommt. Lasst da mal im Moment kein produktives System drauf laufen!

    [    4.872954] xhci-hcd xhci-hcd.1.auto: ERROR Transfer event for unknown stream ring slot 4 ep 2
    [    4.874046] xhci-hcd xhci-hcd.1.auto: @00000000f7116be0 00000000 00000000 1b000000 04038001
    [    6.043271] xhci-hcd xhci-hcd.1.auto: ERROR Transfer event for unknown stream ring slot 4 ep 2
    [    6.044195] xhci-hcd xhci-hcd.1.auto: @00000000f7116920 00000000 00000000 1b000000 04038000
    [    9.656762] xhci-hcd xhci-hcd.1.auto: ERROR Transfer event for unknown stream ring slot 4 ep 3
    [    9.657686] xhci-hcd xhci-hcd.1.auto: @00000000f7116180 00000000 00000000 1b000000 04048001
    

    Für die Profis, hier zwei pastebin, vielleicht hilft es!

    https://pastebin.com/R3q5ix41
    https://pastebin.com/F6WswaDf

  • Dieser Stick läuft mit einem Armbian, mit Boot von SD-Karte völlig problemlos, so als Ergänzung.

    Welcome to ARMBIAN 5.67.181217 nightly Debian GNU/Linux 9 (stretch) 4.4.167-rockchip64
    

  • ROCKPro64 - RTC

    Hardware
    1
    0 Stimmen
    1 Beiträge
    298 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - PCIe Probleme

    Hardware
    3
    0 Stimmen
    3 Beiträge
    303 Aufrufe
    FrankMF

    Danke für dein Feedback.

  • 1 Stimmen
    13 Beiträge
    1k 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

  • 0 Stimmen
    4 Beiträge
    359 Aufrufe
    K

    na denn, tippe ich mal so auf default konfiguriert per dhcp 🙂

  • Serielle Konsole UART2 (2)

    Angeheftet Hardware
    1
    0 Stimmen
    1 Beiträge
    212 Aufrufe
    Niemand hat geantwortet
  • USB-Adapter für eMMC-Modul

    Hardware
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • 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

  • 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. 😉