IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> 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 : 77
Inscrit : 6 Mar 2004
Lieu : Antibes
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
ChaG
posté 6 Feb 2021, 18:54
Message #2


Adepte de Macbidouille
*

Groupe : Membres
Messages : 77
Inscrit : 6 Mar 2004
Lieu : Antibes
Membre no 15 834



Re-bonjour à tous.

2 choses à ajouter :

Il y avait une coquile dans cette commande, Il ne faut pas de / après le .kext :
Code
sudo cp -R LucyRTL8125Ethernet.kext /Library/Extensions/


Et sinon, la dernière mise à jour de sécurité m'a donné quelques sueurs froides...
En gros l'extension ne voulait plus se charger. Le cache des extensions a dû se recréer et la mienne n'était plus acceptée.

Et en recommençant la 3è solution, ça ne marchait pas.
La reconstruiction du cache refusait le binaire signé.

J'ai fini par m'en sortir en faisant un mix entre les solutions 2 et 3:
- déscativer le sip (partiellement, mais ça devrait aussi marcher en désactivation complète)
- rebooter, reconstruire le cache des extensions (ça passe, vu qu'elles sont toutes acceptées)
- réactiver le sip complètement

Et là, ça marche.
Il y a donc une subtile différence : la liste blanche autorise le chargement de l'extension, mais pas la (re)construction du cache.


Donc pour résumer, avec Mojave 10.14.6, avec la dernière mise à jour de sécurité :

- compiler un binaire signé avec son propre AppleID, le mettre dans /Library/Extensions/
- noter le developper ID correspondant
- redémarrer en mode Recovery
- rajouter ce developper ID à la liste blanche
- désactiver le SIP
- redémarrer en mode normal
- reconstruire le cache des extensions
- redémarrer en mode Recovery
- réactiver le SIP
- redémarrer en mode normal
- (ne pas reconstruire ce cache par la suite, sinon on perd l'extension)


J'ai un peu l'impression de faire du hackintosh avec mon vénérable MacPro 2009 wink.gif


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

Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Go to the top of the page
 
+Quote Post
ChaG
posté 10 Feb 2021, 20:52
Message #3


Adepte de Macbidouille
*

Groupe : Membres
Messages : 77
Inscrit : 6 Mar 2004
Lieu : Antibes
Membre no 15 834



Re-re-bonjour wink.gif

Encore une mise à jour de sécurité difficile...

Donc, après plusieurs essais, la procédure qui semble marcher est :

- compiler un binaire signé avec son propre AppleID, le mettre dans /Library/Extensions/
- noter le developper ID correspondant
- redémarrer en mode Recovery
- rajouter ce developper ID à la liste blanche
* 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)
- 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, sinon reprendre au point *
- (ne pas reconstruire ce cache par la suite, sinon on perd l'extension)

J'ai dû faire deux fois la procédure à partir de la déactivation de la vérification des kext avant que l'extension reste active.

Vivement la prochaine mise à jour de sécurité... dry.gif


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

Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Go to the top of the page
 
+Quote Post
ChaG
posté 13 May 2021, 12:45
Message #4


Adepte de Macbidouille
*

Groupe : Membres
Messages : 77
Inscrit : 6 Mar 2004
Lieu : Antibes
Membre no 15 834



Bonjour à tous, je continue mon monologue... biggrin.gif

Il y a une nouvelle version du driver (et donc du code source) : 1.1.0

Voici donc la procédure complète, et qui marche du permier coup :

- compiler un binaire signé avec son propre AppleID, le mettre dans /Library/Extensions/
- noter le developper ID correspondant
- redémarrer en mode Recovery (cmd-R)
- rajouter ce developper ID à la liste blanche (si ce n'est pas déjà fait, depuis le temps...)
- 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
fabriceunko
posté 11 Jun 2021, 08:47
Message #5


Adepte de Macbidouille
*

Groupe : Membres
Messages : 205
Inscrit : 27 Dec 2015
Membre no 197 552



bonjour ce sujet m’intéresse malheureusement insanelymac ne me renvois pas mon mot de passe.


--------------------
Hack : Gigabyte GA-Z97MX-Gaming 5, 32go de ram Core i7 4790k 4ghz RX580 8GO /OS X 10.13.6/clover 5118/ samsung C34J79
Go to the top of the page
 
+Quote Post
ChaG
posté 11 Jun 2021, 09:07
Message #6


Adepte de Macbidouille
*

Groupe : Membres
Messages : 77
Inscrit : 6 Mar 2004
Lieu : Antibes
Membre no 15 834



Citation (fabriceunko @ 11 Jun 2021, 09:47) *
bonjour ce sujet m’intéresse malheureusement insanelymac ne me renvois pas mon mot de passe.

Bonjour, on peut aussi télécharger le binaire compilé depuis le dépôt github.


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

Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Go to the top of the page
 
+Quote Post
fabriceunko
posté 11 Jun 2021, 13:33
Message #7


Adepte de Macbidouille
*

Groupe : Membres
Messages : 205
Inscrit : 27 Dec 2015
Membre no 197 552



Merci, je vais commandé ma carte:)


--------------------
Hack : Gigabyte GA-Z97MX-Gaming 5, 32go de ram Core i7 4790k 4ghz RX580 8GO /OS X 10.13.6/clover 5118/ samsung C34J79
Go to the top of the page
 
+Quote Post
ChaG
posté 13 Jun 2021, 10:08
Message #8


Adepte de Macbidouille
*

Groupe : Membres
Messages : 77
Inscrit : 6 Mar 2004
Lieu : Antibes
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

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 : 25th October 2021 - 14:02