adaptateur USB 3.0 <> RJ45 2.5Gb: vos experiences

bonsoir,
utilisez vous le Wol sur le réseau crée par l'adaptateur ( ugreen) pour ma part , car je constate que le Wol est disponible ( 718+) seulement sur les ports ethernet 1 et 2 et pas sur le 3 ( celui crée par l'adaptateur) , comment faîtes vous ? merci
 
hello,

un troisième adaptateur AliExpress USB 3.0 > RJ45 sur 5 à lâché aujourd'hui !

avec un peu de recul ils tiennent entre 18 et 24 mois en H24, donc pour 10€ en moyenne cela m'a permis de passer d'anciens NAS en 1Gb en 2.5Gb pour pas chère, alors c'est pas mal (y)

bon j'ai commandé un Ugreen à 25€ qui j’espère tiendra plus longtemps, sachant qu'on en a en USB C depuis plus d'un an sur PC (donc pas du H24) et qui fonctionne sans soucis ...

Dominique ;)
 
J'utilise aussi des ugreen. Un sur le NAS et un autre sur un PC.
Est-ce que quelqu'un utilise un bond active/sauvegarde dans DSM Synology paramètre reseau interfaces.
Ça permet de brancher deux interfaces LAN ou plus sur un switch et de basculer sur l'interface de secours en cas de panne.
Les avantages:
-Pas de problème de boucle quand plusieurs interfaces sont connectées sur le réseau.
-Une seule interface active (2.5), les autres sont en secours.
-Une seule adresse IP, celle du bond.
-Basculement instantané.
 
Avant d'utiliser, est-il possible de changer l'ordre des LAN pris en compte? Je n'ai pas trouvé l'info.
 
Avant d'utiliser, est-il possible de changer l'ordre des LAN pris en compte? Je n'ai pas trouvé l'info.
Qu’est-ce que tu entends par là ?
Si c’est réorganiser les LAN1 LAN2 etc , alors non ce n’est pas possible …
Même chose pour eth0, eth1… c’est le système qui décide.

Par contre si tu veux tu peux désactiver certaines interface pour n’avoir plus que celle la plus rapide (j’ai eu des soucis de routes quand je laissais une des interface d’origine de mon 920+ avec celle de l’adaptateur 2,5G. J’ai du désactiver l’interface en 1G pour que tout passe par la 2,5G. J’ai un script qui s’occupe de ça et qui vérifie via une tâche planifiée si l’interface 2,5G est toujours UP , et si elle est ko le script réactive l’interface 1G)
 
