[Réseau] Upload très lent avec contrôleur Realtek

Applications, problèmes de configuration réseau
archey
Daikyu
Messages : 57
Inscription : jeu. 10 nov. 2011, 17:53

[Réseau] Upload très lent avec contrôleur Realtek

Message par archey »

Bonsoir tout le monde,

Voilà, je me permet de poster ici aujourd'hui pour un problème de réseau particulièrement lent sous ma machine Archlinux.

Je n'avais à ce jour jamais rencontré de problèmes spécifiques car cette machine n'était connectée qu'à Internet, et internet chez moi étant TREEEES lent (3.76 Mbps à l'instant sous speedtest), si ma carte réseau est détectée en 10Mbps au lieu de 1Gbs, ça ne change rien et impossible de détecter un problème.

Je ne m'en suis rendu compte que il y a 2 jours en connectant un NAS (Freenas) sur ce réseau.
Les uploads SAMBA (de mon PC vers le seveur FreeNas) me semblaient anormalement lents pour une connexion Gigabit (1 Mio/s le transfert SAMBA, la cata).
Les downloads (du serveur FreeNas vers mon PC) quant à eux sont corrects, pas extraordinaires mais corrects (33.7 Mio/s)

En faisant des tests avec IPerf, il semblerait que l'upload soit annormalement lent.
Ci-dessous, le résultat des tests avec comme appareils connectés au réseau :
- serveur Freenas
- PC sous Archlinux
- 2 Raspberry Pi 2B+

=============
PC Archlinux (dans le salon, à 6m du switch Core 2 Duo / 4Gb / SSD)
=============
PC Archlinux > Serveur FreeNas :
0.0-10.1 sec 10.6 MBytes 8.84 Mbits/sec
PC Archlinux > Raspberry Pi No1 :
0.0-10.0 sec 22.0 MBytes 18.4 Mbits/sec
PC Archlinux > Raspberry Pi No2 :
0.0-10.1 sec 16.5 MBytes 13.8 Mbits/sec

==============
SERVEUR FREENAS (connecté en direct au switch)
==============
Serveur FreeNas > PC Archlinux :
0.0-10.1 sec 1.11 GBytes 942 Mbits/sec
Serveur FreeNas > Raspberry Pi No1 :
0.0-10.0 sec 97.5 MBytes 81.7 Mbits/sec
Serveur FreeNas > Raspberry Pi No2 :
0.0-10.0 sec 83.8 MBytes 70.1 Mbits/sec

==============
Raspberry Pi No1 (dans le garage au froid à 10m du switch avec une caméra USB connectée)
==============
Raspberry Pi No1 > Serveur FreeNas :
0.0-10.0 sec 60.0 MBytes 50.2 Mbits/sec
Raspberry Pi No1 > PC Archlinux :
0.0-10.0 sec 59.5 MBytes 49.7 Mbits/sec
Raspberry Pi No1 > Raspberry Pi No2 :
0.0-10.0 sec 86.0 MBytes 72.0 Mbits/sec

==============
Raspberry Pi No2 (connecté en direct au switch mais avec plein de périphériques connectés en USB)
==============
Raspberry Pi No2 > PC Archlinux :
0.0-10.0 sec 38.0 MBytes 31.7 Mbits/sec
Raspberry Pi No2 > PC Archlinux :
0.0-10.0 sec 41.2 MBytes 34.5 Mbits/sec
Raspberry Pi No2 > Raspberry Pi No1 :
0.0-10.0 sec 39.0 MBytes 32.6 Mbits/sec

