Flasher une carte Gigabyte GC-Titan Ridge ou Alpine Ridge pour un Mac Pro 5.1

Une nouvelle manière d’utiliser les cartes PCIe thunderbolt 3 sur les Mac Pro 2009-2012 est bien documentée (par ex. ici). Elle consiste à modifier le bios d’une des puces de la carte thunderbolt grâce à un programmeur USB. J’ai tenté l’opération, c’est assez simple et ça fonctionne.

Comment faire ?

Une video explique clairement ce qu’il convient de faire :

Gigabyte GC-Titan Ridge Thunderbolt 3, tutorial complet pour flasher la carte pour un MacPro

Voici le résumé des étapes. Il faut :

• s’équiper d’un programmeur USB spécifique à la puce dont on souhaite modifier le bios.

Programmeur USB Flash EEPROM CH341A

• télécharger la rom modifiée et adaptée au Mac Pro ici pour la Titan Ridge ou encore ici ou pour l’Alpine et la Titan Ridge. La décompresser si elle l’est et la placer au premier niveau du dossier utilisateur. La renommer « TitanRidgeMacOSFirmware.bin » si vous avez choisi le seconde (pour que son nom corresponde à la commande de remplacement du firmware).

• installer Xcode (30 Gigas, il faut de la place !) depuis l’AppStore sur le Mac qui devra piloter le programmeur USB.

• installer un gestionnaire de paquets (Homebrew, info ici) en tapant cette commande dans le terminal :
/bin/bash -c « $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh) »

• installer ce paquet en tapant cette commande :
brew install flashrom

• préparer la carte thunderbolt en enlevant le cache (4 vis) pour accéder à la puce à flasher.

• assembler le programmeur USB Flash EEPROM CH341A (voir l’image ci-dessus ou plus de détails ici) et placer la pince sur la puce bleue (voir ici). Ce n’est pas simple de bien la placer, il faut vérifier visuellement que c’est correct.

Placement de la pince sur la puce bleue de la carte Titan Ridge (bien repérer le fil rouge pour le mettre de bon côté)

• connecter le programmeur USB Flash sur le mac

• vérifier la bonne détection de la puce en tapant cette commande dans le terminal :
flashrom -p ch341a_spi

— avec une mauvaise connexion cette commande donne ce résultat :
Calibrating delay loop... OK
Couldn't open device 1a86:5512.
Error: Programmer initialization failed.
— Avec une bonne connexion cette même commande donne ce résultat :
Calibrating delay loop... OK
libusb: info [darwin_claim_interface] no interface found; setting configuration: 1
Found Winbond flash chip "W25Q80.V" (1024 kB, SPI) on ch341a_spi.
No operations were specified.

• sauvegarder la rom de la puce en tapant cette commande dans le terminal :
flashrom -p ch341a_spi -r OriginalFirmware-BlueChip.bin

— dans le terminal, le résultat est le suivant :
Calibrating delay loop... OK.
Found Winbond flash chip "W25Q80.V" (1024 kB, SPI) on ch341a_spi.
Reading flash... done.
— le fichier « OriginalFirmware-BlueChip.bin » est créé au premier niveau utilisateur.

• flasher la puce avec la nouvelle rom en tapant cette commande dans le terminal :
flashrom -p ch341a_spi -w TitanRidgeMacOSFirmware.bin

ou ceci pour mon firmware de la carte Alpine Ridge :
flashrom -p ch341a_spi -w AlpineRidgeMacOSFirmware.bin

— dans le terminal, le résultat est le suivant :
Calibrating delay loop... OK.
Found Winbond flash chip "W25Q80.V" (1024 kB, SPI) on ch341a_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip ... Erase/write done.
Verifying flash... VERIFIED.

• vous pouvez à nouveau vérifier que le firmware a bien été implanté en tapant cette commande dans le terminal : 
flashrom -p ch341a_spi -v TitanRidgeMacOSFirmware.bin

ou ceci pour l’Alpine Ridge :
flashrom -p ch341a_spi -v AlpineRidgeMacOSFirmware.bin

— dans le terminal, le résultat est le suivant :
Calibrating delay loop... OK.
Found Winbond flash chip "W25Q80.V" (1024 kB, SPI) on ch341a_spi.
Verifying flash... VERIFIED.

