Forum Clubic

Commentaires : Un AirTag deux fois plus fin ? C’est possible, mais il faut un peu bricoler (page 2)

Non, on ne pouvait pas mettre les deux firmware à la fois. Pas pour une question de place, mais tout simplement parce qu’il n’y a pas de système permettant d’indiquer à la carte quel firmware elle doit utiliser en fonction de l’ordinateur sur lequel elle est… Un tel système existe aujourd’hui pour la compatibilité BIOS/UEFI, mais c’est parce que ça a été prévu dès le départ dans l’UEFI, qui devait succéder au BIOS, avec une volonté de maintenir une rétrocompatibilité. Mais à l’époque d’Open Firmware vs BIOS, c’était pas la même histoire, vu que de toute façon les CPU n’étaient pas compatibles, les firmwares pouvaient difficilement l’être (il y a une partie du firmware de la carte graphique qui est exécuté par le CPU).

Le fait qu’elles soient vendues plus cher n’empêche pas que la raison de ce firmware différent était technique, et non une volonté de fermeture. Et ce n’est pas Apple qui fixait les prix des cartes. Mais faut aussi comprendre que pour les constructeurs de ces cartes, faire un firmware compatible avec les machines Apple (et également les drivers du coup), ça fait un surcoût, surcoût qui était amorti sur un nombre limité de cartes… Donc le prix plus élevé était somme toute assez logique au final.

Je pense que c’est ce qu’il veut t’expliquer, Apple garde ses clients car ils les rends captifs , l’impossibilité d’installer des applications en dehors de la volonté d’Apple est un très bon exemple (le jailbreak n’est pas une solution autorisé par Apple et ils font tout pour l’empêcher lors des mise à jour).

En fait c’était tout à fait possible mais ce n’était pas mon propos ,c’est la carte fille qui se présente à la carte mère et non pas le contraire.
Tout simplement ,il suffit à la carte mère d’avoir l’identifiant de la carte fille pour que ça fonctionne.

Il n’y a rien de technique la dedans, c’est simplement une question de volonté d’inclure ou non les ID.
Il n’est pas rare que certains BIOS (UEFI) doivent être mis à jour pour pouvoir installer un nouveau processeur ,sinon c’est l’écran noir (certains magasins sérieux mettent en garde avant l’achat) , et comme je l’ai indiqué certaines carte mère trop ancienne qui ne sont pas mises à jour peuvent accepter un nouveau processeur si un moddeur ingénieux parvient à modifier le BIOS.
Ici une demande pour faire reconnaître un CPU sur une carte mère pas prévu pour

Tu te rends compte que ça a juste rien à voir là ? Pour une carte fille, ce n’est pas qu’une question d’identifiant, ça ne fonctionne pas du tout comme un CPU…

Pour le CPU, le besoin de reconnaissance par la carte mère, c’est une question de microcode : dans le CPU, il y a une partie qui est en fait logicielle et gérée par le microcode (ce qui permet notamment de corriger à postériori certains bugs du CPU, ce qui ne serait pas possible si tout était en dur). Pour schématiser, le CPU émule en fait un CPU x86, et le microcode c’est le code de cet émulateur. D’un CPU à l’autre, le microcode peut varier (parce que par exemple tel CPU supporte quelques instructions en plus par rapport à tel autre), et donc la carte mère doit identifier le CPU pour lui envoyer le bon microcode (et donc, à moins que le microcode soit le même, il ne suffit pas non plus d’ajouter l’id du CPU dans le BIOS pour le faire reconnaître, il faut aussi ajouter son microcode).

Pour les firmware des cartes graphiques et des cartes contrôleur de stockage, ça ne fonctionne pas du tout de la même façon : il y a un firmware dans la carte fille et la carte mère va charger ce firmware dans la RAM et faire exécuter ce firmware par le CPU. Ce n’est pas la carte mère qui connait à l’avance le firmware de la carte fille et le charge simplement en fonction de l’identifiant de la carte…

Et comme le firmware de la carte fille est exécuté par le CPU et s’interface avec le firmware de la carte mère, il faut qu’il soit adapté à la fois au type de CPU utilisé (un firmware pour CPU x86 ne peut pas s’exécuter sur un CPU PowerPC, et inversement…) et avec l’interface du firmware de la carte mère (à l’époque, interface BIOS sur un PC, interface Open Firmware sur un Mac).

Il n’y avait aucun système standardisé à l’époque qui permettait à une carte fille d’embarquer deux versions du firmware et de présenter la bonne en fonction de la carte mère sur laquelle elle était montée (c’est arrivé par contre avec l’UEFI : lorsqu’il a commencé à développer ce nouveau type de firmware Intel avait deux architectures CPU avec deux jeux d’instruction différents, le x86 d’un côté et l’IA-64 de l’autre, et donc il a mis au point un nouveau système standardisé pouvant être compatible avec plusieurs architecture en simultané).

Une carte graphique est essentiellement constitué d’un processeur.

