Nous voici donc avec un ONU, qu’il faut brancher sur un switch équipé d’un port SFP, switch réglé pour que l’on puisse se connecter depuis un navigateur ou par ssh/telnet (j’ai même vu du telnet sans mot de passe, sur du matériel Italien…)
Une fois l’ONU préparé (SN changé, éventuellement LOID), on vérifie qu’il passe bien O5, par l’interface web ou bien en ligne de commande (j’y reviens vite)
Une fois qu’il passe O5, on active le support HSGMII 2.5Gbps
Revenons un instant aux 3 conditions,
- O5,
- 2.5Gbps,
- reconnaissance par le routeur.
On a les 2 premiers, mais pas le dernier.
Edit du 23 Novembre 2020 -Il nous faut convertir le media physique, depuis le coté SFP+ d'une interface qui accepte le débit Multigigabit de la fibre, vers un media accepté par le routeur CRR2004. La suite décrit la manipulation en mode gros hack poilu à base d'une carte Bi SFP+ PCIe trouvée pas cher sur Ebay, d'un type particulier.
Cependant, la piste d'un convertisseur de média est étudiée plus loin - https://lafibre.info/remplacer-livebox/guide-de-connexion-fibre-directement-sur-un-routeur-voire-meme-en-2gbps/msg813076/#msg813076 - Je mettrai à jour selon l'évolution des investigations. Edit du 6 Décembre 2020 -En fait, ça ne fonctionne pas, le convertisseur de média en question réagit un peu comme le CCR2004, il n'accepte que le 1 et le 10Gbps.
Oui, pas de bol.
Vous voici obligés de suivre et lire la suite, donc gogogo.
On va donc utiliser la carte BMC57810S pour parvenir à diriger le flux vers le routeur. On utilise une carte double SFP+ BMC57810S que l’on place dans un petit système Linux.
Les cartes double SFP+ BMC57810S se trouvent facilement sur ebay, avec et sans ventilateur. Prenez bien des versions SFP+, et non BASE-T RJ45.
https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2047675.m570.l1313&_nkw=BMC57810S+&_sacat=0Ma Dell N20KJ fonctionne à merveille, et m’a été livrée avec un cache postérieur court 1U qui sied parfaitement au boitier de mon serveur. Le ventilateur peut éventuellement être avantageusement remplacé par un Noctua NF-A4x10 FLX
https://www.amazon.fr/Noctua-NF-A4x10-FLX-Ventilateur-40x40x10mm/dp/B009NQLT0MAlors, on insère l’ONU préparé dans un des 2 ports de la carte Marvell Cavium BMC57810S. Carte sur laquelle on aura préalablement activé le support 2.5Gbps.
Le serveur, dans mon cas, est sous Linux. Je ne sais pas, ni même essaie de, le faire sous Windows ou aucun autre système. L’objectif est de faire reconnaître la carte par un système d’exploitation, puis de ponter les 2 ports SFP+
- Sur le premier, HSGMII activé, on place l’ONU ok pour passer O5
- Sur le second, on place, dans mon cas, un transceiver fibre multimode, qui consomme moins relié au même transceiver inséré sur le routeur (qui le reconnaît) par un câble jarretière fibre multimode de 1m - J’aurais pu prendre de l’attache directe cuivre plus courte, mais bon, j’ai acheté sans connaître tous les médias de transmission SFP+. J’ai joué avec de la fibre multimode, alors j’en ai mis de partout entre mes switchs et le routeur, et ça fait bien le job, en totale isolation galvanique. Edit du 6 Décembre 2020: Finalement, j'ai mis un DAC de 50cm
- Ensuite, on met en place le pont.
- Mais pour que le pont puisse fonctionner, il nous faut le support de la carte par le noyau, avec les patchs d’@Upnatom.
- Justement, un saint @JAMESMTL s’est fendu d’un magnifique tutoriel https://www.dslreports.com/forum/r32440802- que je vous traduis ici.
[/list]
Supposons que le système Linux tourne sous Debian. On suppose que vous avez l’accès root, car il s’agit de votre serveur physiquement.
On modifie /etc/apt/sources.list de cette façon:
sed -i 's/buster main/buster main non-free/g' /etc/apt/sources.list
On met à jour le système:
apt update
On installe quelques outils indispensables:
apt install firmware-bnx2x build-essential libncurses5-dev bison flex bc curl libelf-dev libssl-dev
Installations des sources du noyau
apt install linux-headers-$(uname -r)
apt install linux-source
cp /usr/src/linux-source-*.tar.xz .
tar -xvf linux-source-*.tar.xz
Supposons que nous ayons installé un noyau 4.19
cd linux-source-4.19
cp /usr/src/linux-headers-$(uname -r)/.config .
cp /usr/src/linux-headers-$(uname -r)/Module.symvers .
curl https://raw.githubusercontent.com/JAMESMTL/snippets/master/bnx2x/patches/bnx2x_warpcore+8727_2_5g_sgmii.patch | patch -p0
make modules_prepare
make M=drivers/net/ethernet/broadcom/bnx2x
strip --strip-debug drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
Le module noyau modifié se trouve là:
~/linux-source-4.19/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
Qu’il convient de copier là
/lib/modules/$(uname -r)/kernel/drivers/net/ethernet/broadcom/bnx2x/
Faites une copie au cas où.
update-initramfs -u -k all
reboot
Le système redémarre, avec la gestion possible de la synchronisation HSGMII 2.5Gbps
On peut d’ores et déjà paramétrer le pont entre les 2 ports de la carte dual SFP+
On ajoute dans le fichier /etc/network/interfaces, en supposant que comme chez moi les interfaces enp1s0f0 et enp1s0f1 soient les deux interfaces en question.
auto vmbr0
iface vmbr1 inet static
address 172.16.0.24
bridge_ports enp1s0f0 enp1s0f1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
Notez que j’ai du ajouter une adresse IP, sans quoi le pont ne se lançait pas. S’agissant d’une interface, ce n’était pas nécessaire, me semble t-il, mais je n’ai pas plus poussé, trop content d’avancer.
Il faut alors démarrer le système, attention à bien désactiver le support +de 4Go et booter une clé USB DOS contenant le logiciel de maintenance Marvell, ediag.exe
Vous trouverez le lien vers l’outil ici: B57BCMCD_T7.12b.4.1.zip
https://mega.nz/file/b2YWHahJ#R8J-sEzQ5wm9EMxlyu4AULj5JqadlnJsc0zkfeIu57U[/list]
Attention, le 15 avril 2022, la mise à jour v7.3beta33 de RouterOS7 permet l'insertion directe du module SFP Lantiq dans un port SFP+ de CCR2004-1G-12S+2XS avec la synchro 2.5Gbps. Toutes les manipulations qui suivent sont donc devenues inutiles, il n'est plus nécessaire d'utiliser de carte BMC57810s. Cf Ce post et les quelques qui le précèdent.Une fois la clé USB démarrée, il faut lancer:
ediag.exe -b10eng
Puis les commandes suivantes. Sélectionnez le port N°1, celui où sera placé l’ONU SFP:
device 1
Passez en mode d’interaction avec le port en question
nvm cfg
Sélectionnez “Link”
7
(dans mon cas, sur une carte Dell N20KJ, mais parfois c’est l’option 6)
Réglons les vitesses possibles
35=70
36=70
Puis les vitesses par défaut, en 2.5Gbps
56=6
59=6
On sauvegarde
save
Et on sort de l’outil de diagnostic.
exit
On retire la clé, et on peut lancer le système linux
Logiquement, lors du boot, le module bnx2x doit parler, repérer la présence des interfaces SFP dans les cages, et indiquer l’interface pontée comme UP.
Gardez à l’esprit que, une fois inséré dans la cage SFP+ de la carte, vous ne pourrez plus accéder à l’interface ssh ou http de l’interface SFP ONU. Il convient donc de la préparer préalablement.
Faisons un petit résumé de la liste des courses:
Vous l’aurez compris, la quête du bon SFP ONU compatible HGSMII a été un compliquée. J’ai exploré de nombreuses solutions plus ou moins plausibles, et j’ai rencontré le succès du statut O5 au moins avec 4 interfaces différentes. J’en ai eu une brochette.
De gauche à droite, un Sercomm FGS202, un Alcatel-Lucent G-010S-A, 3 ONU SFP différents à chipset Realtek, un Technicolor AFM0002TIM italien, et un de mes Huawei MA5671A.
En fait, chers amis, hors du chipset Intel/Lantiq PEB98035, point de salut. En gros, soit vous trouvez:
- un rarissime Nokia G-010S-P,
- un moins rare Alcatel-Lucent G-010S-A,
- parvenez à rooter un Huawei MA5671A si vous avez le matériel, la patience et le savoir faire.
- CarlitoxxPro CPGOS03-0490 v1 ou Hilink HL23446 si vous en trouvez
- Source Photonics SPS-34-24T-HP-TDFO (sans doute le fabricant de toute la série des G-010S-P et A
- Dasan H650SFP, DpOptics D23446 dont je n’ai jamais vu la couleur à la vente.
Soit c'est éventuellement mort.
Mon choix s’est porté sur l’Alcatel-Lucent G-010S-A (mais, vraiment, j’en ai trituré plein)
Il fonctionne, dès lors qu’on lui pratique une petite soudure, que vous pouvez voir dans la photo suivante:
On voit, sur la droite, 3 groupes de résistances. Il convient d’inonder le groupe du centre d’un petit paté de soudure. Dans mon cas, je l’ai fait à l’encre conductrice, et ça tient depuis 48h.