Ok merci pour ta réponse.
j'avais testé ton script sur mon 920+ et j'avais eu des problèmes de plantage sans avoir pu déterminer la raison.
J'ai refait des tests ce matin et cela a peut-être changé depuis tes constatations et les évolutions de DSM.
j'ai fait un bond mode Actif/sauvegarde avec LAN1 et LAN3. je n'ai pas branché LAN2 car pas de place sur le switch actuellement. LAN3 est mon adaptateur USB 2.5
Rien d'autre, aucun script.
Dans mes tests et vérifications avec SSH, il n'y a qu'une interface utilisée. C'est l'interface de secours qui reste si la principale tombe puis revient.
c'est à dire que si je rebranche le LAN3 USB 2.5 sur le switch, LAN1 reste utilisé. vérifié avec cette commande:
sudo ovs-appctl bond/show
j'ai vérifié que quand 2 LAN sont disponibles, tout passe par le même, jamais les deux en même temps avec la cde:
sudo route -n
Ca semble dire (si j'interprete correctement le résultat) qu'il n'est pas nécéssaire de désactiver les LAN non utilisés.

Ca m'a donné l'idée de tester uniquement les vitesses des LAN valides présents dans les esclaves du BOND et de mettre le plus rapide si la connexion n'est pas déjà la plus rapide.
il faut simplement faire un BOND mode Actif/Sauvegarde une fois pour toutes, l'ip étant ainsi définie. dans mon cas toutes, Lan1 Lan2 et Lan3.
Le script trouve toutes les interfaces 'enabled' du bond et les classe par vitesse.
si la vitesse la plus rapide détectée est plus rapide que le eth slave utilisé, le script sélectionne cette interface, sinon il ne fait rien.
ca semble fonctionner.
si je supprime ou installe VMM, ça casse le BOND par contre.
je fais mes tests
 
  • J'aime
Réactions: MilesTEG
pour eviter que ca casse quand le paquet VMM est retiré ou installé,
j'ai un script sh au démarrage qui remet systématiquement le ethx détecté sur port usb dans le bond.
en fait instantanément, il sort le ethx usb du Bond et il le réintegre. c'est bien plus rapide que la manip dans DSM de création de bond.
Code:
# Integre l'adaptateur ethx détecté sur USB dans le BOND mode Actif/Sauvegarde déjà créé
USB_IFACE=$(for iface in $(ls /sys/class/net/ | grep "^eth"); do if readlink /sys/class/net/$iface | grep -q usb; then echo $iface; fi; done)
if [ -n "$USB_IFACE" ]; then
    sudo ovs-vsctl --id=@$USB_IFACE get Interface $USB_IFACE -- remove Port bond0 interfaces @$USB_IFACE ; sudo ovs-vsctl del-port ovs_bond0 bond0 && sudo ovs-vsctl add-bond ovs_bond0 bond0 eth0 eth1 $USB_IFACE
else
    echo "$(date +'%d/%m/%Y %H:%M:%S'): adaptateur USB absent"
fi

et le script toutes les min qui déclare systématiquement le ethx le plus rapide en active slave:
Code:
[CODE=bash]#!/bin/sh

if sudo ovs-appctl bond/show bond0 > /dev/null 2>&1; then

    BEST=$(for iface in $(sudo ovs-appctl bond/show bond0 2>/dev/null \

        | awk '/slave eth/{iface=$2} /enabled/{print iface}' \

        | tr -d ':'); \

        do speed=$(cat /sys/class/net/${iface}/speed 2>/dev/null); \

        echo "$speed $iface"; \

        done | sort -rn)

    MAX_SPEED=$(echo "$BEST" | head -1 | awk '{print $1}')

    ACTIVE=$(sudo ovs-appctl bond/show bond0 2>/dev/null | grep "active slave mac" | sed 's/.*(\(.*\))/\1/')

    ACTIVE_SPEED=$(cat /sys/class/net/${ACTIVE}/speed 2>/dev/null)

    if [ "$ACTIVE_SPEED" != "$MAX_SPEED" ]; then

        NEW_IFACE=$(echo "$BEST" | head -1 | awk '{print $2}')

        sudo ovs-appctl bond/set-active-slave bond0 $NEW_IFACE > /dev/null 2>&1

        echo "$(date +'%d/%m/%Y %H:%M:%S'): bascule vers $NEW_IFACE ${MAX_SPEED}Mbps"

    fi

fi
[/CODE]

ce script fonctionne chez moi.
je n'ai pas retesté le tien qui relance le paquet bb-qq et désactive les autres eth.
 
  • J'aime
Réactions: MilesTEG
Petite mise à jour du script au démarrage, adaptatif au Bond.

Code:
# Utile en cas de montage/démontage du paquet VMM (ovs)
# Integre l'adaptateur ethx si détecté sur USB dans le BOND mode Actif/Sauvegarde déjà créé

USB_IFACE=$(for iface in $(ls /sys/class/net/ | grep "^eth"); do if readlink /sys/class/net/$iface | grep -q usb; then echo $iface; fi; done)
if [ -n "$USB_IFACE" ]; then
    BOND_IFACES=$(sudo ovs-vsctl list-ifaces ovs_bond0 | grep "^eth" | grep -v "$USB_IFACE" | tr '\n' ' ')
    sudo ovs-vsctl --id=@$USB_IFACE get Interface $USB_IFACE -- remove Port bond0 interfaces @$USB_IFACE ; sudo ovs-vsctl del-port ovs_bond0 bond0 && sudo ovs-vsctl add-bond ovs_bond0 bond0 $BOND_IFACES $USB_IFACE
else
    echo "$(date +'%d/%m/%Y %H:%M:%S'): adaptateur USB/RJ45 absent"
fi
 
  • J'aime
Réactions: MilesTEG
Une modification coté script principal, afin de réintegrer l'adaptateur USB au Bond Actif/Sauvegarde si il est rebranché à chaud.
Le principe d'un Bond Actif/Sauvegarde est d'activer une seule interface eth LAN et de gerer les LAN de secours en cas de panne, de câble débranché, etc.
Quelque soit l'interface activée par le bond Actif/Sauvegarde, le NAS sera toujours accessible par l'ip définie lors de la création du Bond.
Le script s'assure que le Bond utilise toujours l'interface disponible la plus rapide.
Le Bond mode Actif/Sauvegarde doit avoir été créé préalablement.
Cette modification rend le script compatible avec le branchement à chaud de l'adaptateur 2.5Gb décrit dans le github bb-qq sudo bash /var/packages/r8152/scripts/install-udev-rules
En l'état le script permet aussi de se passer du script de démarrage décrit plus haut car il réintégrera l'adaptateur au Bond au premier lancement si besoin.
Dans mon utilisation personnelle, jai gardé le script de démarrage pour une première détection à l'initialisation.
Le code:
Code:
#!/bin/sh
if sudo ovs-appctl bond/show bond0 > /dev/null 2>&1; then

    # Détection de l'interface USB réseau
    USB_IFACE=$(for iface in $(ls /sys/class/net/ | grep "^eth"); do if readlink /sys/class/net/$iface | grep -q usb; then echo $iface; fi; done)

    # Réintégration si USB présent et absent du bond (rebranché à chaud)
    if [ -n "$USB_IFACE" ]; then
        if ! sudo ovs-appctl bond/show bond0 | grep -q "slave $USB_IFACE"; then
            BOND_IFACES=$(sudo ovs-vsctl list-ifaces ovs_bond0 | grep "^eth" | grep -v "$USB_IFACE" | tr '\n' ' ')
            sudo ovs-vsctl --id=@$USB_IFACE get Interface $USB_IFACE -- remove Port bond0 interfaces @$USB_IFACE 2>/dev/null ; \
            sudo ovs-vsctl del-port ovs_bond0 bond0 && \
            sudo ovs-vsctl add-bond ovs_bond0 bond0 $BOND_IFACES $USB_IFACE
            echo "$(date +'%d/%m/%Y %H:%M:%S'): $USB_IFACE réintégré dans le bond"
        fi
    fi

    # Priorité à l'interface la plus rapide
    BEST=$(for iface in $(sudo ovs-appctl bond/show bond0 2>/dev/null \
        | awk '/slave eth/{iface=$2} /enabled/{print iface}' \
        | tr -d ':'); \
        do speed=$(cat /sys/class/net/${iface}/speed 2>/dev/null); \
        echo "$speed $iface"; \
        done | sort -rn)
    MAX_SPEED=$(echo "$BEST" | head -1 | awk '{print $1}')
    ACTIVE=$(sudo ovs-appctl bond/show bond0 2>/dev/null | grep "active slave mac" | sed 's/.*(\(.*\))/\1/')
    ACTIVE_SPEED=$(cat /sys/class/net/${ACTIVE}/speed 2>/dev/null)
    if [ "$ACTIVE_SPEED" != "$MAX_SPEED" ]; then
        NEW_IFACE=$(echo "$BEST" | head -1 | awk '{print $2}')
        sudo ovs-appctl bond/set-active-slave bond0 $NEW_IFACE > /dev/null 2>&1
        echo "$(date +'%d/%m/%Y %H:%M:%S'): bascule vers $NEW_IFACE ${MAX_SPEED}Mbps"
    fi
fi

Sur mon 920+ le script est lancé toutes les minutes par le Planificateur de tâches.
Hyper rapide, quelques millisecondes, ne consomme pas de ressource.
 
  • J'aime
Réactions: MilesTEG
Ha tu passes par un bond !
Mon script ne fonctionnera pas avec ça :)
Je ne connais pas la commande route -n
Peut être que ça pourrait remplacer le script... un jour si j'ai du temps je regarderais.

