Une ExpressCard USB en puce NEC dans un MacBook Pro

En rangeant mon matériel, je suis retombé sur mes cartes ExpressCard, et je me suis rappelé que je devais écrire un truc sur la meilleure façon d’ajouter de l’USB 3.0 à un vieux MacBook Pro.

Trouver une carte ExpressCard avec de l’USB n’est pas un problème, ce n’est pas très cher. Mais macOS a un petit défaut : le support est un peu limité. J’avais expliqué il y a longtemps qu’une carte équipée d’une puce FL1100 (Fresco) marchait nativement sous Mac OS X, parce que c’est la puce qu’Apple utilisait dans le Mac Pro 2013 et aussi dans pas mal de dock Thunderbolt. Le problème, c’est que les cartes ExpressCard ont parfois d’autres contrôleurs et que c’est un peu compliqué de connaître la puce avant de recevoir la carte. Et même quand c’est indiqué, parfois vous pouvez recevoir une autre. Sur cette carte, la fiche technique n’indique rien, mais la carte l’indique explicitement sur la photo.

Une carte en FL1000 qui plante le Mac

A la maison, j’ai trois cartes : une à base de FL1100 qui marche, une à base de FL1000 qui plante littéralement le Mac, et une (vieille) carte à base de NEC UPD720202 qui est reconnue mais sans pilotes. Pendant quelques années, des constructeurs proposaient des pilotes pour ces cartes (Sonnet, LaCie, etc.), mais qui limitaient les cartes compatibles à celles de la marque. Depuis – merci les hackintosh – il existe des pilotes assez universels. Et je suis tombé sur un site qui en testait un.

Une carte en FL1100

Le pilote marche a priori de Yosemite (10.10) à au moins Mojave, mais en pratique les Mac avec ExpressCard supporte au mieux High Sierra. Il faut installer le pilote et ensuite passer par un utilitaire qui va corriger les autorisations (j’aime bien Kext Utility). Avec le pilote, ma vieille carte fonctionne sous Mac OS X (El Capitan sur un MacBook Pro de 2009). Je vous mets le pilote en ligne au cas où le lien disparaîtrait.

Une carte en NEC

Performances et alimentation

D’abord, les performances. La puce NEC est ancienne (c’est en gros le premier contrôleur USB 3.0 du marché) et est bridée par le PCI-Express 1.1 du MacBook Pro de 2009 (250 Mo/s au maximum). Avec un SSD externe qui dépasse facilement 250 Mo/s sur un Mac standard, j’atteins ~155 Mo/s en lecture et ~125 Mo/s en écriture. C’est très nettement au dessus de l’USB, mais assez bas dans l’absolu. La carte en FL1100, elle, monte à ~185 Mo/s et ~170 Mo/s dans les mêmes conditions. C’est plus rapide que l’USB 2.0, plus rapide que le FireWire 800, mais assez loin des 5 Gb/s de l’USB 3.0, donc.

Avant


Après


Avec la carte NEC


Avec la carte en FL1100

Ensuite, l’alimentation. Les cartes récupèrent généralement l’alimentation sur le bus USB 2.0 interne, qui offre 500 mA. C’est trop peu pour beaucoup de périphériques USB 3.0, la norme attend 900 mA. Une clé USB devrait passer, un disque dur ou un SSD, non. Si votre carte a une prise d’alimentation externe, vous pouvez essayer de brancher une alimentation dédiée (par exemple celle d’un hub USB) ou de récupérer l’énergie sur les ports USB du Mac avec un câble adapté, mais la solution la plus efficace reste un hub USB 3.0 alimenté. Il ne réduira pas les performances et fournira l’énergie manquante.

Si vous avez un vieux Mac et que vous voulez profiter de disques durs rapides, c’est donc une solution valable. Ce n’est pas idéal, les performances sont limitées et la mise en place peut être compliquée avec des hubs USB, mais c’est fonctionnel.