• déconnecter la clé, enlever la pince et remettre le cache de la carte.

• connecter les pins 3 et 5 ensemble grâce à une petit câble (il y a de bien d’autres manière de le faire, voici ici) mais la plus simple me semble celle-ci :

Connexion des pins 3 et 5
Connexion des pins 3 et 5. Les pins 4, 2 et 1 restent libres (repérez bien le sens du connecteur).

• placer la carte de le port PCIe 4, le port le plus haut, juste en dessous des disques (c’est nécessaire en cas d’utilisation, facultative, d’OpenCore, sinon n’importe quel port peut être utilisé).

Le résultat :

Démarrer… et redémarrer ! : Les cartes Gigabyte Titan Ridge ou Alpine Ridge flashées fonctionnent nativement sur mon Mac Pro. Par exemple mon SSD Samsung X5 NVMe en thunderbolt 3 est reconnu au premier boot mais ne monte qu’au 2e boot (l’OS installé sur SSD externe est même proposé dans le bootscreen). Cette nécessité de parfois redémarrer 2 fois pour certains périphériques est un problème connu (ici). Il en est de même avec un Universal Audio UAD-2 Satellite, reconnu au premier démarrage mais utilisable au second. Seul exception que j’ai eu l’occasion de constater : mon MacBook Pro 2019 en mode cible est reconnu après le premier démarrage (pour mettre le Mac en mode cible il suffit de maintenir la touche « T » aussitôt après avoir appuyé sur le bouton d’alimentation) mais disparait aux démarrage suivants.

Mise en veille : Avec la carte Titan Ridge, la mise ne veille du mac éjecte le SSD mais tant qu’il est connecté le mac ne peut être en veille, par contre avec l’Alpine Ridge il se met en veille avec le SSD connecté, mais l’éjecte lors de la mise en veille (avec un message d’erreur d’éjection du disque comme si je l’avais débranché). C’est aussi aussi un problème connu (ici). Ainsi, la mise en veille, oblige à redémarrer (une seule fois) pour que mon SSD monte à nouveau. Idem pour l’Universal Audio UAD-2 Satellite.

Premier puis second démarrage, informations système / PCI (une ligne de plus à droite –Contrôleur NVMe pour mon SSD TB3–, ce qui explique que pour certains périphériques un second démarrage soit nécessaire)
Premier démarrage, informations système / Thunderbolt. Ici à 20 Gbit/s x2
UAD-2 Satellite reconnu via un adaptateur Thunderbolt 3 vers Thunderbolt 2.

USB 3 : La carte Thunderbolt permet en outre de disposer de deux ports USB type-C (via les ports thunderbolt) ce qui constitue un gain de vitesse considérable par rapport aux 5 ports USB 2.0 d’origine dont dispose ce mac. Par exemple mon SSD externe Samsung T5 (ne pas confondre avec le X5) est reconnu en 10G°/s et ma clé USB en 5G°/s alors que dans le port USB 2.0 d’origine ces mêmes périphériques apparaissent en 0,48G°/s. La mise en veille est empêchée par la présence de ces périphériques USB-C (clé, disque, hub) et il convient donc de les éjecter et/ou de les débrancher. Contrairement à ce qui se produit avec les périphériques thunderbolt, la mise en veille éjecte les périphériques USB, mais à la sortie de veille ils sont automatiquement montés.

Dock Thunderbolt 3 : J’ai testé avec un Belkin dock pro thunderbolt 3. Il est reconnu et la diode témoin dont il dispose permet de suivre la logique de l’activation thunderbolt. Au premier démarrage, la diode est jaune (non détecté), mais au milieu du premier démarrage elle passe au vert (détecté) et le dock apparaît bien dans les informations système. Mais à ce point lui seul est reconnu et ce qui est connecté dessus ne l’est pas (j’ai connecté le port Ethernet, deux clés USB, un Samsung X5 en thunderbolt). Au second démarrage (la diode reste verte), les USB et l’Ethernet fonctionnent, mais le Samusung X5 ne monte pas, il faut démarrer une troisième fois pour qu’il monte). Donc le Dock lui-même se comporte comme les autres périphériques thunderbolt 3, mais si un autre périphériques est connecté sur lui en thunderbolts 3, il faut ajouter un démarrage. Ils semblent reconnus les uns après les autres et un démarrage est nécessaire pour chaque étape de cette chaîne (c’est un cas d’école, car il n’y a évidement aucun intérêt à chainer ainsi les périphériques thunderbolt 3 alors qu’ils peuvent être connectés directement sur la carte).

