IPB

Bienvenue invité ( Connexion | Inscription )

> Ethernet 2.5 Gigabit dans un MacPro 5,1
Options
ChaG
posté 1 Jan 2021, 17:39
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 92
Inscrit : 6 Mar 2004
Lieu : Grasse
Membre no 15 834



Bonjour à tous,

Une petite bidouille pour rendre hommage au mon du site wink.gif
Comment ajouter une carte Ethernet 2.5 Gigabit dans un MacPro 5,1 ?
(pour aller avec une freebox pop par exemple...)

@Lionel: Je ne sais pas si cette bidouille est susceptible d’intéresser beaucoup de monde, mais si oui n’hésites pas à la mettre en news.

J’ai donc un MacPro 2009 sous Mojave (avec le dernier firmware 144.0.0.0.0, et vu comme MacPro5,1).

Il faut commencer par trouver une carte Ethernet 2.5 Giga à base de chipset Realtek RTL8125.
C’est facile, ce sont toutes les mêmes, pour plus ou moins 30 euros.
Ça ressemble à ça :


Une fois montée, Information système la vois comme une carte PCI « ethernet », mais sans gestionnaire installé.
Il faut donc trouver un driver.

La communauté hackintosh en a un:
https://www.insanelymac.com/forum/topic/343...ealtek-rtl8125/

On peut télécharger le binaire directement :
https://www.insanelymac.com/forum/files/fil...tl8125ethernet/

Problème : cette extension n’est pas signée, donc sous Mojave le SIP va la refuser.


Solution 1 : désactiver le SIP
- redémarrer en mode Recovery (cmd-R pendant le démarrage)
- ouvrir Terminal (menu Utilitaire / Terminal)
- désactiver le SIP :
Code
csrutil disable

(pour le réactive, il faut utiliser csrutil enable)
- redémarrer

- copier le ficher Release/LucyRTL8125Ethernet.kext (téléchargé précédemment) dans /Library/Extensions avec le terminal:
Code
cd ~/Downloads/LucyRTL8125Ethernet-V1.0.0/Release/
sudo cp -R LucyRTL8125Ethernet.kext/ /Library/Extensions/

- réparer les permissions et reconstruire le cache des extensions :
Code
sudo chmod -v -R 755 /Library/Extensions
sudo chown -v -R root:wheel /Library/Extensions
sudo touch /Library/Extensions
sudo kextcache -i /

- redémarrer

Problème de cette solution : le SIP est complètement désactivé.


Solution 2 : désactiver partiellement le SIP
- redémarrer en mode Recovery (cmd-R pendant le démarrage)
- ouvrir Terminal (menu Utilitaire / Terminal)
- désactiver la vérification des kext :
Code
csrutil enable --without kext

- redémarrer

- puis finir comme pour la 1ère solution.

Problème de cette solution : le SIP est partiellement désactivé, et dans une configuration non-standard.


Solution 3 : faire un binaire signé
Il faut avoir un Apple ID (gratuit, pas besoin de la version développeur), et utiliser XCode.

- télécharger Xcode 10.3
https://developer.apple.com/download/more/?...wc=xcode%2010.3
Il faut bien prendre cette version 10.3 pour Mojave (comme indiqué par le développer du projet)
- cloner le code source du projet : « Clone an existing project » depuis l’écran d’accueil de Xcode, mettre l’url du dépôt git : https://github.com/Mieze/LucyRTL8125Ethernet.git
- rajouter son Apple ID à Xcode : menu Xcode / Preferences, onglet Account, cliquer sur le + en bas à gauche, choisir « Apple ID », entrer ses identifiants.
- rajouter un certificat : « Download Manual Profiles », puis « Manage Certificates », cliquer le le + en bas à gauche, choisir « Mac development »
- refermer les préférences
- dans la fenêtre principale du projet sélectionner le 1er « LucyRTL8125Ethernet » dans la colonne de gauche
- dans la colonne centrale, choisir PROJECT / Lucy… et vérifier que « macOS Deployment Target » est bien 10.14
- choisir TARGETS / Lucy… on voit un soucis dans la partie Signing
- changer Team pour la nouvelle que l’on a créée juste avant
- compiler : menu Product / Build For / Profiling

