Si vous avez « perdu » récemment l’Ethernet sur un de vos Mac, c’est « normal » : Apple a poussé une mise à jour qui désactive par erreur le pilote Ethernet. Explications (et solutions).
Apple pousse régulièrement des mises à jours silencieusement aux utilisateurs de Mac OS X, comme par exemple celle de XProtect (l’antimalware basique intégré depuis Snow Leopard). Depuis Yosemite, il existe une liste noire de pilotes (kext) – envoyée par Apple – qui bloque des pilotes précis pour différentes raisons, soit des bugs, soit des comportements malicieux, etc.
Le problème, c’est qu’une mise à jour récente a intégré un pilote Apple dans la liste, plus spécifiquement celui des contrôleurs Ethernet de Broadcom, très utilisés dans les différents Mac actuels. C’est une erreur, visiblement liée à une futur mise à jour d’OS X (la 10.11.4) mais ça pose évidemment de gros problèmes pour ceux qui se connectent en Ethernet.
Première chose à vérifier, la version de la liste en question. Rendez vous dans le menu -> A propos de ce Mac -> Rapport système -> Logiciel -> Installations. Cherchez ensuite Incompatible Kernel Extension Configuration Data dans la liste. S’il est en version 3.28.2 (ou plus), c’est bon. Si vous êtes en version 3.28.1, il y a un problème.
En ligne de commande, si vous voulez essayer.
pkgutil --pkgs=".*compat.*"
Si vous voyez la ligne suivante, c’est bon.
com.apple.pkg.IncompatibleKextConfigData.14U2130
Si vous avez uniquement la suivante, il y a un problème.
com.apple.pkg.IncompatibleKextConfigData.14U2129
La correction
Le première méthode, la plus simple, demande un accès à Internet. Soit via Wi-Fi, partage de connexion (iPhone) ou Ethernet (si vous avez un appareil qui n’utilise pas une puce Broadcom, comme certaines stations Thunderbolt).
sudo softwareupdate --background-critical
Un redémarrage plus tard, tout devrait fonctionner.
L’autre solution, proposée par Apple, fonctionne sans devoir utiliser du Wi-Fi (ou autre).
Premièrement, il faut redémarrer sur la partition de restauration (cmd + R au démarrage). Si vous utilisez FileVault, lancez l’Utilitaire de disques et montez la partition principale de votre disque dur (c’est expliqué en détail chez Apple). Ensuite, lancez le Terminal et tapez la commande suivante. Il est possible d’ouvrir la page chez Apple avec Safari (disponible sur la partition de restauration).
rm -rf "/Volumes/Macintosh HD/System/Library/Extensions/AppleKextExcludeList.kext"
Ensuite, il faut redémarrer, l’Ethernet devrait fonctionner. Il faut tout de même récupérer la mise à jour la plus récente manuellement avec la commande vue juste avant.
Si jamais ça ne fonctionne pas, Apple recommande tout de même… de réinstaller OS X.
Dans la pratique, c’est assez étonnant de voir ce genre d’erreurs potentiellement très dangereuse chez Apple. Perdre l’Ethernet est un problème, mais d’autres pilotes bloqués pourraient avoir des conséquences beaucoup plus grandes.
Au passage, si vous voulez éviter les mises à jour silencieuses (ce qui est malheureusement une mauvaise idée pour pleins d’autres raisons), rendez vous dans Préférences Système -> App Store et décochez Installer les fichiers de données système et les mises à jour de sécurité.
L’idée de désactiver les mises à jour automatiques pour OSX m’a salement éfleuré l’esprit hier soir, suite à cette malheureuse aventure, mais la question est : est-ce que ce type de téléchargements « espions » peuvent se déclencher manuellement d’une facon ou d’une autre ?
Oui, avec la commande indiquée : sudo softwareupdate –background-critical