Les cartes CompactFlash et le mode « fixed »

Depuis des années (mon premier montage a plus de 10 ans), je remplace de temps en temps des disques durs par des cartes CompactFlash. Et je crois que je n’ai jamais parlé ici d’un problème récurrent : le mode « fixed« .

Pour faire simple, les cartes CompactFlash utilisent une technologie dérivée de l’IDE et il est donc possible de remplacer un disque dur par une carte CompactFlash et un simple adaptateur passif. Ce mode, le TrueIDE, a longtemps été utilisé dans le monde industriel avant la démocratisation des SSD. Mais il y a une (petite) différence entre les cartes CompactFlash classiques (par exemple issues d’un appareil photo) et les cartes industrielles (destinées à remplacer un disque dur). Les premières s’identifient généralement (ce n’est pas systématique) comme un périphérique amovible, les secondes comme un périphérique fixe (fixed).

Machines et OS

Il s’agit d’un simple bit lu par le contrôleur ou l’OS, mais il a de l’importance dans certains cas. Je commence par l’OS : pas mal de systèmes refuseront tout simplement de s’installer, d’autres de générer un fichier de swap (tous les Windows depuis XP). C’est un problème, surtout si vous n’avez pas beaucoup de RAM. A ma connaissance, les différentes versions des OS d’Apple ne vérifient pas le bit ou en tout cas n’ont pas de réactions visibles (je ne suis pas totalement certain, j’utilise essentiellement les cartes sous Windows/DOS). Ensuite, il y a la machine. Autant les PC classiques posent (très) rarement de problèmes avec ça, autant les Mac portables – surtout les vieux – demandent souvent une carte fixed pour démarrer. Typiquement, si vous remplacez le disque dur d’un PowerBook 150 ou 1400 par une carte CompactFlash, il faut une carte fixed ou un adaptateur qui modifie le bit à la volée. Dans tous les cas, et quel que soit l’OS ou la machine, c’est de toute façon le premier point à vérifier en cas de soucis.

Une carte Sandisk modifiée dans un adaptateur

Comment régler ça ?

Il existe plusieurs méthodes pour régler le problème. La plus simple est d’utiliser une carte industrielle (par exemple de chez Transcend) : elles sont normalement fixed par défaut. Le problème, c’est que les cartes sont rares. La seconde méthode passe par un adaptateur qui force le bit à la bonne valeur, mais c’est assez cher (~40 €). La troisième, valable uniquement sous Windows et avec quelques périphériques, nécessite un pilote qui va simplement changer la valeur renvoyée à l’OS. Enfin, la dernière solution passe par un utilitaire de Sandisk pour certaines de leurs cartes, qui utilisent un contrôleur Athens : il permet de changer le bit.

Pour la petite histoire, j’ai obtenu ce logiciel il y a plus de 10 ans d’un ingénieur, mais en promettant de ne pas le diffuser. Depuis, on le trouve sur le net. ATCFWCHG est un programme DOS qui permet de changer la valeur du bit de certaines cartes Sandisk (ça ne fonctionne pas sur les cartes récentes). Si vous avez une vieille carte Ultra ou Extrême, ça passe généralement. Il suffit de le lancer avec les arguments donnés dans l’aide et une carte dans un emplacement IDE. Depuis des années, j’utilise une carte Sandisk modifié pour installer des Windows, Mac OS et autres vieilleries (Solaris…) sans aucun soucis.

Après, je ne peux malheureusement pas proposer de solution fiable pour ça : les cartes industrielles sont onéreuses, les cartes Sandisk modifiables deviennent rares, et il n’y a pas de solution miracle. A noter, tout de même, que les rares SSD « IDE » que vous trouverez sur le marché – et parfois à prix d’or – sont généralement équivalents à une carte CompactFlash. La majorité des petites capacités (32 Go et moins) intègrent juste l’électronique d’une carte avec un firmware forcé en mode fixed et un adaptateur intégré, souvent pour bien plus cher qu’une carte dans un adaptateur. Pour les « grosses » capacités (plus de 32 Go), c’est souvent un SSD SATA avec un adaptateur.