• Deux périphériques thunderbolt en même temps : Il est possible d’utiliser les 2 ports thunderbolt en même temps, mais il est parfois compliqué d’y arriver. A priori, il faut démarrer le mac, connecter les 2 périphériques puis redémarrer. Parfois cela fonctionne, mais parfois non, aucun ne monte (tout dépends des combinaisons). Il est donc préférable de démarrer le mac une première fois, de connecter un périphérique thunderbolt qui montera au second démarrage et ensuite de connecter le 2e périphérique thunderbolt qui montera au 3e démarrage (en cas d’échec, suivre la même procédure mais en inversant l’ordre des périphériques). Pour se simplifier la vie, dans un tel cas, on peut mettre 2 cartes thunderbolt avec un seul périphérique sur chacune :

Deux cartes thunderbolt 3 avec chacune un périphérique.

• OpenCore : Si vous consultez les annonces (notamment sur ebay) pour ces cartes flashées, vous pouvez avoir l’impression (ce fut mon cas) que ces cartes flashées permettent d’avoir l »écran de démarrage sur les cartes graphiques non fâchées pour mac. C’est complètement faux. Les vendeurs fournissent avec leur carte un dossier d’installation OpenCore qui permet d’avoir l’écran de démarrage OpenCore (et non celui d’Apple). Mais on peut installer ces cartes thunderbolt sans OpenCore ou installer OpenCore sans ces cartes, ce sont deux choses indépendantes.

L’intérêt d’OpenCore est de pouvoir fournir un substitut (bien imparfait) de l’écran de démarrage du mac avec une RX 580, 590 ou une Vega 56 non flashées et permet aussi d’installer facilement Catalina depuis l’AppStore. Des EFI OpenCore toutes prêtent circulent (voir la mienne ici, elle est adapté au port PCIe 4 et aux cartes Alpine Ridge et Titan Ridge v2.0 flashées). J’ai déjà fait un tuto sur ce point ici. L’autre intérêt d’OpenCore est de permettre de déconnecter et de reconnecter à chaud un périphérique thunderbolt 3. Par ex sans OpenCore si j’éjecte et déconnecte mon Samsung X5, je dois redémarrer pour qu’il monte, le reconnecter ne suffit pas, tandis qu’avec OpenCore, aussitôt après sa connexion il monte. Cela dit, la suspension d’activité l’éjecte et ne permet pas de le monter sans un redémarrage.

40 Gbit/s sous OpenCore (à la place de 20 Gbit/s x2 sans OpenCore)

Bootcamp : Mes tests montrent qu’un redémarrage depuis bootcamp avec la carte Titan ou Alpine Ridge peut bloquer le démarrage du mac (kernel panic) ou empêcher la reconnaissance des périphériques thunderbolt (même après avoir désactiver la carte sous windows). Après l’utilisation de Windows, il faut donc éteindre le mac. En cas d’utilisation d’OpenCore, il faut oublier le menu démarrage Apple bootcamp dans Windows car en choisissant un disque de démarrage macOS depuis Windows, l’EFI d’OpenCore ne sera plus activée par défaut.

• Linux : Le problème de redémarrage qui apparait avec windows est identique avec linux. Il faut éteindre le mac puis le démarrer. J’ai installé Ubuntu avec la carte thunderbolt dans le mac sans difficulté mais le premier démarrage sur ubuntu a bloqué le mac. J’ai enlevé la carte, démarré ubuntu, puis l’ai éteint et j’ai remis la carte. Le démarrage suivant s’est correctement effectué et la carte est reconnue par linux.

• Installation ou réinstallation d’OS : Il est préférable d’enlever la carte thuderbolt durant ces installations car sans cela, il est fort probable que les installateur de macOS, Windows ou Linux planteront à un moment ou à un autre. Il faut 2 minutes pour l’enlever et autant pour la remettre.

