Les hubs USB-C avec Ethernet peuvent toujours faire tomber tout le réseau local

Nicolas Furno |

Ce n’est pas nouveau, mais le sujet est ressorti récemment, notamment chez Michael Tsai : les hubs USB-C qui intègrent un port Ethernet peuvent avoir la fâcheuse tendance à bloquer tout le réseau local quand ils sont alimentés, mais non reliés à un ordinateur. C’est un phénomène que j’avais moi-même pu vivre lors de mes essais de hubs USB-C pour iPad Pro, début 2019. Sur les neuf modèles testés, deux hubs m’avaient posé problème.

Comparatif : neuf hubs USB-C pour l’iPad Pro

Comment un hub USB-C peut bloquer un réseau local en entier ? C’est une combinaison de petits facteurs qui, pris séparément, ne sont pas gênants, mais qui peuvent conduire à ce bug majeur. Seuls les hubs USB-C qui reposent sur la norme Power Delivery pour transmettre l’énergie fournie par un adaptateur secteur sont concernés, car ils restent actifs en permanence, même quand ils ne sont pas branchés à un appareil. Ceux qui intègrent une prise Ethernet peuvent aussi la laisser en permanence active.

Un hub USB-C avec prise Ethernet, ici relié à un iPad Pro.

Une connexion USB n’étant pas toujours fiable à 100 %, tous les hubs et adaptateurs doivent prévoir un mécanisme pour éviter de perdre des données en cas de brève interruption de la connexion. Techniquement, la meilleure option est d’ajouter un « buffer », une mémoire tampon qui prend le relai lors de ces coupures, mais cela ajoute de la complexité et du coût au produit. C’est pourquoi les constructeurs de hubs optent souvent pour d’autres méthodes, parmi lesquelles le mécanisme de pause pour l’Ethernet.

Pour faire simple, la spécification Ethernet prévoit une commande « pause » qui interrompt la réception ou l’envoi de nouvelles données pendant un court instant. Les hubs USB-C peuvent l’utiliser pour éviter la perte de données du côté de l’Ethernet : quand le lien avec l’ordinateur est rompu, une pause est demandée et les données ne seront plus transmises par erreur tant que c’est le cas. Mais si cela fonctionne pour des coupures intermittentes, c’est plus gênant quand le hub est toujours alimenté sans être relié à un ordinateur.

Dans ce cas de figure, les hubs USB-C envoient constamment la commande pause sur le réseau local, ce qui ne suffit toujours pas pour le bloquer entièrement. Pour cela, il faut ajouter un dernier facteur : le routeur DHCP, celui qui attribue des IP à tous les appareils locaux — la box ADSL ou fibre par défaut —, est lui aussi impliqué. Tous les modèles ne respectent pas correctement la spécification Ethernet et en particulier, certains modèles peuvent transmettre la commande de pause à tous les appareils présents sur le réseau local, qu’ils soient reliés en filaire ou en Wi-Fi. Le réseau entier est alors mis en pause et tous les appareils sont inaccessibles tant que le hub reste alimenté sans être relié à un ordinateur.

Cette situation malheureuse n’est pas récente et elle est toujours d’actualité. Il existe encore de nombreux produits qui sont concernés par ce bug et il est difficile de savoir à l’avance si ce sera le cas d’un modèle en particulier, d’autant que même des marques reconnues sont touchées.

Accédez aux commentaires de l'article