Comme on peut le constater, le PC sous Archlinux galère comme pas permis à accéder aux autres appareils. Les autres appareils eux communiquent normalement avec ce même PC (et entre eux).
Même les Raspberry avec une interface réseau 100Mb/s (partagée avec l'USB) envoient des fichiers plus rapidement sur le NAS que mon PC avec interface Gigabit.

Donc, manifestement, le problème vient bien de mon PC sous Archlinux.

==================================

Maintenant que le problème est identifié, j'ai tenté de le résoudre.

Mon PC a un controleur ethernet intégré à la carte mère, ce contrôleur réseau est Realtek (c'est peut-être la cause à mes problèmes, tout le monde semble conseiller du Intel).

J'ai ensuite suivi le WIKI et essayé de voir ce qui n'était pas bien configuré (et à priori, tout semble OK).
[wikiorg]https://wiki.archlinux.org/index.php/Ne ... n/Ethernet[/wikiorg]

Code : Tout sélectionner

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: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1e:8c:c4:f4:18 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global dynamic noprefixroute enp2s0
       valid_lft 4599sec preferred_lft 3699sec
    inet6 fe80::e03d:72e:bb63:1a1c/64 scope link 
       valid_lft forever preferred_lft forever

Code : Tout sélectionner

lspci -v
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)
        Subsystem: Hewlett-Packard Company Asus IPIBL-LB Motherboard
        Flags: bus master, fast devsel, latency 0, IRQ 18
        I/O ports at e800 [size=256]
        Memory at febff000 (64-bit, non-prefetchable) [size=4K]
        Memory at fbff0000 (64-bit, prefetchable) [size=64K]
        Expansion ROM at febc0000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: r8169
        Kernel modules: r8169
Le module r8169 semble correctement chargé

Code : Tout sélectionner

dmesg | grep r8169
[    5.776575] r8169 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control
[    5.780355] libphy: r8169: probed
[    5.780805] r8169 0000:02:00.0 eth0: RTL8168c/8111c, 00:1e:8c:c4:f4:18, XID 3c2, IRQ 18
[    5.780808] r8169 0000:02:00.0 eth0: jumbo features [frames: 6128 bytes, tx checksumming: ko]
[    5.951923] r8169 0000:02:00.0 enp2s0: renamed from eth0
[    7.959286] RTL8211B Gigabit Ethernet r8169-200:00: attached PHY driver [RTL8211B Gigabit Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[    8.053927] r8169 0000:02:00.0 enp2s0: Link is Down
[   10.844875] r8169 0000:02:00.0 enp2s0: Link is Up - 1Gbps/Full - flow control off
Toujours d'après le wiki, il est conseillé en cas de problèmes de blacklister le module r8169 et d'essayer avec le module r8168 mais malgré cette lueur d'espoir, le résultat reste le même.

Le PC est connecté à un routeur PFSense qui fournit IPv4 et DNS (pas d'IPv6, devrais-je désactiver la couche IPv6 dans Archlinux?)

Code : Tout sélectionner

# Generated by resolvconf
domain mondomaine.fr
nameserver 192.168.0.1
Donc, voilà où j'en suis à ce jour. Je me tâte à acheter une carte réseau Intel PCI Express 1x, on peut en trouver à pas très cher, mais il serait dommage de consommer toujours plus si ce n'est qu'un problème de configuration et que mon contrôleur intégré peut fonctionner normalement.
Si vous avez des idées de tests à effectuer, n'hésitez pas, je suis preneur. Si vous avez besoin d'informations complémentaires, je vous les donnerai avec plaisir.

D'avance, merci pour votre aide.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Réseau] Upload très lent avec contrôleur Realtek

Message par benjarobin »

Bonjour,
Si on met de côté ton pc sous arch Linux, je trouve que les performances sont très médiocres.
Le fait de brancher plein de périphérique USB, ne devrait pas consommer trop de bande passante, à moins de faire un transfert de fichiers... Car on parle de 400 Mbits...

C'est quoi la référence de ton Switch ethernet ? C'est quoi comme câble ethernet, quelle catégorie, blindage... ?
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
archey
Daikyu
Messages : 57
Inscription : jeu. 10 nov. 2011, 17:53

Re: [Réseau] Upload très lent avec contrôleur Realtek

Message par archey »

Bonjour Benjaromin, merci pour ta réponse.

Alors, voici la config du réseau en question.
Routeur PFSense = APU1D4 = https://www.osnet.eu/fr/shop/appliances/firewall-apu1d4
Switch D-link DGS-1210-28 = https://www.ldlc.com/fiche/PB00143567.html
Cables CAT6 S/FTP (dans l'armoire informatique) = https://www.ldlc.com/fiche/PB00031499.html
Cables CAT 6A/FTP Leroy Merlin (pour tout ce qui court dans la maison, connectés côté murs avec des prises legrand et côté armoire informatique des prises coccinelles socamont = https://www.socamont.com/connecteur-rj4 ... ,71009.cfm

Le switch a gardé sa configuration par défault à part son adresse IP qui lui est attribuée par le routeur en DHCP (par défaut adresse en 10.0.01 je crois).

Le gros de la config est au niveau du routeur, ce dernier fait :
- DHCP
- Resolveur DNS
- NTP
- Proxy (squid/squidguard)
- PFBlockerNG (DNSBL) (qui bloque tout ce qui est pub/pistage/etc...)
- Portail captif pour le WIFI

Concernant les débits, ils ne sont pas fous en effet. A savoir qu'au moment des tests, Mme regardait la TV (vu mon débit internet, pas de box TV, un des raspberry récupère le flux de l'antenne rateau pour l'envoyer par le réseau à un autre raspberry avec kodi derrière la TV). Peut-être que ça joue car ça reste un flux full HD malgré tout.

Si c'était à refaire je ne mettrais pas du CAT6A/FTP dans les murs de la maison, mais à 70€ les 100m je ne pouvais mettre beaucoup plus à l'époque. Aujourd'hui, je mettrais plutôt du Grade 3+.

L'ensemble n'est pas mirrobolant, ça reste du matériel pas cher non professionnel, mais je ne recherche pas non plus le 10Gb/s, ça ne reste que des besoins d'un particulier.
Qu'en penses-tu?
Dernière modification par archey le mer. 04 mars 2020, 21:00, modifié 1 fois.
archey
Daikyu
Messages : 57
Inscription : jeu. 10 nov. 2011, 17:53

Re: [Réseau] Upload très lent avec contrôleur Realtek

Message par archey »

Bonsoir,

Bon, j'ai récupérer temporairement d'un collègue un adaptateur USB>RJ45 100Mbits au moins le temps de faire quelques tests.

Plutôt qu'un long discours, voici 2 images montrant les perfs réseaux avant (avec le contrôleur Realtek sur mon PC arch).
Image

et après (contrôleur Realtek désactivé et dongle USB/ethernet branché toujours sur mon PC arch). J'ai voulu faire le test avec toutes les machines malgré tout car avec ce que tu m'as dit benjaromin, je me suis dit que peut-être le contôleur Realtek floodait le réseau et provoquait du coup des ralentissements généraux (ce qui n'a pas l'air d'être le cas soit dit en passant).
Image

Donc voilà, plus de questions à se poser, c'est bien le contrôleur Realtek qui merde (ou est mal configuré), aussi, la config du routeur PFSense à l'air OK.
==========================
Du coup, pensez vous que la configuration de mon contrôleur Realtek sous Archlinux est à revoir (je ne vois pas trop au premier abord, mais on ne sait jamais)?
Ou alors, c'est le contrôleur de la Carte Mère (ou la Carte Mère toute entiere) qui a déjà un pied dans la tombe.
Quel est votre avis sur la question? Devrais-je déjà commander une carte réseau Ethernet PCI Express 1x?

Merci d'avance pour votre aide sur le sujet.

/edit
C'est tout de même bizarre que ce ne soit que l'upload de mon contrôleur Realtek qui merde. Le download lui est à fond (en tout cas, correspondant à du Gigabit ethernet)
laurent85
Elfe
Messages : 954
Inscription : mar. 16 oct. 2018, 21:05

Re: [Réseau] Upload très lent avec contrôleur Realtek

Message par laurent85 »

C'est quoi les retours de :

Code : Tout sélectionner

sudo ethtool enp2s0
ethtool -S enp2s0
lspci -nn -d ::0200
Les valeurs du ping c'est pareil dans les 2 sens en moyenne ? Fais un test avec ping -c10 ip_distante
archey
Daikyu
Messages : 57
Inscription : jeu. 10 nov. 2011, 17:53

Re: [Réseau] Upload très lent avec contrôleur Realtek

Message par archey »

Bonsoir Laurent, merci beaucoup pour ton aide.

Voici le retour des commandes demandées ci-dessous :

Code : Tout sélectionner

ethtool enp2s0                   
Settings for enp2s0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
                                             1000baseT/Full 
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes
A priori, je suis bien en 1000baseT/Full Duplex, sur le papier tout du moins (après le reste des infos te parlera surement plus qu'à moi).

Code : Tout sélectionner

ethtool -S enp2s0
NIC statistics:
     tx_packets: 448477
     rx_packets: 954193
     tx_errors: 0
     rx_errors: 0
     rx_missed: 182
     align_errors: 0
     tx_single_collisions: 0
     tx_multi_collisions: 0
     unicast: 954083
     broadcast: 110
     multicast: 0
     tx_aborted: 0
     tx_underrun: 0
rx_missed: 182, ça correspond à quoi exactement? Ca ne semble pas normal en tout cas. Pareil, ça te parlera surement plus qu'à moi :(.

Code : Tout sélectionner

lspci -nn -d ::0200
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 02)
Bien joué, je n'avais même pas pensé à faire un ping entre les 2, comme quoi les choses les plus "basiques" sont celles qu'on oubli le plus facilement.
Donc, bien joué, en effet, il y a bien une différence. Dans l'ensemble le serveur Freenas galère plus à pinger mon PC archlinux que l'inverse (j'aurais imaginé l'inverse).

Freenas ping vers PC

Code : Tout sélectionner

root@freenas:~ # ping -c10 192.168.0.3
PING 192.168.0.3 (192.168.0.3): 56 data bytes
64 bytes from 192.168.0.3: icmp_seq=0 ttl=64 time=0.176 ms
64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.229 ms
64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.535 ms
64 bytes from 192.168.0.3: icmp_seq=3 ttl=64 time=0.215 ms
64 bytes from 192.168.0.3: icmp_seq=4 ttl=64 time=0.496 ms
64 bytes from 192.168.0.3: icmp_seq=5 ttl=64 time=0.197 ms
64 bytes from 192.168.0.3: icmp_seq=6 ttl=64 time=0.213 ms
64 bytes from 192.168.0.3: icmp_seq=7 ttl=64 time=0.215 ms
64 bytes from 192.168.0.3: icmp_seq=8 ttl=64 time=0.216 ms
64 bytes from 192.168.0.3: icmp_seq=9 ttl=64 time=0.206 ms

--- 192.168.0.3 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.176/0.270/0.535/0.124 ms
PC ping vers Freenas

Code : Tout sélectionner

[xxx@archlinux ~]$ ping -c10 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.344 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.151 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.171 ms
64 bytes from 192.168.0.2: icmp_seq=4 ttl=64 time=0.180 ms
64 bytes from 192.168.0.2: icmp_seq=5 ttl=64 time=0.189 ms
64 bytes from 192.168.0.2: icmp_seq=6 ttl=64 time=0.194 ms
64 bytes from 192.168.0.2: icmp_seq=7 ttl=64 time=0.190 ms
64 bytes from 192.168.0.2: icmp_seq=8 ttl=64 time=0.180 ms
64 bytes from 192.168.0.2: icmp_seq=9 ttl=64 time=0.186 ms
64 bytes from 192.168.0.2: icmp_seq=10 ttl=64 time=0.188 ms

--- 192.168.0.2 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9119ms
rtt min/avg/max/mdev = 0.151/0.197/0.344/0.050 ms
Encore merci pour ton aide sur le sujet.
N'hésites pas si des informations complémentaires te sont nécessaires.
laurent85
Elfe
Messages : 954
Inscription : mar. 16 oct. 2018, 21:05

Re: [Réseau] Upload très lent avec contrôleur Realtek

Message par laurent85 »

Il n'y a pas de pertes de paquets sur le réseau, donc à priori :
- le matériel réseau (switch, cable) n'est pas en cause
- la différence de ping est une autre illustration du symptôme sans donner d'autre piste
- rx_missed j'ai regardé la signification, des paquets sont perdus par la carte réseau parce que sa file d'attente est pleine.

Le pilote est peut-être en cause mais rx-missed indique un problème de capacité de la carte à traiter le flux de paquets trop rapide.

J'ai la même carte id [10ec:8168] (rev 02) sauf la génération plus récente pour moi (rev 0a) avec probablement son lot d'améliorations/corrections des générations précédentes :

Code : Tout sélectionner

lspci -nn -d ::0200 
05:00.2 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0a)
J'ai une autre différence sans rien faire de particulier s'agissant du pilote r8169 chargé par défaut :
"Link partner advertised pause frame use: Symmetric", au lieu de No dans ton cas.

Code : Tout sélectionner

sudo ethtool enp5s0f2   
Settings for enp5s0f2:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
                                             1000baseT/Half 1000baseT/Full 
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Réseau] Upload très lent avec contrôleur Realtek

Message par benjarobin »

Merci pour tous ces détails. Perplexe je suis (désolé je ne vais pas être d'une grande utilité)...
Tes RPI cela ne serait pas des "Raspberry Pi 1 Model B+" et non des "Raspberry Pi 2 Model B" ? Car la version que tu as indiqué n'existe pas. Et en effet la version 1 fournit ces performances.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Répondre