1ère transformation permanente de prototypes Nspire en CAS
Posted: 05 Sep 2012, 21:17
TI-Nspire numériques et TI-Nspire CAS disposent du même matériel. Pourtant, il n'est pas possible d'installer un OS CAS sur une TI-Nspire numérique ou d'installer un OS numérique sur une TI-Nspire CAS. Ceci n'est donc pas du à une incapacité matérielle, mais à diverses protections sans lesquelles la commercialisation de deux modèles différents à des prix différents serait sans intérêt.
Basic TI-Nspire and TI-Nspire CAS share the same hardware. Yet, installing a CAS OS on a basic TI-Nspire is not possible, nor is possible installing a basic OS on a Ti-Nspire CAS. Thus, this impossibility is not due to the hardware but to many software protections without which TI wouldn't be serious when saling both models at different prices
La communauté TI a toujours eu pour but d'exploiter le plein potentiel matériel des calculatrices TI, et a donc longtemps cherché à utiliser un OS CAS sur une TI-Nspire numérique.
The TI community always wanted to use TI calculators at their best and long looked for using a CAS OS on a basic TI-Nspire.
Une première solution est arrivée dans le contexte de Ndless 2.0, avec un logiciel pour décrypter l'OS côté ordinateur (dont l'auteur souhaite désormais rester anonyme) et un petit utilitaire OSlauncher sur calculatrice développé par Lionel Debroux.
À partir d'une TI-Nspire numérique munie de son OS 1.7, 2.0.1 ou 2.1.0 et de Ndless 2.0, il était possible de lancer la version CAS du même OS 1.7, 2.0.1 ou 2.1.0 et inversement.
À partir d'une TI-Nspire numérique munie de son OS 1.7, 2.0.1 ou 2.1.0 et de Ndless 2.0, il était possible de lancer la version CAS du même OS 1.7, 2.0.1 ou 2.1.0 et inversement.
A first solution was found using Ndless 2.0, a software - whose creator wishes to stay anonymous - uncrypting the OS on computer and the little calculator software OSLauncher, developped by Lionel Debroux. Starting from a basic TI-Nspire with OS 1.7, 2.0.1 or 2.1.0 and running Ndless 2.0, it was possible to launch the CAS version of the OS sharing the same number and vice versa.
Notons bien qu'il s'agissait bien d'un lancement et non d'une installation. C'était donc une modification temporaire, annulée par tout redémarrage de la calculatrice.
Note that this was a launch and not an installation. The modification was temporary, cancelled by any reboot of the calculator.
Depuis l'OS 3.0.1, il n'est plus possible officiellement d'installer les anciens OS 2.1 ou antérieurs. Cela est dû à l'inscription dans la mémoire NAND dans une zone extérieure au système de fichiers d'un numéro minimal de version installable. Même si une méthode officieuse existe pour passer outre, elle est de toute façon inapplicable aux TI-Nspire CX puisque le premier OS compatible avec leur nouveau matériel est justement le 3.0.1.
Since OS 3.0.1, installing an OS previous to 2.1 isn't possible anymore - officially. This is due to a minimum installable version number written on a zone of the NAND unreachable from the file system. Even though there is an unofficial method to get rid of this problem, this method cannot be used on TI-Nspire CX for the first OS supported by their new hardware is 3.0.1
Ce n'est plus Lionel, mais Compu qui a par la suite mis à jour l'utilitaire OSlauncher pour Ndless 3.1.
Et si nous en parlons si peu, comme certains sites semblent nous le reprocher sournoisement dans nombre de messages privés (peut-être pour mieux pouvoir copier après), c'est tout simplement que cette mise à jour est bourrée d'inconvénients la rendant quasiment inutilisable pour une écrasante majorité d'entre vous:
Et si nous en parlons si peu, comme certains sites semblent nous le reprocher sournoisement dans nombre de messages privés (peut-être pour mieux pouvoir copier après), c'est tout simplement que cette mise à jour est bourrée d'inconvénients la rendant quasiment inutilisable pour une écrasante majorité d'entre vous:
- le lancement de l'OS échoue dans 95% des cas avec un freeze (ne marche qu'1 fois sur 20 en moyenne selon mes propres statistiques) - et il faut redémarrer la calculatrice en prime en cas d'échec, ce qui est pénible
- la seule façon de réussir le lancement de l'OS est de mettre le lanceur dans le dossier de démarrage de Ndless
- même à ça, il est impossible de lancer un OS 3.1 ou 3.2, ce qui conduit à un freeze - cela ne marche qu'avec les version 3.0.1 et 3.0.2, qui sont donc différentes de la version 3.1 et génèrent des menus totalement chaotiques puisque les identifiants des ressources sont différents, les rendant inutilisables!
- comme pour son prédécesseur, la transformation n'est que temporaire, et sera annulée par le prochain redémarrage de la calculatrice
- comme pour son prédécesseur, il faut réinstaller Ndless dans l'OS démarré à chaud, mais la procédure d'installation de Ndless 3.1 différant de celle de Ndless 2.0 on ne peut pas le faire directement sur calculatrice
- enfin, le programme en question ne marche pas du tout sur TI-Nspire CX
From now on, this is not Lionel but Compu who updates OSlauncher for using it with Ndless 3.1.
We did not write much about it because of many inconveniences of this new version, making it almost impossible to use for most users.
We did not write much about it because of many inconveniences of this new version, making it almost impossible to use for most users.
Dans une news précédente, je vous avais révélé comme mes prototypes TI-Nspire numériques étaient curieusement détectés en tant que TI-Nspire CAS depuis l'OS 3.1.
In a previous news, I revealed that my basic TI-Nspire prototypes were detected as TI-Nspire CAS.
Cette information a dû passer quasiment inaperçue au milieu de l'été, et pourtant tous les petits éléments de ce genre finissent par s'assembler tout seuls dans ma tête.
Il y a donc une routine de détection du type de matériel qui a été modifiée à partir de l'OS 3.1, qui est comme par hasard la version à partir de laquelle OSlauncher ne marche plus. On peut donc supposer que les OS 3.1 et ultérieurs vérifient le type de matériel au démarrage, afin de contrer OSlauncher.
Et c'est ce qui nous amène aujourd'hui à l'achèvement d'un grand projet : la transformation définitive de TI-Nspire numériques en TI-Nspire CAS, appliquée aux prototypes - la preuve que toute information a son importance!
Si si, sur TI-Planet nous avons une fois de plus réussi l'impossible!
Il y a donc une routine de détection du type de matériel qui a été modifiée à partir de l'OS 3.1, qui est comme par hasard la version à partir de laquelle OSlauncher ne marche plus. On peut donc supposer que les OS 3.1 et ultérieurs vérifient le type de matériel au démarrage, afin de contrer OSlauncher.
Et c'est ce qui nous amène aujourd'hui à l'achèvement d'un grand projet : la transformation définitive de TI-Nspire numériques en TI-Nspire CAS, appliquée aux prototypes - la preuve que toute information a son importance!
Si si, sur TI-Planet nous avons une fois de plus réussi l'impossible!
Such an information must have gone unnoticed this summer, yet everything finally came clear in my head. A routine detecting the type of hardware has been changed since OS 3.1, making OSLauncher not working anymore. We may suppose that OS 3.1 was modified for this purpose.
This -apparently useless - information made us find today a way of changing permanently a basic TI-Nspire prototype in a TI-Nspire CAS !
Once again, TI-Planet did what was impossible !
This -apparently useless - information made us find today a way of changing permanently a basic TI-Nspire prototype in a TI-Nspire CAS !
Once again, TI-Planet did what was impossible !
Il y avait donc quelque chose de différent entre mes prototypes TI-Nspire et les TI-Nspire commerciales. La question était donc de savoir quoi.
What was so different between my TI-Nspire prototypes and the commercial versions ?
Regardons de plus près comment les TI-Nspire s'identifient grâce à un petit utilitaire de ma conception :
Let's look inside, using a software that I made :
L'identification des TI-Nspire utilisent deux valeurs :
- un identifiant du modèle stocké en mémoire NAND
- un type de modèle stocké dans la puce ASIC
TI-Nspire identify themselves sending two numbers :
- an id of the model, stored in the NAND,
- a bit stored in the ASIC chip, giving again the type - basic or CAS - of the model
L'identifiant du modèle stocké dans la mémoire NAND indique donc de façon complète le modèle de TI-Nspire:
Le type de modèle, stocké dans la puce ASIC indique lui de façon redondante le type de modèle; CAS ou numérique:
- 0C pour TI-Nspire CAS
- 0D pour TI-Nspire Lab Station Cradle
- 0E pour TI-Nspire
- 0F pour TI-Nspire CX CAS
- 10 pour TI-Nspire CX
- 11 pour TI-Nspire CM CAS
- 12 pour TI-Nspire CM
Le type de modèle, stocké dans la puce ASIC indique lui de façon redondante le type de modèle; CAS ou numérique:
- 0 pour une TI-Nspire numérique
- 1 pour une TI-Nspire CAS
Transformer de façon permanente une TI-Nspire d'un certain modèle en un autre modèle au matériel compatible revient à modifier ces deux valeurs: l'identifiant de modèle en mémoire NAND et le type de modèle dans l'ASIC.
Changing permanently a TI-Nspire into another sharing the same hardware is made by changing these two numbers.
C'est d'ores et déjà possible pour la mémoire NAND, qui est une puce réinscriptible documentée publiquement, et cela a déjà été appliqué pour la reprogrammation du Boot2, du logiciel de diagnostics, ou même pour la réinstallation d'anciennes versions de l'OS interdites.
Mais l'ASIC par contre, c'est cette grosse puce propriétaire non documentée publiquement!
Mais l'ASIC par contre, c'est cette grosse puce propriétaire non documentée publiquement!
It is possible for the id stored in the NAND, which is publicly documented. We already did something like that for modifying Boot2, the diagnostic software or even for reinstalling previous versions of the OS.
However, the ASIC is that fat undocumented chip from TI.
However, the ASIC is that fat undocumented chip from TI.
Et même si nous avions la documentation, rien ne nous prouve que cette puce se révélerait reprogrammable...
D'autant plus que le type de modèle est stocké dans le même bloc d'adresse que le numéro de produit affiché sur l'écran "à propos" de nos calculatrices. Être capable de changer le type de modèle en ASIC reviendrait à dire que l'on est capable de falsifier le numéro de produit - ce qui m'étonnerait fortement.
D'autant plus que le type de modèle est stocké dans le même bloc d'adresse que le numéro de produit affiché sur l'écran "à propos" de nos calculatrices. Être capable de changer le type de modèle en ASIC reviendrait à dire que l'on est capable de falsifier le numéro de produit - ce qui m'étonnerait fortement.
Unfortunately, even if we had documentation, we don't even know if this chip is flashable...
Venons-en maintenant à mes prototypes de TI-Nspire numériques, détectées en tant que TI-Nspire CAS par l'ordinateur depuis l'utilisation des OS 3.1 et 3.2.
Il doit donc y avoir sur ces prototypes quelque chose qui est plus "CAS" que sur les TI-Nspire numériques de production... Pourtant, tout a l'air normal dans l'écran "à propos", qui reporte une TI-Nspire avec bien un identifiant de produit commençant par 0E :
Il doit donc y avoir sur ces prototypes quelque chose qui est plus "CAS" que sur les TI-Nspire numériques de production... Pourtant, tout a l'air normal dans l'écran "à propos", qui reporte une TI-Nspire avec bien un identifiant de produit commençant par 0E :
Let's get back to my basic TI-Nspire prototypes, identified as TI-Nspire CAS by the computer since OS 3.1.
There must be something looking "CAS" on them. Everything looks normal on the About... screen, which shows an id starting with 0E :
There must be something looking "CAS" on them. Everything looks normal on the About... screen, which shows an id starting with 0E :
Lançons le même utilitaire que ci-dessus :
But if we use the software previously used...
Ha ha... La voilà la différence! La puce ASIC ne définit pas le type de modèle TI-Nspire, ne renvoyant ni 0 ni 1!
Ce qui veut dire que sur les prototypes ici, une simple petite modification en mémoire NAND suffit à les transformer en TI-Nspire CAS!
Ce qui veut dire que sur les prototypes ici, une simple petite modification en mémoire NAND suffit à les transformer en TI-Nspire CAS!
... we finally find the difference ! The ASIC chip doesn't store the bit giving the type of the model. On these prototypes, changing only the id in the NAND should change them in CAS models.
Tentons l'expérience et modifions l'identifiant de modèle Nspire en mémoire NAND, de 0E à 0C:
La reprogrammation de la mémoire NAND semble s'être effectuée avec succès, et l'écran d'accueil reflète les modifications. Redémarrons la calculatrice...
Nos prototypes TI-Nspire numérique effacent l'OS d'origine au redémarrage, puisqu'il n'est plus cohérent par rapport au nouvel identifiant de modèle. Logiquement, la calculatrice attend maintenant la réception d'un nouvel OS TI-Nspire CAS. Empressons-nous de la satisfaire:
Les sceptiques diront que j'ai très bien pu truquer cette dernière image ou utiliser mViewer pour afficher une capture d'écran précédemment sauvegardée...
Très bien alors: je vais vous le prouver en vidéo.
Voici donc un prototype TI-Nspire numérique faisant tourner un OS CAS 3.0.2, pour lequelle il n'existe aucune version de Ndless et donc aucun moyen de lancer mViewer.
Je vous montre qu'il ne contient non plus aucun fichier et le redémarre... admirez la suite!
Et voilà, avantage essentiel par rapport à OSlauncher: la transformation est ici permanente puisque survivant au redémarrage de la calculatrice!
La tranformation affiche à ce jour 100% de réussite avec 7 de mes prototypes et 1 que j'ai donné à Adriweb, qui a bien voulu me servir de cobaye.
Les prototypes devront bien évidemment avoir été au préalable convertis en modèles de production grâce à notre tutoriel et munis de l'OS 3.1 avec Ndless 3.1.
Ceux qui s'étaient au départ faits avoir sur des sites de revente en ligne, se voient donc finalement bénéficier de modèles bien plus intéressants que les modèles de production. Nous y avons mis le temps, mais TI-Planet leur a enfin rendu justice!
On peut penser que la désactivation de la protection ASIC sur les prototypes permettait aux développeurs TI de tester rapidement à la fois des OS CAS et non-CAS sur la même machine, en la basculant du mode non-CAS au mode CAS et vice-versa avec un outil similaire. Et si les personnes à qui ces machines ont été confiées ne les avaient pas honteusement revendues, ce serait encore un secret à ce jour.
Notons bien que cette méthode ne marche pas sur les TI-Nspire de production commercialisées et est donc destinée uniquement aux pototypes puisque nous n'avons aucun moyen de reprogrammer l'ASIC.
Le programme contient normalement une vérification qui lui évitera de modifier des modèles de production.
Alors ça peut paraître tentant puisqu'elle est visible dans le code source, mais ne la désactivez pas: la modification de la NAND appliquée à un modèle de production donnera une incohérence avec l'ASIC, ce qui reviendra à détruire définitivement votre calculatrice.
Outre la suppression de l'OS au prochain redémarrage, votre calculatrice sera désormais inutilisable puisque vous ne pourrez plus installer d'OS: certains seront refusés à cause de l'ASIC, et les autres seront refusés à cause de la mémoire FLASH qui dit le contraire de l'ASIC...
Lien:
hwMod