Pour la carte GC-Alpine Ridge, la procédure est similaire mais le firmware n’est pas le même (il est ici) :

Gigabyte GC-Alpine Ridge Thunderbolt 3, tuto complet pour flasher la carte pour un Mac Pro
Placement de la pince sur la puce bleue de la carte Alpine Ridge (bien repérer le fil rouge pour le mettre de bon côté)

Le résultat avec l’Alpine Ridge est similaire à celui de la Titan Ridge, l’UAD, le dock Thunderbolt 3 et le Samsung X5 sont reconnus.

Comparaison des débits en thunderbolt 3 (Samsung X5 en haut à gauche) et en USB-C 3.1 (Samsung T5 en bas à gauche)

Sur le dock sont connectés un Samsung T5 et l’ethernet.

Informations système PCI, ethernet
Informations système Thunderbolt

Informations diverses sur ces cartes Thunderbolt

Ces deux cartes ne sont pas des cartes vidéo, elles ne peuvent les remplacer, mais seulement fournir des sorties thunderbolt et/ou USB-C. Le port vidéo dont dispose ces cartes n’est pas utile sur mac et les 2 ports Mini-Displayport ne sont pas des ports thunderbolt 2, mais seulement des entrées video (et non des sorties). Pour connecter du thunderbolt 2, il faut mettre un adaptateur thunderbolt 3 vers thunderbolt 2. 

Les ports Mini-Displayport de ces cartes permettent de prendre le signal video de la carte graphique (par les ports Displayport de la carte graphique grâce aux deux cables fournis avec ces cartes thunderbolt). Ainsi les cartes Titan ou Alpine ridge peuvent faire passer le signal video vers le thunderbolt et ainsi vers une écran thunderbolt.

Le signal Displayport part de la carte graphique et entre dans la Titan Ridge par un mini Displayport (flèche verte). La carte transmet ce signal vers la sortie thunderbolt (flèche rouge) puis vers l’écran (cable blanc, ici un adaptateur thunderbolts 3 vers thunderbolts 2).

Les différences entre ces cartes sont peu nombreuses (voir ici) : la carte Titan Ridge est plus récente et peut fournir une alimentation de 100w (avec le câble d’alimentation connecté, mais rien n’est prévu pour un mac pro, donc l’alimentation disponible est identique à celle de l’alpine Ridge) tandis que Alpine Ridge peut fournir une alimentation de 36w (directement par le port PCIe). La carte Alpine Ridge est DisplayPort 1.2 et USB-C 3.1 et la Titan Ridge DisplayPort 1.4 et USB-C 3.2, les deux sont avec 4K Video Throughout, cad qu’elles passent le signale video. Enfin, la carte Titan Ridge dispose d’un DisplayPort et la carte Alpine Ridge d’un HDMI (mais je ne crois pas qu’ils puissent être utilisé sur mac).

En ce qui concerne les périphériques qui peuvent être connectés à ces cartes, pour l’instant je n’ai vu qu’une seule différence, la connexion d’un écran LG 34UC97 en thunderbolt 2 fonctionne sur la Titan Ridge et non sur l’Alpine Ridge (c’est aussi constaté ici par ex. et ce point semble bien être le seul qui, fonctionnellement, distingue ces deux cartes), pour tous les autres périphériques je n’ai pas vu qu’ils fonctionnaient mieux sur une carte que sur l’autre (voir les périphériques compatibles chez les vendeurs sur ebay qui donnent des listes de compatibles/incompatibles).

Un commentaire sur “Flasher une carte Gigabyte GC-Titan Ridge ou Alpine Ridge pour un Mac Pro 5.1

  1. Franchement, chapeau bas pour cet article. On sent la maîtrise du sujet mais aussi de grandes facilités à l’expliquer. Je suis sous mac depuis 29 ans et peu de gens arrivent à m’impressionner.
    MERCI BEAUCOUP pour cet article qui a donné beaucoup de réponses à certaines de mes interrogations à ce sujet ! Encore une fois BRAVO ET MERCI !

    J'aime

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s