Activer les enceintes du G4 Cube sur un Mac moderne

Mes lecteurs (vous) êtes formidables. Il y a quelques années maintenant, je demandais de l’aide pour un petit projet : réutiliser les enceintes du Power Mac G4 Cube sur un Mac récent. Et Jean a conçu un petit programme qui le permet.

Le G4 Cube

Une machine qui a la classe

Un peu de technique

Pour commencer, où est le problème ? Le Power Mac G4 Cube a la particularité de ne pas contenir de contrôleur audio ni de sortie, et de déporter entièrement la gestion du son sur ses enceintes. Plus exactement, sur un petit boîtier connecté en USB et relié aux enceintes. Dans ce boitier, on trouve trois choses importantes : une puce USB UAC3552A (en gros, un contrôleur USB Audio), un amplificateur Tripath TA1101B (le même que dans les iMac G4 et Power Mac G4) et un rehausseur de tension, qui va fournir du 12 V à l’amplificateur à partir des 5 V de l’USB. Cette façon de fonctionner implique plusieurs choses, la première étant qu’un port USB capable de fournir assez d’énergie devient obligatoire pour obtenir une puissance acceptable. Dans les faits, il faut en théorie un Power Mac G4 Cube (en direct) ou un écran Apple Display en ADC, les seuls appareils capables de fournir l’énergie nécessaire aux enceintes. Une prise USB classique se limite à 2,5 W (5 V, 500 mA) et de ce que j’ai compris, les ports adaptés fournissent 20 W (donc a priori 4 A). La seconde chose nécessaire est un pilote qui va allumer l’amplificateur (littéralement). Apple l’a intégré dans les pilotes audio de Mac OS X jusqu’en 2010, la dernière version compatible étant Mac OS X 10.6.4. Avec uniquement le pilote (par exemple sur un Mac Intel), les enceintes fonctionnent avec un niveau sonore très faible à cause du manque d’énergie (8x moins que le maximum attendu).

Le boîtier

Le boîtier et sa prise jack


Mes enceintes

Mes enceintes (en mauvais état)

La solution de Jean

Ce que Jean a fait, c’est regarder le pilote open source d’origine et coder un petit programme qui va activer l’amplificateur. La partie USB d’origine (le contrôleur audio) étant standard, il fonctionne directement sous macOS mais ne fournit donc que la sortie jack présente sur le boîtier.

J’ai fait quelques recherches approfondies sur le boitier USB qui avec de pair avec les Apple Pro Speakers. Il en résulte que le boitier contient deux puces : un DAC Micronas UAC3552A et un amplificateur Tripath (maintenant Cirrus Logic) TA1101B. Pour activer ces enceintes, le driver original dans Mac OS X envoie un plug-in et des paramètres d’EQ. Le plug-in est un morceau de code chargé dans la RAM du UAC3552A, et les paramètres d’EQ servent à configurer le DSP intégré à l’UAC3552A. Pour mieux comprendre à quoi servait le plug-in, j’ai codé mon propre désassembleur. Faute de documentation suffisante sur l’UAC3552A, je ne peux seulement déduire que le plug-in change l’état logique d’une de ses GPIO. En croisant mes informations avec celles du hackerspace Californien « Sudo Room », j’en déduis que cela désactive la fonction MUTE du TA1101B.

Le programme s’appelle Trinity Enabler (Trinity étant le nom de code du Power Mac G4 Cube).

Le test

Le programme est disponible sur GitHub et propose quatre options, en fonction de l’énergie disponible : 500 mA, 1500 mA, 3 A et 4 A. Si vous testez, je vous conseille de trouver un hub USB capable de fournir assez d’énergie et de ne pas brancher les enceintes directement au Mac. Dans le mode de base (le plus safe), la puissance est vraiment trop faible et (surtout) les enceintes déconnectent quand on joue rapidement sur le volume, a priori faute de puissance. En théorie, le mode le mode 1500 mA fonctionne sur un Mac récent – ils fournissent sans soucis 2 A à un iPad – mais comme macOS considère toujours que le port ne demande que 500 mA, ça me semble une mauvaise idée en direct. De plus, le mode 1500 mA réagit bizarrement, avec notamment une balance audio qui se décale d’elle-même. La solution la plus sûre consiste à utiliser un hub USB alimenté avec un bloc suffisamment puissant (dans mon cas, 4 A), la majorité des modèles accepte de surcharger le port USB. Vu les pertes, je suis resté sur du 3 A, ce qui donne une bonne puissance de sortie (et aucun bug). Je suppose qu’avec un ancien Cinema Display en ADC, ça doit aussi fonctionner, mais j’avoue que j’ai eu la flemme de tout installer.

macOS

macOS considère que les enceintes demandent 500 mA


Audio

24 bits et 50 kHz, pas si mal

Pour conclure

Grace à Jean, je peux (et n’importe qui peut) réutiliser des enceintes de bonne qualité. Ca manque un peu de basse, mais mes enceintes ne sont pas en très bon état physique. Ce petit programme permet donc de passer outre les limitations arbitraires et marketing d’Apple. Attention quand même si vous testez : il n’y a que le mode 500 mA qui est vraiment sans dangers pour le Mac, les autres nécessitent des dispositifs capables de fournir assez de puissance. Ne venez pas pleurer si vous activez le mode 4 A sur un Mac en direct et que ça grille les ports USB.