Sympa ton script à toi pour la gestion d'un bond avec VMM ;)
 
Je gerais mes interfaces basiquement avec des ip differentes. et j'avais à priori une boucle, d'où mes problèmes inexpliqués de latences aléatoires qui m'ont fait ch*** longtemps.
Puis j'ai découvert par hasard le bond Actif/Sauvegarde. Déjà plus de souci de gestion des ip des interfaces, et du même coup plus de latences aléatoires car une seule liaison LAN.
restait à regler le besoin d'utiliser la connexion la plus rapide si possible.
j'avais déjà essayé ton script, donc j'y ai repensé et j'ai essayé de faire un script avec le bond.
il se trouve que ovs est integré à DSM si mes tests sont bons (je me méfie car il est très facile de se tromper dans des tests et de se faire avoir avec des certitudes)
 
  • J'aime
Réactions: MilesTEG
c'est pas au point parfaitement. ca bloque parfois au démarrage et ovs n'est plus toujours synchro avec DSM. je vais passer par l'API DSM plutot que ovs direct en SSH pour grder la synchro.
 
Après plusieurs tests qui confirment l'expérience d'utilisateurs sur le github bb-qq, je n'ai pas réussi à trouver une méthode robuste pour redémarrer proprement un bond contenant un adaptateur USB Lan, le redémarrage entraînant trop souvent la perte de connexion avec le NAS.
Pour éviter ce problème, j'utilise un script shutdown.sh à l'extinction (tâche planifiée).
Ce script teste la présence d'une interface USB Lan dans le Bond.
Si cette interface est trouvée, le script supprime le Bond et reconstruit le Bond sans l'interface USB lan.
La reconstruction sans l'adaptateur USB avant l'arret assure que le nas sera joignable au prochain redémarrage.
Après redémarrage, pour utiliser l'interface USB dans le bond, il faut recréer le Bond 'Mode actif/sauvegrde'.
Le second script priority_lan.sh a pour but de déclarer en 'active-slave' l'interface la plus rapide du Bond, l'interface USB 2.5Gb dans mon cas.
Sur mon NAS, ce script est lancé par une tache executée toutes les minutes depuis le Planificateur de tâches.
Si la liaison 2.5Gb tombe ou si l'adaptateur est débranché, le Bond 'actif/sauvegarde' passe sur une autre interface Lan, et le script sélectionne la plus rapide.
Lorsque l'adaptateur USB 2.5Gb est rebranché et détecté par DSM, il intègre le Bond 'actif/sauvegarde' d'origine. Le script priority_lan.sh l'utilisera en 'active-slave' puisqu'il est plus rapide.
Pour que l'adaptateur USB 2.5Gb puisse être détecté 'à chaud par DSM' et pas uniquement au démarrage, il faut utiliser sudo bash /var/packages/r8152/scripts/install-udev-rules comme indiqué dans le Github bb-qq.
Ces scripts sont utilisés avec un bond mode 'actif/sauvegarde' uniquement. Cela ne fonctionnera pas avec un autre type de Bond.
Il faut que le bond soit créé avant d'utiliser les scripts.
IMPORTANT: Le Bond NE DOIT PAS ETRE CRÉÉ avec l'adresse IP de l'adaptateur USB/RJ45

