Skip to content

ROCKPro64 - Das erste Mal

Angeheftet Verschoben Hardware
  • Heute habe ich mich nochmal an das Thema WLan auf dem ROCKPro64 gemacht. Mr.Fixit hat ja versprochen, das mit seinem Image WLan möglich wäre.

    Das Modul was Pine64 verkauft. Dieses Modul wird auf den entsprechenden Steckplatz montiert.
    wlan_modul.png

    Das Image von Mr. Fixit benutzt folgende Daten zum Einloggen.

    User: rock
    PW: rock
    

    Als Hostname ist localhost gesetzt, was in meiner IPFire nicht korrekt angezeigt wird, so das ich den erst mal in /etc/hostname geändert habe. Erleichtert mir das Finden der entsprechenden IP-Adresse.

    Folgender Kernel wird benutzt.

    rock@localhost:~$ uname -a
    Linux localhost 4.4.169 #3 SMP Thu Jan 10 20:05:09 EST 2019 aarch64 GNU/Linux
    

    Beim Image von Mr. Fixit wird die uart-Ausgabe auf einen HDMI-Monitor umgeleitet. Mag ich gar nicht, kann man schlecht bugfixen, wenn die ganzen Ausgaben nicht im uart erscheinen. Muss man irgendwo ändern können!? Aber erst mal nicht wichtig!

    Status

    rock@rp64_debian_mr:~$ ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
        link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.12/24 brd 192.168.3.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::ee04:6118:e916:2f8/64 scope link 
           valid_lft forever preferred_lft forever
    3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
        link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff
        inet 169.254.170.236/16 brd 169.254.255.255 scope global wlan0
           valid_lft forever preferred_lft forever
        inet6 fe80::c071:83df:6e42:d07c/64 scope link 
           valid_lft forever preferred_lft forever
    

    Karte

    root@rp64_debian_mr:/home/rock# iw dev
    phy#0
    	Interface wlan0
    		ifindex 3
    		wdev 0x1
    		addr ac:83:f3:e6:1f:b2
    		type managed
    		txpower 31.00 dBm
    

    iwconfig

    root@rp64_debian_mr:/home/rock# iwconfig
    lo        no wireless extensions.
    
    wlan0     IEEE 802.11  ESSID:""  
              Mode:Master  Frequency:5.18 GHz  Access Point: Not-Associated   
              Bit Rate:433 Mb/s   Tx-Power:32 dBm   
              Retry min limit:7   RTS thr:off   Fragment thr:off
              Encryption key:off
              Power Managementmode:All packets received
              Link Quality=5/5  Signal level=-2 dBm  Noise level=-41 dBm
              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:0   Missed beacon:0
    
    eth0      no wireless extensions.
    

    WLan Verbindung herstellen

    Damit wir uns mit dem WLan verbinden können, brauchen wir eine Konfigurationsdatei /etc/wpa_supplicant.conf

    ctrl_interface=/var/run/wpa_supplicant
    ctrl_interface_group=rock
    # Die Gruppe muss natuerlich angepasst werden
    eapol_version=1
    # 0: Der Treiber des Interfaces k  mmert sich um das Scannen von Netzen und die AP-Auswahl.
    #    Dieser Modus sollte benutzt werden, wenn man eine Verschl  sselung auf ein Kabelnetzwerk $
    # 1: wpa_supplicant k  mmert sich um das Scannen von Netzen und die AP-Auswahl.
    # 2: Fast wie 0, es wird aber mit Hilfe von Sicherheitsrichtlinien und der SSID zu APs verbund$
    #
    # Normalerweise funktioniert entweder Modus 1 oder Modus 2.
    ap_scan=1
    
    network={
            ssid="SSID"
            scan_ssid=1
            proto=RSN
            key_mgmt=WPA-PSK
            pairwise=CCMP
            group=CCMP
            psk="password"
    }
    

    Danach mit dem WLan verbinden

    wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
    Successfully initialized wpa_supplicant
    

    Bei dem Image vom Kamil passiert mir immer folgendes

    rock64@rockpro64:~$ sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
    [sudo] password for rock64: 
    Successfully initialized wpa_supplicant
    ctrl_iface exists and seems to be in use - cannot override it
    Delete '/var/run/wpa_supplicant/wlan0' manually if it is not used anymore
    Failed to initialize control interface '/var/run/wpa_supplicant'.
    You may have another wpa_supplicant process already running or the file was
    left by an unclean termination of wpa_supplicant in which case you will need
    to manually remove this file before starting wpa_supplicant again.
    
    nl80211: deinit ifname=wlan0 disabled_11b_rates=0
    

    Ok, Prozeß suchen und killen.

    rock64@rockpro64:~$ htop
    rock64@rockpro64:~$ sudo kill 504
    rock64@rockpro64:~$ kill 504
    -bash: kill: (504) - No such process
    

    Und erneut verbinden

    rock64@rockpro64:~$ sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
    Successfully initialized wpa_supplicant
    

    Kurz warten, danach sieht man folgendes

    rock@rp64_debian_mr:~$ ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
        link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
    3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff
        inet 192.168.178.25/24 brd 192.168.178.255 scope global wlan0
           valid_lft forever preferred_lft forever
        inet6 2a02:908:126b:5620:754a:6ec0:3e78:9035/64 scope global mngtmpaddr noprefixroute dynamic 
           valid_lft 7162sec preferred_lft 3562sec
        inet6 fe80::e27b:e3f7:18b8:bb95/64 scope link 
           valid_lft forever preferred_lft forever
    

    Gut, wir haben eine IP-Adresse. YEAH!

    Bildschirmfoto vom 2019-02-16 11-23-05.png

    Sollte das mit der IP-Adresse nicht funktionieren, kann man das hiermit nochmal anstoßen.

    sudo dhclient wlan0
    

    Netzwerkkabel entfernen! Einloggen über die WLan-Adresse.

    frank@frank-MS-7A34:~$ ssh rock@192.168.178.25
    rock@192.168.178.25's password: 
    Linux rp64_debian_mr 4.4.169 #3 SMP Thu Jan 10 20:05:09 EST 2019 aarch64
    
    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Sat Feb 16 10:34:46 2019 from 192.168.3.213
    

    Läuft. Das erste Mal das ich auf dem ROCKPro64 funktionierendes WLan sehe!

    Was mich natürlich auch noch interessiert hat ist, ob WLan und PCIe zusammen funktioniert. Das kann ich leider nicht bestätigen, meine PCIe NVMe SSD wird nicht erkannt.

    dmesg

    Schade, ich habe mal einen Fehlerbericht erstellt.

    Damit ist leider die Frage immer noch unbeantwortet ob WLan und PCIe zusammen nutzbar ist!!

  • Vielen Dank fürs Testen.
    Ich nehme an Du hast das Pine64 Wifi Modul getestet.

    Momentan sind die Geschwindigkeiten ja noch recht mau, oder?
    Welche theoretische Geschwindigkeit und Kanalbreite wurde denn zwischen Router und RP64 ausgehandelt?

    Viele Grüße,
    Florian

  • Die Fritzbox zeigt die üblichen Phantasiewerte an, die man in der WLan Branche gut zum Verkaufen nutzen kann.

    780 / 292 Mbits/s (Datenrate in Richtung WLan-Gerät / in Richtung Fritzbox)

    Ok, ich bin kein WLan-Experte, die Werte sehen echt mau aus. (Richtiger Treiber?)

    Das Pine64-Modul wurde benutzt. https://forum.frank-mankel.org/topic/190/rockpro-wlan-modul

    Die Info bzgl. Modul in ersten Post ergänzt.

  • Heute Morgen kam mir die Idee, so schlecht wie oben beschrieben, kann das WLan-Modul ja eigentlich nicht sein.

    Also, neuer Test. Diesmal nur per wget was ziehen und den Taschenrechner nehmen 😉

    Test 1 ( 60 Mbit/s)

    Von der IPFire Seite das ISO Image x86_64 runtergeladen.

    Test 2 (60 Mbit/s)

    Von der LinuxMint Seite das Cinnamon Image runtergeladen (FH Aachen)

    Test 3 (100 Mbit/s)

    Von der LinuxMint Seite das Cinnamon Image runtergeladen (FH Aachen)

    Auswertung

    Test Nr. Datei Größe Zeit Downloadgeschwindigkeit
    1 IPFire ISO Image 254 MB 64s 3,97 MB/s
    2 LinuxMint Cinnamon Image 1,83 GB 240s 7,84 MB/s
    3 LinuxMint Cinnamon Image 1,83 GB 161s 11,69 MB/s

    Fazit

    So sieht das ja schon wesentlich besser aus. Der IPFire Download-Server wird eine Bandbreitenbeschränkung haben, von der FH Aachen geht es dann wesentlich flotter. Das entspricht meinem derzeitigen Downloadspeed am Anschluß.

    Bildschirmfoto vom 2019-02-17 09-25-36.png

    Da zufälligerweise heute mein Anschluss auf 100 Mbit/s umgestellt wurde, habe ich den Test Nr. 3 nochmal wiederholt. Auch hier ist die Leitung wieder am Limit.

    Bildschirmfoto vom 2019-02-17 13-24-27.png

    Den oben gemachten iperf3 Test werde ich dann löschen, der ist Müll.

  • Ich kann heute die Fragen aller Fragen beantworten 🙂

    Damit ist leider die Frage immer noch unbeantwortet ob WLan und PCIe zusammen nutzbar ist!!

    Es geht!!

    Ich habe von MrFixit ein Testimage der RecalBox, benutzt das selbe Debian wie oben. Die Tage konnte man im IRC verfolgen, wie man dem Grundproblem näher kam und wohl einen Fix gebastelt hat, damit beides zusammen funktioniert. Mr.Fixit hat das in RecalBox eingebaut und ich durfte testen.

     # ip a
     1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1
         link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
         inet 127.0.0.1/8 scope host lo
            valid_lft forever preferred_lft forever
         inet6 ::1/128 scope host 
            valid_lft forever preferred_lft forever
     2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP8000> mtu 1500 qdisc pfifo_fast qlen 1000
         link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
     3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP8000> mtu 1500 qdisc pfifo_fast qlen 1000
         link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff
         inet 192.168.178.27/24 brd 192.168.178.255 scope global wlan0
            valid_lft forever preferred_lft forever
         inet6 2a02:908:1262:4680:ae83:f3ff:fee6:1fb2/64 scope global dynamic 
            valid_lft 7145sec preferred_lft 3545sec
         inet6 fe80::ae83:f3ff:fee6:1fb2/64 scope link 
            valid_lft forever preferred_lft forever
     # ls /mnt
     bin         etc         media       recalbox    sd.img      test2.img
     boot        home        mnt         root        selinux     tmp
     crypthome   lib         opt         run         srv         usr
     dev         lost+found  proc        sbin        sys         var
     # fdisk
     BusyBox v1.27.2 (2019-02-01 22:43:19 EST) multi-call binary.
     
     Usage: fdisk [-ul] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK
     
     Change partition table
     
     	-u		Start and End are in sectors (instead of cylinders)
     	-l		Show partition table for each DISK, then exit
     	-b 2048		(for certain MO disks) use 2048-byte sectors
     	-C CYLINDERS	Set number of cylinders/heads/sectors
     	-H HEADS	Typically 255
     	-S SECTORS	Typically 63
     # fdisk -l
     Disk /dev/mmcblk0: 15 GB, 15931539456 bytes, 31116288 sectors
     486192 cylinders, 4 heads, 16 sectors/track
     Units: cylinders of 64 * 512 = 32768 bytes
     
     Device       Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
     /dev/mmcblk0p1 *  2,10,9      10,50,40         32768     163839     131072 64.0M  c Win95 FAT32 (LBA)
     Partition 1 does not end on cylinder boundary
     /dev/mmcblk0p2 *  16,81,2     277,102,17      262144    4456447    4194304 2048M 83 Linux
     Partition 2 does not end on cylinder boundary
     /dev/mmcblk0p3    277,102,18  1023,254,63    4456448   31115263   26658816 12.7G 83 Linux
     Partition 3 does not end on cylinder boundary
     Disk /dev/nvme0n1: 233 GB, 250059350016 bytes, 488397168 sectors
     2543735 cylinders, 12 heads, 16 sectors/track
     Units: cylinders of 192 * 512 = 98304 bytes
     
     Device       Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
     /dev/nvme0n1p1    1,0,1       907,11,16         2048  488397167  488395120  232G 83 Linux
     # 
    

    Oben sieht man eine funktionierende WLan-Verbindung, das LAN-Kabel war entfernt. Unten sieht man die PCIe NVMe SSD, gemountet nach /mnt und Inhaltsausgabe.

    Das sollte beweisen, das der Ansatz der Lösung funktioniert. Leider kann ich nicht sagen, das es zum jetzigen Zeitpunkt stabil läuft. Ich habe einfach so Reboots, kann den Fehler aktuell aber nicht fangen. Mal sehen ob ich noch was finde.

    Aber, es ist ein Anfang!

  • ROCKPro64 - Debian Bullseye Teil 3

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    317 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Samsung Portable SSD T5 500GB

    Hardware
    1
    0 Stimmen
    1 Beiträge
    289 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Zwei LAN Schnittstellen / VLAN einrichten

    ROCKPro64
    4
    0 Stimmen
    4 Beiträge
    585 Aufrufe
    FrankMF

    Das Setup heute mal getestet um zu sehen, ob das auch so funktioniert.

    LAN an meine Fritzbox (DHCP) an eth1.100 mein Notebook an eth1.200 meine PS4

    Und dann mal gemütlich eine Runde MW gezockt. Läuft alles einwandfrei 🙂

  • ROCKPro64 - Armbian armbian-config

    Verschoben Armbian
    1
    0 Stimmen
    1 Beiträge
    761 Aufrufe
    Niemand hat geantwortet
  • Der 3. ROCKPro64

    ROCKPro64
    3
    0 Stimmen
    3 Beiträge
    942 Aufrufe
    FrankMF

    Nachdem ich jetzt mein NAS neu gemacht habe, schauen wir mal, was die Chinesen geliefert haben. Bestellt hatte ich

    ROCKPro64 v2.1 2GB RAM Kühlkörper Netzteil 3A USB-Adapter für eMMC-Modul

    Endlich habe ich mal an den USB-Adapter für das eMMC-Modul gedacht 🙂

    0_1540029624802_IMG_20181020_115348_ergebnis.jpg

    Was ist mir aufgefallen? Das Versionsdatum ist neu (siehe oben) Die PCIe NVMe Karte ist neu

    Bei der PCIe NVMe Karte liegt eine Abstandshülse aus Messing und eine winzig kleine Schraube bei. Damit bekomme ich aber nicht die NVMe-SSD befestigt. Ich habe dann gemurkst 😉 Da sollte Pine64 unbedingt nachbessern!

    So sieht das dann zusammengebaut aus.

    0_1540029756582_IMG_20181020_115425_ergebnis.jpg

    0_1540029767082_IMG_20181020_115438_ergebnis.jpg

    Da ich ein paarmal gelesen hatte, das Leute Probleme mit dem PCIe NVMe Adapter hatten, direkt als erstes mal ein Test ob das reibungslos funktioniert.

    Sys rock64@rockpro64:/mnt$ 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 lspci rock64@rockpro64:/mnt$ sudo lspci -vvv [sudo] password for rock64: 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 L1 Enabled; RCB 64 bytes Disabled- CommClk- ExtSynch- ClockPM- AutWidDis- BWInt+ AutBWInt+ LnkSta: Speed 5GT/s, Width x4, 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 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961 (prog-if 02 [NVM Express]) Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961 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 237 Region 0: Memory at fa000000 (64-bit, non-prefetchable) [size=16K] Capabilities: [40] 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: [50] MSI: Enable- Count=1/32 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [70] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset- MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend- LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L0s unlimited, L1 <64us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk- ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt- LnkSta: Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Not Supported DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 8GT/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: [b0] MSI-X: Enable+ Count=8 Masked- Vector table: BAR=0 offset=00003000 PBA: BAR=0 offset=00002000 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: [148 v1] Device Serial Number 00-00-00-00-00-00-00-00 Capabilities: [158 v1] Power Budgeting <?> Capabilities: [168 v1] #19 Capabilities: [188 v1] Latency Tolerance Reporting Max snoop latency: 0ns Max no snoop latency: 0ns Capabilities: [190 v1] L1 PM Substates L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+ PortCommonModeRestoreTime=10us PortTPowerOnTime=10us L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1- T_CommonMode=0us LTR1.2_Threshold=0ns L1SubCtl2: T_PwrOn=10us Kernel driver in use: nvme

    Da sieht alles gut aus. x4 alles Bestens!

    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: Sat Oct 20 10:08:28 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 63896 108269 91858 95309 32845 73173 102400 16 123393 236653 273766 275807 118450 199130 102400 512 471775 570571 484612 496942 441345 575817 102400 1024 544229 642558 508895 511834 486506 647765 102400 16384 1044520 1100322 1069825 1092146 1089301 1086757 iozone test complete.

    Das sieht nicht optimal aus, schau ich mir später an. Das hier soll nur ein kurzer Test sein ob das Board rennt 🙂

    Nachdem ich mittlerweile zwei ROCKPro64 im "produktiven" Einsatz habe, war es immer sehr mühsam mal eben was zu testen. Man will die anderen ja nicht immer ausmachen, dran rumhantieren usw. Deswegen jetzt der dritte, der im Moment dann die Rolle des Testkandidaten einnimmt. Ab sofort kann ich wieder nach Lust und Laune, neue Images testen usw.

  • Eure Meinung zum ROCKPro64 ?

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    580 Aufrufe
    Niemand hat geantwortet
  • Zwischenfazit Juni 2018

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