Ça y est, on a un binaire signé. Il faut maintenant l’installer.
Le binaire est dans ~/Library/Developer/Xcode/DerivedData/LucyRT8125Ethernet-xxxxx (le nom de ce répertoire peut changer, il faut trouver le bon).
- se mettre au bon endroit avec le terminal :
Code
cd ~/Library/Developer/Xcode/DerivedData/LucyRTL8125Ethernet-efbechwjkxvtstatikkzncogbgse/Build/Products/Release/

- copier le ficher :
Code
sudo cp -R LucyRTL8125Ethernet.kext /Library/Extensions/

- trouver le developer ID associé à la signature du binaire:
Code
spctl -a -vv -t install LucyRTL8125Ethernet.kext

La réponse doit être :
Code
LucyRTL8125Ethernet.kext: rejected
origin=Mac Developer: **Votre AppleID** (ABCDE12345)

Bien noter le developer ID entre parenthèse (là c’est un faux)

Il faut maintenant rajouter ce developer ID dans une liste blanche locale:
- redémarrer en mode Recovery (cmd-R pendant le démarrage)
- ouvrir Terminal (menu Utilitaire / Terminal)
- ajouter son developer ID :
Code
/usr/sbin/spctl kext-consent add ABCDE12345

- redémarrer

Et enfin, charger cette nouvelle extension :
- réparer les permissions et reconstruire le cache des extensions :
Code
sudo chmod -v -R 755 /Library/Extensions
sudo chown -v -R root:wheel /Library/Extensions
sudo touch /Library/Extensions
sudo kextcache -i /

- redémarrer

Voila, si tout marche bien, la carte est maintenant reconnue par Information système comme « Realtek RTL8125A PCI Express 2,5 Gigbit Ethernet », et l’interface réseau est disponible.

Il reste juste à faire les réglages dans Préférences Système / Réseau
Dans Avancé / Materiel, choisir une configuration manuelle, avec une vitesse 2500Base-T, un duplex intégral et un MTU Jumbo (9000).


Quelques liens qui m’ont bien aidé dans tout ça :
https://ionicframework.com/blog/deploying-t...eloper-account/
https://www.tonymacx86.com/threads/guide-in...atalina.268964/
https://eclecticlight.co/2019/06/01/how-to-...-kext-security/

Ce message a été modifié par baron - 6 Feb 2021, 20:11.
Raison de l'édition : Coquille mentionnée ci-dessous corrigée


--------------------
Guillaume

Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
ChaG
posté 13 Jun 2021, 10:08
Message #2


Adepte de Macbidouille
*

Groupe : Membres
Messages : 92
Inscrit : 6 Mar 2004
Lieu : Grasse
Membre no 15 834



Bonjour à tous,

Chaque mise à jour de sécurité est une occasion de progresser... wink.gif

Je viens de me rendre compte que la dernière version du binaire sur le dépôt git est déjà signée. (je ne pense pas que c'était le cas avant).
On peut donc éviter toute la partie avec Xcode.

La procédure mise à jour :

- télécharger le binaire signé, le mettre dans /Library/Extensions/ (sudo cp...)
- noter le developper ID correspondant de ce binaire (spctl -a -vv -t install LucyRTL8125Ethernet.kext)
- redémarrer en mode Recovery (cmd-R)
- rajouter ce developper ID à la liste blanche (spctl kext-consent add XXXXXXXXXX)
- désactiver la vérification des kext dans le SIP (csrutil enable --without kext)
- redémarrer en mode normal
- reconstruire le cache des extensions
- redémarrer en mode normal (en profiter pour vérifier que l'extension se charge bien)
- reconstruire le cache des extensions (oui, oui, une deuxième fois)
- redémarrer en mode normal (en profiter pour vérifier que l'extension se charge bien)
- redémarrer en mode Recovery
- réactiver le SIP complètement (csrutil enable)
- redémarrer en mode normal
- vérifier que l'extension se charge bien
- (ne pas reconstruire ce cache par la suite, sinon on perd l'extension)


--------------------
Guillaume

Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 27th April 2024 - 11:21