Les scripts que j'utilise:
Code:
#!/bin/sh
# shutdown.sh à lancer par une tache déclenchée evenement: éteindre
# fonctionne uniquement avec Bond actif/sauvegarde
# le script supprime l'adaptateur USB/RJ45 du bond avant extinction du nas
# version avec détection dynamique de l'adaptateur USB

USB_IFACE=$(for iface in $(ls /sys/class/net/ | grep "^eth"); do if readlink /sys/class/net/$iface | grep -q usb; then echo $iface; fi; done)
if [ -n "$USB_IFACE" ]; then
# version synonet
    BOND_NAME=$(synonet --la_enum 2>/dev/null | grep "^bond[0-9][0-9]*$")
    if [ -n "$BOND_NAME" ]; then
        BOND_IFACES=$(synonet --la_get "$BOND_NAME" 2>/dev/null | awk -F': ' '/Slaves:/ {print $2}' | tr ' ' '\n' | grep "^eth" | grep -v "^$USB_IFACE$" | tr '\n' ' ' | xargs)
        if [ -n "$BOND_IFACES" ]; then
            synonet --la_del "$BOND_NAME"
            if [ "$(echo "$BOND_IFACES" | wc -w | tr -d ' ')" -ge 2 ]; then synonet --la_new "$BOND_NAME" 4 $BOND_IFACES; fi
            echo "$(date +'%d/%m/%Y %H:%M:%S'): $USB_IFACE retiré du bond avant extinction"
        fi
    fi
fi
exit 0

Code:
#!/bin/sh
# priority_lan.sh à lancer avec une tâche planifiée définie par l'utilisateur
# fonctionne uniquement avec Bond actif/sauvegarde
# le script privilégie l'interface la plus rapide
# version avec détection dynamique de l'adaptateur USB