En supposant qu’il ne soit pas possible de faire reconnaître la carte par les ordinateurs Apple & les ordinateurs PC.
Les cartes graphiques vendu par ATI/AMD ou nVidia peuvent être délivré avec un BIOS incluant une marque ,logo et fréquences de fonctionnement à la demande de l’acheteur ou modifié par ce dernier.
C’est pas pour autant qu’elles sont plus cher.

@Kiki68 message supprimé pour le motif message non constructif/hors-sujet.

Encore une fois, tu compares ce qui n’est pas comparable…

Pour le support Mac à l’époque, il fallait développer un firmware compatible Open Firmware et compilé pour PowerPC, le tester sur des Mac, développer et tester des drivers compatibles Mac OS…

Pour modifier le logo ou les fréquences, c’est juste du paramétrage, y a pas de firmware ou de drivers spécifiques à développer.

Je n’avais pas vu l’ Aimant ! sur l’autre coté .

Pour le support PC à l’époque, il fallait développer un firmware compatible BIOS et compilé pour PC, le tester sur des PC, développer et tester des drivers compatibles Windows…

PowerPC c’était une seule marque de processeur décliné en une poignée de variant monté sur quelques cartes mère.

PC c’était trois marques de processeur décliné en plusieurs variants pour chacune des marques avec des jeux d’instructions différents suivant les marques de processeurs et montés sur d’innombrables cartes mère ayant chacune leur propre BIOS.

Chaque fournisseur de carte graphique corrigeait les bugs éventuels suivant les évolutions du matériel et les innombrables configuration possible utilisé par les usagers et proposait les mises à jour gratuitement du firmware,c’est encore le cas aujourd’hui.

Oui, le coût devait être similaire, je dis pas le contraire. Sauf que derrière t’avais pas le même volume de ventes…

Le jeu d’instruction de base est le même sur tous les PC, il n’y avait pas besoin que le firmware des cartes graphiques soit adapté spécifiquement à la marque ou au modèle de CPU, parce que le firmware n’utilisait pas les instructions supplémentaires disponibles sur certains CPU (MMX et cie). Et les BIOS, même s’ils proviennent de différents fournisseurs, ça reste une interface standardisée, un BIOS AMI et un BIOS Award par exemple exposent la même API.

Donc en pratique, le besoin d’adaptation spécifique pour telle ou telle machine, il était extrêmement rare. Comme aujourd’hui d’ailleurs, c’est extrêmement rare de devoir flasher le firmware de sa carte graphique pour régler une incompatibilité avec la carte mère…

Fondamentalement, il y avait bien UN firmware pour PC, et UN firmware pour Mac. Mais le firmware pour Mac devait être amorti sur des volumes de ventes 100 fois plus faibles que le firmware PC.

Les firmwares des cartes (graphiques) sont fournis par les fabricants des dites cartes (par exemple ATI).
C’est eux qui élaborent les firmwares en les adaptant aux différentes plateformes et non pas le contraire.
Avec les informations que j’ai donné, il est aisé de comprendre que le fabricant passera moins de temps à mettre au point sur PowerPC que sur PC.

Les firmwares et BIOS évoluent suivant les modèles de cartes mais en suivant les lois du marché.

J’avais une carte mère Asus P5B-DLX ayant un contrôleur intégré JMicron pour augmenter le nombre de port SATA ,un bug est apparu sur ces ports mais Asus n’a pas mis à jour son BIOS, seul JMicron à fournit un nouveau firmware pour son contrôleur,j’ai réussi à implémenter le nouveau firmware JMicron dans le BIOS Asus et tout est rentré dans l’ordre.

Mais pas 100 fois moins de temps… Or niveau ventes, avec un Mac qui à l’époque faisait 2-3% du marché, mais principalement avec les portables et les iMac, dont les cartes graphiques n’étaient pas remplaçables, le marché pour des cartes graphiques Mac étaient sans doute pas loin d’être 100 fois plus petit…

Donc même si développer le firmware et le driver Mac coûtait peut-être 2 ou 3 fois moins (et encore, je doute que ça soit un tel facteur…), le coût de développement ramené a l’unité était bien plus élevé.

C’est bien de raconter ta vie, mais ça n’a aucun rapport avec le sujet… Développer un firmware spécifique pour une autre architecture de machine, c’est pas la même chose que d’intégrer une mise à jour dans un firmware existant…

Un site qui répertorie des cartes graphique et SCSI prévu pour tourner sous x86 mais fonctionnant sous RISC Alpha
http://moon.hanya-n.org/comp/alpha/hct/graphics.html

1 J'aime

Merci pour ce lien, ça vient confirmer qu’il est tout à fait possible de faire fonctionner des cartes fille sur différentes plateformes de processeur sans avoir besoin d’un firmware spécifique.

C’est bien Apple qui à délibérément choisi d’obliger ses clients à se fournir exclusivement chez lui, non pas pour une « raison technique » mais pour une raison pécuniaire…