Skip to content

ROCKPro64 - PCIe SATA Karte

Verschoben Hardware
  • Mit 0.7.8 noch mal die PCIe SATA Karte testen.

    Hardware

    • SSD Festplatte 220GB
    • HDD Festplatte irgendwas mit um die 110GB -uralt-

    Software

    rock64@rockpro64:/media$ uname -a
    Linux rockpro64 4.4.132-1072-rockchip-ayufan-ga1d27dba5a2e #1 SMP Sat Jul 21 20:18:03 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    0_1532255867307_SATA.jpg

    Adpater

    rock64@rockpro64:/media$ sudo lspci -vvv
    00:00.0 PCI bridge: Rockchip Inc. RK3399 PCI Express Root Port Device 0100 (prog-if 00 [Normal decode])
    	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort+ <TAbort+ <MAbort+ >SERR+ <PERR+ INTx-
    	Latency: 0
    	Interrupt: pin A routed to IRQ 238
    	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    	I/O behind bridge: 00000000-00000fff
    	Memory behind bridge: fa000000-fa0fffff
    	Prefetchable memory behind bridge: 00000000-000fffff
    	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
    		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    	Capabilities: [80] Power Management version 3
    		Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-)
    		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME+
    	Capabilities: [90] MSI: Enable+ Count=1/1 Maskable+ 64bit+
    		Address: 00000000fee30040  Data: 0000
    		Masking: 00000000  Pending: 00000000
    	Capabilities: [b0] MSI-X: Enable- Count=1 Masked-
    		Vector table: BAR=0 offset=00000000
    		PBA: BAR=0 offset=00000008
    	Capabilities: [c0] Express (v2) Root Port (Slot+), MSI 00
    		DevCap:	MaxPayload 256 bytes, PhantFunc 0
    			ExtTag- RBE+
    		DevCtl:	Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
    			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
    			MaxPayload 128 bytes, MaxReadReq 512 bytes
    		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
    		LnkCap:	Port #0, Speed 5GT/s, Width x4, ASPM L1, Exit Latency L0s <256ns, L1 <8us
    			ClockPM- Surprise- LLActRep- BwNot+ ASPMOptComp+
    		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk-
    			ExtSynch- ClockPM- AutWidDis- BWInt+ AutBWInt+
    		LnkSta:	Speed 5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
    		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
    			Slot #0, PowerLimit 0.000W; Interlock- NoCompl-
    		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
    			Control: AttnInd Off, PwrInd Off, Power+ Interlock-
    		SltSta:	Status: AttnBtn- PowerFlt- MRL+ CmdCplt- PresDet- Interlock-
    			Changed: MRL- PresDet- LinkState-
    		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
    		RootCap: CRSVisible-
    		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
    		DevCap2: Completion Timeout: Range B, TimeoutDis+, LTR+, OBFF Via message ARIFwd+
    		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
    		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
    			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
    			 Compliance De-emphasis: -6dB
    		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
    			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
    	Capabilities: [100 v2] Advanced Error Reporting
    		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
    		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
    		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
    		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
    	Capabilities: [274 v1] Transaction Processing Hints
    		Interrupt vector mode supported
    		Device specific mode supported
    		Steering table in TPH capability structure
    	Kernel driver in use: pcieport
    
    01:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02) (prog-if 01 [AHCI 1.0])
    	Subsystem: ASMedia Technology Inc. ASM1062 Serial ATA Controller
    	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    	Latency: 0
    	Interrupt: pin A routed to IRQ 239
    	Region 0: I/O ports at <unassigned> [disabled]
    	Region 1: I/O ports at <unassigned> [disabled]
    	Region 2: I/O ports at <unassigned> [disabled]
    	Region 3: I/O ports at <unassigned> [disabled]
    	Region 4: I/O ports at <unassigned> [disabled]
    	Region 5: Memory at fa010000 (32-bit, non-prefetchable) [size=512]
    	[virtual] Expansion ROM at fa000000 [disabled] [size=64K]
    	Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit-
    		Address: fee30040  Data: 0000
    	Capabilities: [78] Power Management version 3
    		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
    		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    	Capabilities: [80] Express (v2) Legacy Endpoint, MSI 00
    		DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s <1us, L1 <8us
    			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
    		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
    			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
    			MaxPayload 128 bytes, MaxReadReq 512 bytes
    		DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
    		LnkCap:	Port #1, Speed 5GT/s, Width x1, ASPM not supported, Exit Latency L0s unlimited, L1 <2us
    			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
    		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk-
    			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
    		LnkSta:	Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
    		DevCap2: Completion Timeout: Range ABC, TimeoutDis+, LTR-, OBFF Not Supported
    		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
    		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
    			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
    			 Compliance De-emphasis: -6dB
    		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
    			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
    	Capabilities: [100 v1] Virtual Channel
    		Caps:	LPEVC=0 RefClk=100ns PATEntryBits=1
    		Arb:	Fixed- WRR32- WRR64- WRR128-
    		Ctrl:	ArbSelect=Fixed
    		Status:	InProgress-
    		VC0:	Caps:	PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
    			Arb:	Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
    			Ctrl:	Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
    			Status:	NegoPending- InProgress-
    	Kernel driver in use: ahci
    

    Einmal der PCIe Adapter und die SATA Karte. So weit alles gut.

    Speedtest

    SSD

    rock64@rockpro64:/mnt$ sudo dd if=/dev/zero of=sd77.img bs=1M count=4096 conv=fdatasync
    4096+0 records in
    4096+0 records out
    4294967296 bytes (4.3 GB, 4.0 GiB) copied, 38.4839 s, 112 MB/s
    

    iozone

    rock64@rockpro64:/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: Sun Jul 22 10:42:12 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    28792    39366    52678    58495    13219    12889                                                          
              102400      16    61995    61928    88041   104969    38578    35227                                                          
              102400     512   159905    71439   214899   217569   214569   260194                                                          
              102400    1024   128472    85136   245539   246448   242433   178743                                                          
              102400   16384   329869   354069   323670   324324   324528   339370                                                          
    
    iozone test complete.
    

    HDD

    rock64@rockpro64:/media$ 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, 76.8208 s, 55.9 MB/s
    

    iozone

    rock64@rockpro64:/media$ 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: Sun Jul 22 10:33:22 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    11683    21724    16840    16994      607     1219                                                          
              102400      16    29607    43380    44428    44267     2412     5658                                                          
              102400     512    54547    55261    50275    58474    31425    38247                                                          
              102400    1024    53838    52901    51727    54370    41678    45017                                                          
              102400   16384    54735    53438    51128    53344    50381    55148                                                          
    
    iozone test complete.
    

    Der HDD Test ist nicht aussagekräftig, das ist eine uralte 3,5 Zoll HDD!! Die dient hier nur zum Testen ob das auch mit zwei Platten funktioniert!!!

    Kopieren

    Ich kann mich daran erinnern, das ichbeim letzten Test Probleme hatte ein File von der einen auf die andere Festplatte zu kopieren. Da ist beim letzten Mal das ganze System gecrasht.

    Das ging dieses mal einwandfrei!

    LED

    Auf der SATA Karte ist eine blaue LED, diese leuchtet bei Zugriff auf die angeschlossenen Festplatten.

    0_1532256524293_IMG_20180722_124611.jpg

    Fazit

    Viel Spaß beim NAS bauen 🙂

    Eine andere Karte eines anderen Herstellers funktioniert nicht und löst eine Kernel Panic aus.

  • Hi,

    wie gibst du den angeschlossenen Platten an der PCIe Sata Karte Strom?
    Extra Netzteil oder über das Board?

    Grüße Alex

  • @schwabe93

    Hallo, ich benutze das folgende Kabel. https://www.pine64.org/?product=rockpro64-power-cable-for-dual-sata-drives

    Das kann man sich zur Not auch selber basteln. Ich habe am Anfang auch mal mit einem handelsüblichen PC-Netzteil experimentiert, obwohl ich da immer ein ungutes Gefühl hatte.

  • Hmm, ok ich habe mir gestern bei Amazon das hier bestellt https://www.amazon.de/dp/B072JLHGQT
    funktioniert leider nicht, bzw, vllt bin auch falsch dran wo ich den 4 Pin Stecker reinstecken muss auf dem Board. Laut meinem Verständnis Direkt hinter dem DC IN Anschluss? Dort wo GND steht.

    Danke für deine Hilfe

  • Das war keine so gute Idee. Schau mal ...

    0_1533330087484_IMG_20180803_225536_ergebnis.jpg

    Auf dem Board ist der weiße Steckplatz (Con15) neben DC IN. Dieser stellt zweimal 12VDC zur Verfügung.

    Pin 1&2 = 12VDC
    Pin3&4 = GND

    siehe Seite 11 -> http://files.pine64.org/doc/rockpro64/rockpro64_v21-SCH.pdf

    0_1533330093810_IMG_20180803_225546_ergebnis.jpg

    Wenn ich jetzt keinen Denkfehler habe, ist immer noch zu heiß zum Denken, dann ist aber nichts kaputt gegangen. Es funktioniert nur nicht. Glück gehabt 😉

    Mit dem jetzt vorhandenen Adapter könntest du dir aber mit den Informationen, den richtigen Adapter eben zusammen basteln. Ich habe aber keine Ahnung ob das für dich ein Problem ist. Ich als Elektriker sehe das nicht als großes Problem an.

    Wenn du dir unsicher bist, dann lass es lieber!! Bevor noch das schöne Board abbrennt 🙂

  • @frankm

    Dann werde ich mir wohl die offizielen kabel bestellen, weil rumbasteln werde ich da nicht an irgendeiner Elektronik.
    Der Rock läuft ja gottseidank noch, solange bis das teil da ist werde ich halt mit USB arbeiten.

  • @schwabe93 Lass es mich wissen, wenn du das Kabel hast, wie es so bei dir funktioniert.

  • @frankm So habe das Kabel erhalten, gleichmal angesteckt und mit 2 3.5 Zoll Festplatten getestet läuft wunderbar, jetzt kann ich anfangen mein NAS zu bauen.

  • Freut mich, das es jetzt klappt. Viel Spaß beim Bauen eines NAS.

    Ich bin auch immer an netten Bildern interessiert, was andere so mit ihren ROCKPros machen 😉

  • @FrankM

    Re: ROCKPro64 - PCIe SATA Karte

    how may HDD can you attach to the RockPro with this addon card? is 4 HDD possible?

  • @elRadix : With pine64 sata-card you can use two hdd's. https://www.pine64.org/?product=rockpro64-pci-e-to-dual-sata-ii-interface-card

    For working cards please look into this thread before you buy anything.

  • 0 Stimmen
    1 Beiträge
    293 Aufrufe
    Niemand hat geantwortet
  • SATA Karte Marvell 88SE9230 Chipsatz mit 0.9.16

    Hardware
    8
    0 Stimmen
    8 Beiträge
    600 Aufrufe
    FrankMF

    Gestern hat Kamil einen neuen Kernel released, so das ich das heute mal auf dem NAS probiert habe. Durch den Boot von der USB-SSD sollten die Pfade ja alle passen und man problemlos den Kernel updaten können.

    root@rockpro64:/usr/local/sbin# df -h Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf udev 992M 0 992M 0% /dev tmpfs 199M 5,5M 194M 3% /run /dev/sdc7 459G 3,3G 437G 1% / tmpfs 995M 0 995M 0% /dev/shm tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 995M 0 995M 0% /sys/fs/cgroup /dev/sdc6 112M 4,0K 112M 1% /boot/efi /dev/md0 3,6T 485G 3,0T 14% /mnt/nas tmpfs 199M 0 199M 0% /run/user/1000

    Gut, /boot liegt auf der USB-SSD. Also, wie bekannt, den Kernel heruntergeladen und installiert. Nach dem Neustart geht nix 😞 Mittels HDMI Monitor angeschlossen um den Fehler sehen zu können, da macht es auch schon Klick. Der Parameter

    pci=nomsi

    ist durch das Kernel-Update überschrieben worden. Ich hatte dann die USB-SSD ausgebaut und das Problem am lokalen Rechner gelöst. Aber, man ist ja faul.....;)

    Da es überschrieben wird, müssen auch irgendwo die Informationen dazu liegen.......

    /usr/local/sbin/update-extlinux.sh

    Da ist das File, was Kamil dafür angelegt hat.

    #!/bin/bash TIMEOUT="" DEFAULT="" APPEND="rw" APPEND="$APPEND panic=10" APPEND="$APPEND init=/sbin/init" APPEND="$APPEND coherent_pool=1M" APPEND="$APPEND ethaddr=\${ethaddr} eth1addr=\${eth1addr} serial=\${serial#}" APPEND="$APPEND cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 pci=nomsi" [..........gekürzt.........]

    Hier seht ihr das File schon mit meiner Änderung, in der Hoffnung das es dann beim nächsten Mal ohne Probleme funktioniert. Bleibt nur noch das Problem, wann ändert Kamil das File, weil dann ist die Änderung wieder weg!?!?

  • ROCKPro64 - Debian 10.1

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    391 Aufrufe
    Niemand hat geantwortet
  • FTDI Support (ayufan Kernel 5.0)

    Ungelöst Probleme?
    8
    0 Stimmen
    8 Beiträge
    540 Aufrufe
    K

    Hi, leider habe ich bisher keine Antwort von Kamil erhalten. So habe ich selbst mal einen Kernel kompiliert. Als Vorlage habe ich den Ayufan 5.3 rc4 1118 genommen. Also gleiche config nur zusätzlich den FTDI und den CH341 (Arduino clones) Treiber hinzugefügt. Könnt ihr ja mal bei Lust und Laune testen. Für meine Zwecke funktioniert er gut.
    Gruss
    https://drive.google.com/file/d/1kJarihL7bAqN9y6tK-m1V4zHCSEiEWtf/view?usp=sharing

  • ROCKPro64 - Stromaufnahme wenn OFF

    ROCKPro64
    4
    0 Stimmen
    4 Beiträge
    430 Aufrufe
    FrankMF

    Die Idee war, das eine evt. sehr kleine Stromaufnahme mit dieser Art "Meßgerät" nicht vernünftig erfasst werden kann.

  • 0 Stimmen
    5 Beiträge
    2k Aufrufe
    FrankMF

    Ich sehe gerade, das könnte hier auch mal neu gemacht werden.

  • 0 Stimmen
    2 Beiträge
    2k Aufrufe
    FrankMF
    Ergänzung

    Eine andere SATA-Karte und eine Riser-Karte mit angeschlossener GPU startet nicht.

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

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