if sudo ovs-appctl bond/show bond0 > /dev/null 2>&1; then

    # Détection de l'interface USB réseau
    USB_IFACE=$(for iface in $(ls /sys/class/net/ | grep "^eth"); do if readlink /sys/class/net/$iface | grep -q usb; then echo $iface; fi; done)

    # Priorité à l'interface la plus rapide
    BEST=$(for iface in $(sudo ovs-appctl bond/show bond0 2>/dev/null \
        | awk '/slave eth/{iface=$2} /enabled/{print iface}' \
        | tr -d ':'); \
        do speed=$(cat /sys/class/net/${iface}/speed 2>/dev/null); \
        echo "$speed $iface"; \
        done | sort -rn)
    MAX_SPEED=$(echo "$BEST" | head -1 | awk '{print $1}')
    ACTIVE=$(sudo ovs-appctl bond/show bond0 2>/dev/null | grep "active slave mac" | sed 's/.*(\(.*\))/\1/')
    ACTIVE_SPEED=$(cat /sys/class/net/${ACTIVE}/speed 2>/dev/null)
    if [ "$ACTIVE_SPEED" != "$MAX_SPEED" ]; then
        NEW_IFACE=$(echo "$BEST" | head -1 | awk '{print $2}')
        sudo ovs-appctl bond/set-active-slave bond0 $NEW_IFACE > /dev/null 2>&1
        echo "$(date +'%d/%m/%Y %H:%M:%S'): bascule vers $NEW_IFACE ${MAX_SPEED}Mbps"
    fi
fi
exit 0
 
Dernière édition:
hello,


doit y avoir un truc que je comprend pas mais que cela soit sur nos vieux NAS AS6302T ou nos PC sous W11, j'ai jamais tapé une ligne de code en mettant un dongle, et quel soit la marque du chinois pas chère AliExpress à 10 balles ou le Ugreen > je branche, ça marche, je vérifie le débit, c'est bon, ok et basta :oops:

ça sert à quoi toutes ces lignes de codes ??


Dominique
 
Ça permet de répondre aux problemes de déconnexion que tu cites:
c'est effectivement ce qui ressort le plus: ça chauffe ... avec parfois des déconnections, donc pas terrible :(
Et particulièrement pour les NAS. J'ai un 920+, ce script est adapté à mon appareil et à ceux de la marque.
Ça permet aussi la continuité de service sur ce problème que tu as rencontré:
je plussoie ... en plus d'un an sur les 5 achetés 2 sont HS > poubelle
Pour les memes raisons j'ai besoin d'un script pour surveiller et assurer la continuité du réseau 24/24 de façon optimale.
 
hello,


doit y avoir un truc que je comprend pas mais que cela soit sur nos vieux NAS AS6302T ou nos PC sous W11, j'ai jamais tapé une ligne de code en mettant un dongle, et quel soit la marque du chinois pas chère AliExpress à 10 balles ou le Ugreen > je branche, ça marche, je vérifie le débit, c'est bon, ok et basta :oops:

ça sert à quoi toutes ces lignes de codes ??


Dominique
Bonjour,

A l'origine, ce fil traitait de diverses questions concernant ces adaptateurs USB-Ethernet : ports USB-A vs USB-C, modèles qui chauffent plus ou moins, fiabilité, ...; implicitement, l'objectif était d'utiliser des adaptateurs 2.5 G pour bénéficier de meilleurs débits sur des NAS (ou ordinateurs) équipés de ports 1G.
A partir du message 66, le fil a dérivé sur l'utilisation de "bond" ou agrégation de liens : raccorder plusieurs interfaces du NAS, dont celle de l'adaptateur USB sur un switch pour bénéficier de fonctions de partage de charge ou redondance de liens. Les derniers messages concernent plutôt la redondance de liens et divers soucis dont un risque de perte d'accès au NAS que ces scripts visent à résoudre.
Si tu te contentes de raccorder ton NAS via uniquement l'adaptateur USB-Ethernet et si tu n'as pas de réels besoins de disponibilité 24x7, tu n'es pas concerné.

Merci à @jeu2 pour ses derniers messages sur l'utilisation de plusieurs interfaces réseau. Je n'ai pas vu le sujet abordé, mais quelqu'un aurait-il étudié une configuration en mode actif/actif pour bénéficier d'un débit de 2x1G avec les interfaces standard, donc pas très éloigné du 2,5 G, par exemple en LACP avec un switch adapté ?

EDIT : finalement, le mode 802.3ad est officiellement supporté selon
 
Dernière édition:
  • J'aime
Réactions: jeu2