Première transformation de TI-Nspire CM en TI-Nspire CX CAS!
Posted: 18 Jul 2013, 18:01
Logiciellement, les calculatrices TI-Nspire CM commercialisées en Chine et TI-Nspire CX ont des fonctionnalités quasiment identiques.
La seule différence est que l'on peut installer un dictionnaire bilingue sur TI-Nspire CX et pas sur TI-Nspire CM.
La transformation d'une TI-Nspire CM en TI-Nspire CX ou vice-versa ne présenterait donc que peu d'intérêt, et c'est pour quoi ne nous ne nous sommes pas vraiment penchés dessus.
La seule différence est que l'on peut installer un dictionnaire bilingue sur TI-Nspire CX et pas sur TI-Nspire CM.
La transformation d'une TI-Nspire CM en TI-Nspire CX ou vice-versa ne présenterait donc que peu d'intérêt, et c'est pour quoi ne nous ne nous sommes pas vraiment penchés dessus.
TI-Nspire CM calculators sold in China and TI-Nspire CX have almost the same software capabilities.
The only disprency between those is to be able to install a bilingual dictionnary for TI-Nspire CX and not for TI-Nspire CM.
A TI-Nspire CM to TI-Nspire CX transformation or the reverse would give no interest, that's why we didn't look forward about that.
The only disprency between those is to be able to install a bilingual dictionnary for TI-Nspire CX and not for TI-Nspire CM.
A TI-Nspire CM to TI-Nspire CX transformation or the reverse would give no interest, that's why we didn't look forward about that.
Pourtant, nos amis chinois de cnCalc.org se battent désespérément depuis une bonne semaine afin de réaliser à tout prix cette transformation.
But our chinese friends of cnCalc.org were struggling since one week to do this transformation.
Quelles sont leurs motivations?
Nlaunch, le lanceur d'OS pour TI-Nspire, est disponible pour TI-Nspire monochrome et TI-Nspire CX, mais pas encore pour TI-Nspire CM puisqu'il est basé sur une faille des Boot2 1.4 (pour les TI-Nspire monochromes) et 3.1 (pour les TI-Nspire CX), mais que les TI-Nspire CM utilisent un Boot2 différent qui serait donc à analyser.
Nlaunch, le lanceur d'OS pour TI-Nspire, est disponible pour TI-Nspire monochrome et TI-Nspire CX, mais pas encore pour TI-Nspire CM puisqu'il est basé sur une faille des Boot2 1.4 (pour les TI-Nspire monochromes) et 3.1 (pour les TI-Nspire CX), mais que les TI-Nspire CM utilisent un Boot2 différent qui serait donc à analyser.
What are their motivations ?
Nlaunch, the OS launcher for TI-Nspire, is available for monochrome TI-Nspire and TI-Nspire CX, but not yet for TI-Nspire CM because it is based by a exploit of Boot2 1.4 (for monochrome TI-Nspire) and 3.1 (for TI-Nspire CX, but TI-Nspire CM uses a different Boot2 which is harder to analyze.
Nlaunch, the OS launcher for TI-Nspire, is available for monochrome TI-Nspire and TI-Nspire CX, but not yet for TI-Nspire CM because it is based by a exploit of Boot2 1.4 (for monochrome TI-Nspire) and 3.1 (for TI-Nspire CX, but TI-Nspire CM uses a different Boot2 which is harder to analyze.
Mais une fois une TI-Nspire CM transformée en TI-Nspire CX, il devient en théorie possible d'y installer Nlaunch CX et donc:
- de lancer un OS Linux
- de lancer un OS TI-Nspire CX CAS
But once a TI-Nspire CM transformed to TI-Nspire CX, it is theoretical to install Nlaunch CX and so :
- launching a Linux OS
- launching a TI-Nspire CX CAS OS
Rappelons déjà comment les différents modules logiciels Nspire (Boot2, OS) identifient le modèle sur lequel ils tournent.
Lets recall how the different software modules (Boot2, OS) checks the calculator model where they run.
D'un côté, la puce mémoire NAND ROM présente à l'offset 0x804 un identifiant de modèle:
- 0x0C pour les TI-Nspire CAS mais aussi TI-Nspire CAS+
- 0x0D pour les TI-Nspire Lab Cradle
- 0x0E pour les TI-Nspire
- 0x0F pour les TI-Nspire CX CAS
- 0x10 pour les TI-Nspire CX
- 0x11 pour les TI-Nspire CM CAS
- 0x12 pour les TI-Nspire CM
One the one hand:
- 0x0Cfor TI-Nspire CAS but also TI-Nspire CAS+
- 0x0D for TI-Nspire Lab Cradle
- 0x0E for TI-Nspire
- 0x0F for TI-Nspire CX CAS
- 0x10 for TI-Nspire CX
- 0x11 for TI-Nspire CM CAS
- 0x12 for TI-Nspire CM
Vous vous dites peut-être qu'il suffit simplement de modifier cette valeur, mais une deuxième valeur inscrite dans la puce processeur ASIC permet d'en contrôler la cohérence:
- 0b00000 pour les TI-Nspire et TI-Nspire CX
- 0b00001 pour les TI-Nspire CAS et TI-Nspire CX CAS
- 0b00010 pour les TI-Nspire CM
- 0b00011 pour les TI-Nspire CM CAS
- 0b11111 pour les prototypes TI-Nspire DVT et TI-Nspire CAS DVT
You maybe wonder why it would en enough to change this value, but a second value stored on the ASIC processor chip allows for checking it's consistence:
- 0b00000 for TI-Nspire and TI-Nspire CX
- 0b00001 for TI-Nspire CAS et TI-Nspire CX CAS
- 0b00010 for TI-Nspire CM
- 0b00011 for TI-Nspire CM CAS
- 0b11111 for prototypes TI-Nspire DVT and TI-Nspire CAS DVT
Et contrairement à la puce NAND, nous sommes incapables de reprogrammer la puce ASIC.
And unlike the NAND chip, we are unable to rewrite the NAND chip.
Quand les Boot2 ou OS TI-Nspire lancent ou installent un OS, ils vérifient que ce dernier est conforme à ces deux valeurs:
- l'identifiant de modèle en mémoire NAND
- le type de modèle dans la puce ASIC
When the Boot2 or TI-Nspire OS launches or installs an OS, they check if the latter is consistant to these two values:
- model identification on NAND memory
- model type of ASIC chip
Notons que le code spécial 0b11111 trouvé sur les prototypes TI-Nspire DVT est un code de debug qui ne spécifie pas le type de la calculatrice, et supprime donc cette deuxième vérification. C'est pour cela que nous avons pu transformer très facilement des protypes TI-Nspire en TI-Nspire CAS par simple reprogrammation de la puce NAND.
Take note that the special code 0b11111 found on TI-Nspire DVT prototypes is a debug code that doesn't state the calculator type, and delete thus this second check. That's why we could transform very easily TI-Nspire prototypes to TI-Nspire CAS by rewriting NAND chip.
Modifier l'identifiant de modèle inscrit en mémoire NAND de façon incohérente avec la puce ASIC, constitue ni plus ni moins qu'une destruction permanente de la calculatrice.
En effet, quelque soit l'OS utilisé à partir de cette modification, l'une des deux vérifications ci-dessus va forcément échouer et l'OS en question sera refusé et/ou effacé.
Vous vous retrouverez avec une calculatrice sans OS sur laquelle vous ne pourrez plus jamais installer d'OS.
En effet, quelque soit l'OS utilisé à partir de cette modification, l'une des deux vérifications ci-dessus va forcément échouer et l'OS en question sera refusé et/ou effacé.
Vous vous retrouverez avec une calculatrice sans OS sur laquelle vous ne pourrez plus jamais installer d'OS.
Changing the model identification written on the NAND memory incoherently with a ASIC chip, is neither more nor less a permanent brick of the calculator.
Indeed, whatever OS used after this modification, one of the two checkings written above would obviously fail and the OS sent will be rejected and/or deleted.
You end up with a OS-less calculator on which you wouldn't be able anymore to install an OS.
Indeed, whatever OS used after this modification, one of the two checkings written above would obviously fail and the OS sent will be rejected and/or deleted.
You end up with a OS-less calculator on which you wouldn't be able anymore to install an OS.
Et bien nbzwt, membre de la communauté chinoise cnCalc.org ne s'est pas dégonflé et viens d'effectuer une destruction de sa calculatrice TI-Nspire CM:
- en changeant son identifiant de modèle en TI-Nspire CX grâce à une version modifiée de nsNandMgr (la seule version que je supporte contient une police de sécurité interdisant d'effectuer cette 'destruction')
- en programmant le Boot2 TI-Nspire CX 3.1
Well, nbzwt, a communauty membre of the chinese website cnCalc.org has his hand on fire and effectively made a destruction of his TI-Nspire CM calculator:
- by changing his model identification to TI-Nspire CX thanks to a modified nsNandMgr (the only version I support has a security check unallowing and forbidding this 'destruction')
- by rewriting the TI-Nspire CX 3.1 Boot2
Sa calculatrice n'est donc désormais plus en état d'accepter l'installation ou lancement d'aucun OS CX ou CM.
His calculator was now unable to approve the installation or the launching of any CX OS or CM OS.
Mais quel était l'intérêt alors? Non nbzwt n'est pas fou - au contraire il fait preuve d'une malice extraordinaire.
Maintenant que la calculatrice utilise le Boot2 3.1 CX, il est en théorie possible d'y installer le lanceur d'OS Nlaunch qui par la suite permet d'installer et lancer n'importe quel OS TI-Nspire CX, CM et même CAS!
Maintenant que la calculatrice utilise le Boot2 3.1 CX, il est en théorie possible d'y installer le lanceur d'OS Nlaunch qui par la suite permet d'installer et lancer n'importe quel OS TI-Nspire CX, CM et même CAS!
But what was the reason for? No, nbzwt isn't crazy - per contra he showed an extraordinary malice.
Now that his calculator is using 3.1 CX Boot2, he is theoretically able to install the OS launcher called Nlaunch, which then allows to install and launch any TI-Nspire CX OS, CM OS, and even CAS!
Now that his calculator is using 3.1 CX Boot2, he is theoretically able to install the OS launcher called Nlaunch, which then allows to install and launch any TI-Nspire CX OS, CM OS, and even CAS!
En pratique, petit détail: les TI-Nspire CM n'ayant que 32Mo de mémoire SDRAM au lieu de 64Mo comme sur TI-Nspire CX, les versions officielles de Nlaunch ne marchent pas dessus.
Mais nbzwt a publié un fork de Nlaunch qui marche avec le Boot2 TI-Nspire CX 3.1 sur une TI-Nspire CM.
Mais nbzwt a publié un fork de Nlaunch qui marche avec le Boot2 TI-Nspire CX 3.1 sur une TI-Nspire CM.
A small breakdown had to be known: TI-Nspire CM calcuators having only 32 MB of SDRAM memory instead of 64 MB like on TI-Nspire CX calculators, official Nlaunch versions do not work.
But nbzwt released a Nlaunch fork that work with a Boot2 TI-Nspire CX 3.1 on a TI-Nspire CM.
But nbzwt released a Nlaunch fork that work with a Boot2 TI-Nspire CX 3.1 on a TI-Nspire CM.
Félicitons tous très fort l'extraordinaire nbzwt pour cet exploit!
Congratulations to all the awesome nbzwt loudly for this achievement!
Notons que je n'encourage toutefois pas cette modification qui est basée une destruction de la calculatrice.
Si pour une raison ou une autre Nlaunch n'est pas installable (comme par exemple lorsque les futurs OS 3.2.4/3.6 se répandront et forceront la mise à jour vers le Boot2 3.2.4.7 bloquant Nlaunch), la destruction deviendra définitive.
C'est pour cela que dans la situation actuelle, je ne modifierai pas la police de sécurité de nsNandMgr afin de permettre cette transformation.
Si pour une raison ou une autre Nlaunch n'est pas installable (comme par exemple lorsque les futurs OS 3.2.4/3.6 se répandront et forceront la mise à jour vers le Boot2 3.2.4.7 bloquant Nlaunch), la destruction deviendra définitive.
C'est pour cela que dans la situation actuelle, je ne modifierai pas la police de sécurité de nsNandMgr afin de permettre cette transformation.
Please take note however that I do not invite you to do this modification based on a bricking of the calculator. If for any reason or other Nlaunch doesn't setup (for instance like when future 3.2.4/3.6 OSes will spread around the world and force a Boot2 3.2.4.7 update jamming up Nlaunch), the bricking would become definitive. That's why in the actual forecast, I won't change the security policies of nsMandMgr to allow this transformation.
Edit: Et justement, il semble que depuis nbzwt ait hélas malencontreusement achevé la destruction de sa TI-Nspire CM en vous réalisant des tests complémentaires pour le tutoriel
Edit: And precisely, it seems that since nbwzt had unfortunately completed his TI-Nspire CM bricking by fulfilling complementary tests for the tutorial
- Code: Select all
Boot Loader Stage 1 (3.00.99)
Build: 2010/9/9, 17:29:13
Copyright (c) 2006-2010 Texas Instruments Incorporated
Using production keys
Last boot progress: 65
Available system memory: 33196
Checking for NAND: NAND Flash ID: MICRON
SDRAM size: 64 MB
External Power Detected: VBUS.
SDRAM memory test: FAIL TI_B1_ADDRESS_1
BOOT1 Error: Stubbornly refusing to boot due to memory failure.
Le Boot1 cherche ici les 64Mo de RAM de la TI-Nspire CX qu'il ne trouve pas puisque nous sommes sur une TI-Nspire CM avec donc 32Mo de RAM.
Ce problème ne vous arrivera pas si vous suivez exactement et dans l'ordre le tutoriel lié.
Si vous souhaitez partager avec nbzwt un petit mot de soutien dans cette épreuve ou lui envoyer une petite participation pour qu'il puisse continuer à nous développer d'autres tutoriels ou outils extraordinaires, n'hésitez pas: nbzwt @ live.cn
Ce problème ne vous arrivera pas si vous suivez exactement et dans l'ordre le tutoriel lié.
Si vous souhaitez partager avec nbzwt un petit mot de soutien dans cette épreuve ou lui envoyer une petite participation pour qu'il puisse continuer à nous développer d'autres tutoriels ou outils extraordinaires, n'hésitez pas: nbzwt @ live.cn
The Boot1 seeks here for the 64 MB RAM of the TI-Nspire CX, which isn't found because we are on a TI-Nspire CM with 32 MB RAM.
This issue will not happen if you follow carefully and exactly and in order the linked tutorial.
If you want to share this with nbzwt an encouragement for this trial or to send him a share so he can keep developping us other extraordinary tutorials, do not hesitate: nbzwt @ live.cn
This issue will not happen if you follow carefully and exactly and in order the linked tutorial.
If you want to share this with nbzwt an encouragement for this trial or to send him a share so he can keep developping us other extraordinary tutorials, do not hesitate: nbzwt @ live.cn