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
    340 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Samsung Portable SSD T5 500GB

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

    Hardware
    3
    0 Stimmen
    3 Beiträge
    338 Aufrufe
    FrankMF

    Danke für dein Feedback.

  • 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 - PCIe NVMe SSD installieren

    Hardware
    1
    0 Stimmen
    1 Beiträge
    320 Aufrufe
    Niemand hat geantwortet
  • Serielle Konsole UART2 (2)

    Angeheftet Hardware
    1
    0 Stimmen
    1 Beiträge
    223 Aufrufe
    Niemand hat geantwortet
  • SATA Karte Marvell 88SE9230 Chipsatz

    Angeheftet Hardware
    19
    0 Stimmen
    19 Beiträge
    6k Aufrufe
    FrankMF

    Ok, es gibt noch eine andere Möglichkeit.

    Kamil hat mir noch ein wenig geholfen. Mit folgender Änderung werden die Platten gefunden.

    hmm, I had to add /etc/default/extlinux: libahci.skip_host_reset=1

    Sieht dann so aus.

    # Configure timeout to choose the kernel # TIMEOUT="10" # Configure default kernel to boot: check all kernels in `/boot/extlinux/extlinux.conf` # DEFAULT="kernel-4.4.126-rockchip-ayufan-253" # Configure additional kernel configuration options APPEND="$APPEND root=LABEL=linux-root rootwait rootfstype=ext4 libahci.skip_host_reset=1"

    Danach waren die Platten zu sehen.

    root@rockpro64:/tmp/etc/default# blkid /dev/sda2: SEC_TYPE="msdos" LABEL_FATBOOT="boot-efi" LABEL="boot-efi" UUID="ABCD-FC7D" TYPE="vfat" PARTLABEL="boot_efi" PARTUUID="72e36967-4050-4bb3-8f8f-bf6755c38f28" /dev/sda3: LABEL="linux-boot" UUID="8e289a3e-0f9b-4da1-a147-51e03390637c" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="fe944fd2-3e42-4202-8a95-656e9bdb4be6" /dev/sda4: LABEL="linux-root" UUID="3e9513c6-dfd1-48c9-bee2-04bb5a153056" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="d2d1dd88-030d-4f74-998f-7c9ce7d385d0" /dev/sdb2: SEC_TYPE="msdos" LABEL_FATBOOT="boot-efi" LABEL="boot-efi" UUID="56C9-F745" TYPE="vfat" PARTLABEL="boot_efi" PARTUUID="919c8f73-5f25-4a01-9072-3a5ed9a88ff2" /dev/sdb3: LABEL="linux-boot" UUID="23c19647-f4a1-4197-a877-f1bb03456bef" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="093d0cc0-d122-4dce-aeb5-4e266b4b7d9d" /dev/sdb4: LABEL="linux-root" UUID="f1c74331-8318-4ee8-a4f7-f0c169fb9944" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="964ab457-58d5-40c4-bb02-dfd37bd2f0da" /dev/sda1: PARTLABEL="loader1" PARTUUID="37466429-e4a4-495c-b9a1-3f74625a3cae" /dev/sdb1: PARTLABEL="loader1" PARTUUID="33f692b3-54cb-4a37-b602-21a2baf32fa0"

    Aber auch hiermit ist ein Boot von der SATA Platte nicht möglich.

    Ich möchte hier noch was vom kamil zitieren.

    (11:44:09) ayufanWithPM: will look later, but this controller is tricky, also on x86 as well
    (11:44:16) ayufanWithPM: jms585 seems to be significantly more stable

    Evt. bekommt er das gefixt 😉

  • 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