Skip to content

ROCKPro64 - LAN Schnittstelle

Verschoben ROCKPro64
1 1 425
  • Wie vielleicht einige von Euch wissen, gibt es schon seit längerem einige Probleme mit der LAN-Schnittstelle. Eines dieser Probleme bezog sich wohl auf ipv6, kann ich hier nicht testen, aber nun scheint es eine Lösung dafür zu geben. Gestern folgendes im IRC

    08/03/19 17:50
    <ayufan> maybe instead of disabling tx checksuming we should lower mtu to 1498?
    08/03/19 17:51
    <ayufan> it should give you full gbe performance, something that is not happening now 😞
    08/03/19 18:00
    <ayufan> forcing mtu of 1498 allows to have gbe performance and lower cpu usage
    08/03/19 18:39
    <FrankM> When i understand you correct, diabling tx checksuming helps? Ok, testing. Now i have 944/928Mbit/s before 941/825Mbit/s.
    08/03/19 18:48
    <FrankM> on mainline 5.0.0 i got 941/941
    08/03/19 19:12
    <ayufan> Not on ipv6
    08/03/19 19:40
    <ayufan> rockpro64 has the same behavior as rock64, it fails on checksum offload on tx
    08/03/19 19:40
    <ayufan> if you disable tx offload, you get around 800Mbps on rock/pro64
    08/03/19 19:40
    <ayufan> it works super stable
    08/03/19 19:40
    <ayufan> if you keep tx offload, you need mtu 1498, and you get 941Mbps on both

    Wir hatten in der Anfangszeit des ROCKPro64 immer 941/941 Mbit/s auf der Leitung, nach diesem Patch war das dann vorbei. Grund dafür waren damals irgendwelche Probleme. Danach hatten wir dann immer das hier.

    Bildschirmfoto vom 2019-03-09 10-08-41.png

    Ich habe dann gestern Abend ein wenig rumgetestet.

    Man kann den Eintrag im dts File per Hand ändern.

    sudo dtedit
    

    Dann STRG + W drücken. dma_mode eingeben.

    Wir finden diese Zeile

    snps,force_thresh_dma_mode;
    

    Ändern in

    #snps,force_thresh_dma_mode;
    

    STRG + X

    Neustarten!

    MTU temporär ändern

    An der uart-Konsole folgendes eingeben

    ifconfig eth0 down
    ifconfig eth0 mtu 1498
    ifconfig eth0 up
    

    Das kann man mit netstat überprüfen

    rock64@rockpro64:/mnt$ netstat -i
    Kernel Interface table
    Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0      1500  1469569      0      0 0        242306      0      0      0 BMRU
    lo       65536       12      0      0 0            12      0      0      0 LRU
    

    Da der Kamil ja auch ehrgeizig ist, hat ihm das gestern Abend wohl keine Ruhe gelassen 🙂 Es gibt nun einen neuen Kernel mit einem entsprechenden Patch.

    	- snps,force_thresh_dma_mode;
    	+ rockchip,bugged_tx_coe;
    

    Und

    /* Including very small MTUs of 1498 for Rockchip devices */
    if (priv->plat->bugged_tx_coe && (dev->mtu > ETH_DATA_LEN - 2))
    		features &= ~NETIF_F_CSUM_MASK;
    

    Also, noch was dazu gekommen. Und hier dann das Ergebnis für

    Kernel 5.0.0

    rock64@rockpro64:~$ iperf3 -c 192.168.3.213
    Connecting to host 192.168.3.213, port 5201
    [  4] local 192.168.3.14 port 33896 connected to 192.168.3.213 port 5201
    [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
    [  4]   0.00-1.00   sec   114 MBytes   952 Mbits/sec    0    363 KBytes       
    [  4]   1.00-2.00   sec   112 MBytes   941 Mbits/sec   11    313 KBytes       
    [  4]   2.00-3.00   sec   112 MBytes   942 Mbits/sec   10    293 KBytes       
    [  4]   3.00-4.00   sec   112 MBytes   941 Mbits/sec   11    293 KBytes       
    [  4]   4.00-5.00   sec   112 MBytes   941 Mbits/sec   11    235 KBytes       
    [  4]   5.00-6.00   sec   112 MBytes   941 Mbits/sec    0    328 KBytes       
    [  4]   6.00-7.00   sec   112 MBytes   941 Mbits/sec   11    322 KBytes       
    [  4]   7.00-8.00   sec   112 MBytes   941 Mbits/sec   11    321 KBytes       
    [  4]   8.00-9.00   sec   112 MBytes   941 Mbits/sec   11    325 KBytes       
    [  4]   9.00-10.00  sec   112 MBytes   941 Mbits/sec   11    332 KBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec   87             sender
    [  4]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver
    
    iperf Done.
    rock64@rockpro64:~$ iperf3 -R -c 192.168.3.213
    Connecting to host 192.168.3.213, port 5201
    Reverse mode, remote host 192.168.3.213 is sending
    [  4] local 192.168.3.14 port 33900 connected to 192.168.3.213 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   111 MBytes   932 Mbits/sec                  
    [  4]   1.00-2.00   sec   112 MBytes   937 Mbits/sec                  
    [  4]   2.00-3.00   sec   112 MBytes   942 Mbits/sec                  
    [  4]   3.00-4.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   4.00-5.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   5.00-6.00   sec   112 MBytes   942 Mbits/sec                  
    [  4]   6.00-7.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   7.00-8.00   sec   112 MBytes   942 Mbits/sec                  
    [  4]   8.00-9.00   sec   112 MBytes   942 Mbits/sec                  
    [  4]   9.00-10.00  sec   112 MBytes   941 Mbits/sec                  
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec    0             sender
    [  4]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec                  receiver
    
    iperf Done.
    rock64@rockpro64:~$ netstat -i
    Kernel Interface table
    Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0      1500   873482      0      0 0        842381      0      0      0 BMRU
    lo       65536        4      0      0 0             4      0      0      0 LRU
    rock64@rockpro64:~$ sudo mount /dev/nvme0p1 /mnt
    [sudo] password for rock64: 
    mount: /mnt: special device /dev/nvme0p1 does not exist.
    rock64@rockpro64:~$ sudo mount /dev/nvme0n1 /mnt
    rock64@rockpro64:~$ cd /mnt
    rock64@rockpro64:/mnt$ ls
    lost+found  ubuntu-18.04.2-desktop-amd64.iso
    rock64@rockpro64:/mnt$ sudo wget http://ftp.belnet.be/mirror/ubuntu.com/releases/bionic/ubuntu-18.04.2-desktop-amd64.iso
    --2019-03-09 08:43:31--  http://ftp.belnet.be/mirror/ubuntu.com/releases/bionic/ubuntu-18.04.2-desktop-amd64.iso
    Resolving ftp.belnet.be (ftp.belnet.be)... 193.190.67.98, 2001:6a8:3c80:2::21
    Connecting to ftp.belnet.be (ftp.belnet.be)|193.190.67.98|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1996488704 (1.9G) [application/x-iso9660-image]
    Saving to: ‘ubuntu-18.04.2-desktop-amd64.iso.1’
    
    ubuntu-18.04.2-desktop 100%[============================>]   1.86G  12.4MB/s    in 2m 38s  
    
    2019-03-09 08:46:09 (12.1 MB/s) - ‘ubuntu-18.04.2-desktop-amd64.iso.1’ saved [1996488704/1996488704]
    
    rock64@rockpro64:/mnt$ netstat -i
    Kernel Interface table
    Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0      1500  2343002      0      0 0       1099074      0      0      0 BMRU
    lo       65536        8      0      0 0             8      0      0      0 LRU
    

    Kernel 4.4.167-1140

    rock64@rockpro64:~$ iperf3 -c 192.168.3.213
    Connecting to host 192.168.3.213, port 5201
    [  4] local 192.168.3.14 port 54640 connected to 192.168.3.213 port 5201
    [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
    [  4]   0.00-1.00   sec   116 MBytes   969 Mbits/sec    0   1.03 MBytes       
    [  4]   1.00-2.00   sec   112 MBytes   943 Mbits/sec   10    529 KBytes       
    [  4]   2.00-3.00   sec   112 MBytes   942 Mbits/sec   11    325 KBytes       
    [  4]   3.00-4.01   sec   112 MBytes   940 Mbits/sec   10    327 KBytes       
    [  4]   4.01-5.00   sec   112 MBytes   943 Mbits/sec    0    396 KBytes       
    [  4]   5.00-6.00   sec   112 MBytes   941 Mbits/sec    0    413 KBytes       
    [  4]   6.00-7.00   sec   111 MBytes   935 Mbits/sec   11    355 KBytes       
    [  4]   7.00-8.00   sec   113 MBytes   947 Mbits/sec    0    410 KBytes       
    [  4]   8.00-9.00   sec   112 MBytes   942 Mbits/sec    0    424 KBytes       
    [  4]   9.00-10.00  sec   112 MBytes   941 Mbits/sec   11    303 KBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  1.10 GBytes   944 Mbits/sec   53             sender
    [  4]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver
    
    iperf Done.
    rock64@rockpro64:~$ iperf3 -R -c 192.168.3.213
    Connecting to host 192.168.3.213, port 5201
    Reverse mode, remote host 192.168.3.213 is sending
    [  4] local 192.168.3.14 port 54644 connected to 192.168.3.213 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   111 MBytes   934 Mbits/sec                  
    [  4]   1.00-2.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   2.00-3.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   3.00-4.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   4.00-5.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   5.00-6.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   6.00-7.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   7.00-8.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   8.00-9.00   sec   112 MBytes   938 Mbits/sec                  
    [  4]   9.00-10.00  sec   110 MBytes   922 Mbits/sec                  
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec    0             sender
    [  4]   0.00-10.00  sec  1.09 GBytes   938 Mbits/sec                  receiver
    
    iperf Done.
    rock64@rockpro64:~$ netstat -i
    Kernel Interface table
    Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0      1500   871955      0      0 0        842891      0      0      0 BMRU
    lo       65536       84      0      0 0            84      0      0      0 LRU
    wlan0     1500        0      0      0 0             0      0      0      0 BMU
    rock64@rockpro64:~$ sudo wget http://ftp.belnet.be/mirror/ubuntu.com/releases/bionic/ubuntu-18.04.2-desktop-amd64.iso
    [sudo] password for rock64: 
    --2019-03-09 09:52:08--  http://ftp.belnet.be/mirror/ubuntu.com/releases/bionic/ubuntu-18.04.2-desktop-amd64.iso
    Resolving ftp.belnet.be (ftp.belnet.be)... 193.190.67.98, 2001:6a8:3c80:2::21
    Connecting to ftp.belnet.be (ftp.belnet.be)|193.190.67.98|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1996488704 (1.9G) [application/x-iso9660-image]
    Saving to: ‘ubuntu-18.04.2-desktop-amd64.iso.1’
    
    ubuntu-18.04.2-desktop-amd64.iso 100%[=======================================================>]   1.86G  12.4MB/s    in 3m 32s  
    
    2019-03-09 09:55:41 (8.97 MB/s) - ‘ubuntu-18.04.2-desktop-amd64.iso.1’ saved [1996488704/1996488704]
    
    rock64@rockpro64:~$ netstat -i
    Kernel Interface table
    Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0      1500  2340948      0      0 0       1072892      0      0      0 BMRU
    lo       65536       88      0      0 0            88      0      0      0 LRU
    wlan0     1500        0      0      0 0             0      0      0      0 BMU
    rock64@rockpro64:~$ 
    

    Fazit

    Mein Download auf die SD-Karte stockt immer mal wieder (Kernel 4.4.x), wenn ich auf NVMe SSD schreiben kann (Kernel 5.0.0) geht das ohne Pausen. Die Retr im iperf3 -c 192.168.3.213 sehen nicht schön aus, aber ich habe keine Ahnung ob das irgendwie wichtig ist. Mal Kamil fragen...

    Sieht so aus, als wenn man wieder ein Problem weniger hätte!?

  • ROCKPro64 - Debian 11 installieren

    ROCKPro64 bullseye debian rockpro64
    1
    0 Stimmen
    1 Beiträge
    513 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Kernel 5.6 und Wireguard 1.0

    ROCKPro64 linux rockpro64 wireguard
    1
    0 Stimmen
    1 Beiträge
    353 Aufrufe
    Niemand hat geantwortet
  • Armbian 5.4.0-rc1

    Armbian armbian rockpro64
    5
    4
    0 Stimmen
    5 Beiträge
    472 Aufrufe
    FrankMF
    Gut, ich bin nicht der einzige, der ständig damit Probleme hat. @tkaiser auch [image: 1578061215343-1036201d-a4b2-47be-a618-36003c07e0ce-grafik.png]
  • ROCKPro64 - RP64.GPIO

    Angeheftet Verschoben Hardware hardware rockpro64
    6
    1
    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 [image: 1537522070243-input_ergebnis.jpg] 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 https://www.youtube.com/watch?v=aPSC0Q0xInw
  • 0.6.59 released

    Verschoben Archiv rockpro64
    1
    0 Stimmen
    1 Beiträge
    576 Aufrufe
    Niemand hat geantwortet
  • u-boot-erase-spi-rockpro64.img.xz

    Verschoben Tools rockpro64
    1
    0 Stimmen
    1 Beiträge
    968 Aufrufe
    Niemand hat geantwortet
  • 4GB Version - Out of stock

    Verschoben Archiv rockpro64
    1
    1
    0 Stimmen
    1 Beiträge
    749 Aufrufe
    Niemand hat geantwortet
  • 2GB Version - Out of stock

    Verschoben Archiv rockpro64
    1
    1
    0 Stimmen
    1 Beiträge
    749 Aufrufe
    Niemand hat geantwortet