Skip to content

ROCKPro64 - LAN Schnittstelle

Verschoben ROCKPro64
  • 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 Bullseye Teil 1

    ROCKPro64 debian linux rockpro64
    17
    4
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    FrankMF
    Durch diesen Beitrag ist mir mal wieder eingefallen, das wir das erneut testen könnten Also die aktuellen Daten von Debian gezogen. Das Image gebaut, könnt ihr alles hier im ersten Beitrag nachlesen. Da die eingebaute Netzwerkschnittstelle nicht erkannt wurde, habe ich mal wieder den USB-to-LAN Adapter eingesetzt. Bus 005 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet Die Installation wollte ich auf einem NVMe Riegel installieren. Die Debian Installation durchgezogen und nach erfolgreicher Installation neugestartet. Und siehe da, ohne das man alles möglich ändern musste, bootete die NVMe SSD Eingesetzter uboot -> 2020.01-ayufan-2013...... Die nicht erkannte LAN-Schnittstelle müsste an nicht freien Treibern liegen, hatte ich da irgendwo kurz gelesen. Beim Schreiben dieses Satzes kam die Nacht und ich konnte noch mal drüber schlafen. Heute Morgen, beim ersten Kaffee, dann noch mal logischer an die Sache ran gegangen. Wir schauen uns mal die wichtigsten Dinge an. root@debian:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff 3: enx000acd26e2c8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0a:cd:26:e2:c8 brd ff:ff:ff:ff:ff:ff inet 192.168.3.208/24 brd 192.168.3.255 scope global dynamic enx000acd26e2c8 valid_lft 42567sec preferred_lft 42567sec inet6 fd8a:6ff:2880:0:20a:cdff:fe26:e2c8/64 scope global dynamic mngtmpaddr valid_lft forever preferred_lft forever inet6 2a02:908:1260:13bc:20a:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr valid_lft 5426sec preferred_lft 1826sec inet6 fe80::20a:cdff:fe26:e2c8/64 scope link valid_lft forever preferred_lft forever Ok, er zeigt mir die Schnittstelle eth0 ja an, dann kann es an fehlenden Treibern ja nicht liegen. Lässt dann auf eine fehlerhafte Konfiguration schließen. Nächster Halt wäre dann /etc/network/interfaces Das trägt Debian ein # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug enx000acd26e2c8 iface enx000acd26e2c8 inet dhcp # This is an autoconfigured IPv6 interface iface enx000acd26e2c8 inet6 auto Gut, bei der Installation hat Debian ja nur die zusätzliche Netzwerkschnittstelle erkannt, folgerichtig ist die auch als primäre Schnittstelle eingetragen. Dann ändern wir das mal... # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface #allow-hotplug enx000acd26e2c8 allow-hotplug eth0 #iface enx000acd26e2c8 inet dhcp iface eth0 inet dhcp # This is an autoconfigured IPv6 interface #iface enx000acd26e2c8 inet6 auto iface eth0 inet6 auto Danach einmal alles neu starten bitte systemctl status networking Da fehlte mir aber jetzt die IPv4 Adresse, so das ich einmal komplett neugestartet habe. Der Ordnung halber, so hätte man die IPv4 Adresse bekommen. dhclient eth0 Nachdem Neustart kam dann das root@debian:/etc/network# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 mq state UP group default qlen 1000 link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff inet 192.168.3.172/24 brd 192.168.3.255 scope global dynamic eth0 valid_lft 42452sec preferred_lft 42452sec inet6 fd8a:6ff:2880:0:6003:b0ff:fed6:dcb3/64 scope global dynamic mngtmpaddr valid_lft forever preferred_lft forever inet6 2a02:908:1260:13bc:6003:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr valid_lft 5667sec preferred_lft 2067sec inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link valid_lft forever preferred_lft forever 3: enx000acd26e2c8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 00:0a:cd:26:e2:c8 brd ff:ff:ff:ff:ff:ff Fertig, eth0 läuft. Nun kann man den zusätzlichen Adapter entfernen oder halt konfigurieren, wenn man ihn braucht. Warum der Debian Installer die eth0 nicht erkennt verstehe ich nicht, aber vielleicht wird das irgendwann auch noch gefixt. Jetzt habe ich erst mal einen Workaround um eine Installation auf den ROCKPro64 zu bekommen.
  • ROCKPro64 - RTL8111/8168/8411 Netzwerkkarte

    Hardware rockpro64
    4
    1
    0 Stimmen
    4 Beiträge
    463 Aufrufe
    K
    na denn, tippe ich mal so auf default konfiguriert per dhcp
  • ROCKPro64 - WLan-Antennen

    Hardware rockpro64
    1
    0 Stimmen
    1 Beiträge
    297 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - DKMS im Release RC12 möglich

    ROCKPro64 rockpro64
    1
    0 Stimmen
    1 Beiträge
    286 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Reset & Power Taster (extern)

    Hardware hardware rockpro64
    1
    1
    0 Stimmen
    1 Beiträge
    692 Aufrufe
    Niemand hat geantwortet
  • NAS/Server/Desktop Gehäuse

    Hardware hardware rockpro64
    6
    1
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    FrankMF
    Nettes Video https://www.youtube.com/watch?v=_UeeklKo0Og
  • ROCKPro64 - Wo stehen wir?

    ROCKPro64 rockpro64
    1
    0 Stimmen
    1 Beiträge
    636 Aufrufe
    Niemand hat geantwortet
  • Interessante Links

    ROCKPro64 rockpro64
    1
    0 Stimmen
    1 Beiträge
    688 Aufrufe
    Niemand hat geantwortet