Skip to content

ROCKPro64 - USB-C -> LAN

ROCKPro64
  • Mal einen USB-C to WLan Adapter besorgt und am ROCKPro64 ausprobiert.

    Den Adapter eingesteckt, Netzwerkkabel angeschlossen und nachgeschaut ob er erkannt wird.

    [63435.162398] usb 8-1: new SuperSpeed USB device number 2 using xhci-hcd
    [63435.185715] usb 8-1: New USB device found, idVendor=0bda, idProduct=8153
    [63435.185744] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
    [63435.185764] usb 8-1: Product: USB 10/100/1000 LAN
    [63435.185781] usb 8-1: Manufacturer: Realtek
    [63435.185796] usb 8-1: SerialNumber: 00026C
    [63435.256051] usbcore: registered new interface driver r8152
    [63435.410987] usb 8-1: reset SuperSpeed USB device number 2 using xhci-hcd
    [63435.493485] r8152 8-1:1.0 eth1: v1.08.3
    [63435.502207] r8152 8-1:1.0 enx00e04c68026f: renamed from eth1
    

    Ok, schön 🙂

    rock64@rockpro64:~$ 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 fq_codel 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.17/24 brd 192.168.3.255 scope global dynamic eth0
           valid_lft 2976sec preferred_lft 2976sec
        inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link 
           valid_lft forever preferred_lft forever
    3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state DORMANT group default qlen 1000
        link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff
    4: enx00e04c68026f: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
        link/ether 00:e0:4c:68:02:6f brd ff:ff:ff:ff:ff:ff
    

    Unten sieht man die Schnittstelle enx00e04c68026f Ok, Schnittstelle ist nicht konfiguriert. Ab ins Verzeichnis /etc/netplan Dort legen wir eine Datei mit dem Namen enx00e04c68026f.yaml an. Inhalt:

    network:
      version: 2
      renderer: networkd
      ethernets:
        enx00e04c68026f:
          dhcp4: true
    

    Nix besonderes, einfach per DHCP eine IP-Adresse besorgen. Dann

    sudo netplan try
    

    Und schwupps, ist die IP-Adresse da.

    rock64@rockpro64:/etc/netplan$ 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 fq_codel 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.17/24 brd 192.168.3.255 scope global dynamic eth0
           valid_lft 1912sec preferred_lft 1912sec
        inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link 
           valid_lft forever preferred_lft forever
    3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state DORMANT group default qlen 1000
        link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff
    4: enx00e04c68026f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 00:e0:4c:68:02:6f brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.16/24 brd 192.168.3.255 scope global dynamic enx00e04c68026f
           valid_lft 1959sec preferred_lft 1959sec
        inet6 fe80::2e0:4cff:fe68:26f/64 scope link 
           valid_lft forever preferred_lft forever
    

    iperf3

    Kurz die Geschwindigkeit testen, Gegenstelle war mein haupt-PC.

    rock64@rockpro64:/etc/netplan$ sudo iperf3 -s
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    Accepted connection from 192.168.3.213, port 60662
    [  5] local 192.168.3.16 port 5201 connected to 192.168.3.213 port 60664
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-1.00   sec   108 MBytes   909 Mbits/sec                  
    [  5]   1.00-2.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   3.00-4.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   4.00-5.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   5.00-6.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   6.00-7.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   7.00-8.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   8.00-9.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   9.00-10.00  sec   112 MBytes   942 Mbits/sec                  
    [  5]  10.00-10.02  sec  2.09 MBytes   935 Mbits/sec                  
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-10.02  sec  0.00 Bytes  0.00 bits/sec                  sender
    [  5]   0.00-10.02  sec  1.09 GBytes   938 Mbits/sec                  receiver
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    Accepted connection from 192.168.3.213, port 60666
    [  5] local 192.168.3.16 port 5201 connected to 192.168.3.213 port 60668
    [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
    [  5]   0.00-1.00   sec   114 MBytes   952 Mbits/sec    0    892 KBytes       
    [  5]   1.00-2.00   sec   112 MBytes   943 Mbits/sec    0    892 KBytes       
    [  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec    0    892 KBytes       
    [  5]   3.00-4.00   sec   111 MBytes   936 Mbits/sec    0    892 KBytes       
    [  5]   4.00-5.00   sec   112 MBytes   944 Mbits/sec    0    892 KBytes       
    [  5]   5.00-6.00   sec   112 MBytes   944 Mbits/sec    0    892 KBytes       
    [  5]   6.00-7.00   sec   112 MBytes   941 Mbits/sec    0    892 KBytes       
    [  5]   7.00-8.00   sec   111 MBytes   936 Mbits/sec    0    949 KBytes       
    [  5]   8.00-9.00   sec   112 MBytes   942 Mbits/sec    0   1.90 MBytes       
    [  5]   9.00-10.00  sec   111 MBytes   935 Mbits/sec    0   1.90 MBytes       
    [  5]  10.00-10.02  sec  2.50 MBytes  1.26 Gbits/sec    0   1.90 MBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  5]   0.00-10.02  sec  1.10 GBytes   942 Mbits/sec    0             sender
    [  5]   0.00-10.02  sec  0.00 Bytes  0.00 bits/sec                  receiver
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    

    Fazit

    Adapter funktioniert ohne Probleme, mit vollem Tempo 🙂

  • ROCKPro64 - Debian 10.1

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    403 Aufrufe
    Niemand hat geantwortet
  • Mainline 4.20.0-rc6

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    415 Aufrufe
    Niemand hat geantwortet
  • Kamil hat mal wieder Zeit?

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    458 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Docker Image

    ROCKPro64
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    FrankMF

    Das ganze hat einen furchtbar schönen Vorteil. Mal angenommen, ich habe ein NodeBB-Forum in einem Container laufen. Will das Ding updaten und das crasht einfach mal so. Egal, Container stoppen, Container starten und alles läuft wieder.

    Mit dem Commit sichere ich mir dann den Zustand nachdem ich weiß, das alles klappt 🙂

  • Image 0.7.8 - Latest release

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    545 Aufrufe
    Niemand hat geantwortet
  • Bionic Minimal 0.7.8

    ROCKPro64
    2
    0 Stimmen
    2 Beiträge
    566 Aufrufe
    FrankMF

    Testin Testing

  • 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
  • Erste Lebenszeichen

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