nsNandMgr, le couteau suisse de la mémoire NAND sur Nspire
Posted: 25 Dec 2012, 19:19
Par le passé, nombre d'outils Ndless concernant la mémoire NAND sont sortis sur TI-Nspire...
Par exemple pour reprogrammer le Boot2:
Ou encore pour reprogrammer le logiciel de Diagnostics:
Aussi pour contourner la protection antidowngrade par numéro minimal de version installable:
Egalement pour lancer des images de Boot2 sans les installer:
Tout comme pour lancer des images de logiciels de Diagnostics sans les installer:
Ou pour dumper les Boot2 et logiciels de Diagnostics:
Ou enfin pour changer le type (CAS/non-CAS) d'une TI-Nspire:
Et cette liste est un problème en elle-même, car cet éventail d'outils NAND est très pénible à maintenir à jour, alors que pourtant ce sont en gros les mêmes instructions qui sont exécutés avec simplement des adresses qui changent.
Et effectivement, certains outils ont été mis à jour pour TI-Nspire CX avec Ndless 3.1, mais pas pour TI-Nspire ClickPad/TouchPad .(FlashBoot2CX, FlashDiagsCX, DowngradeCX)
Et d'autres outils n'ont même jamais été mis à jour pour Ndless 3.1! (Boot2Launcher, DiagsLauncher)
J'avais déjà commencé à mettre de l'ordre avec un utilitaire de dumping universel, Polydumper, compatible avec tous les modèles de TI-Nspire et compilé pour toutes les version de Ndless 1.1 à 3.1!
Aujourd'hui, je récidive avec nsNandMgr!
nsNandMgr est destiné à devenir le couteau suisse de la mémoire NAND sur TI-Nspire. Il regroupe la totalité des fonctionnalités des outils cités ci-dessus et même plus encore!
Il permet en effet de:
Publié bien évidemment sous licence libre, le code sensible est centralisé avec seulement un total de deux instructions d'écriture en NAND pour toutes ces fonctionnalités, ce qui devrait permettre une mise à jour fort facile!
nsNansMgr a de plus été conçu pour vérifier les images Boot2 et Diags utilisées, ce qui devrait prévenir la plupart des accidents involontaires!
Tentons de comprendre avec des exemples. Voici déjà une TI-Nspire CX CAS:
Prenons maintenant une TI-Nspire ClickPad numérique:
Enfin, prenons un prototype TI-Nspire ClickPad numérique:
Lien:
Par exemple pour reprogrammer le Boot2:
- Flash Boot2 Prototype (pour Ndless 1.1 et 1.2 prototypes)
- FlashBoot2 (pour Ndless 1.7 et 2.0)
- FlashBoot2CX (Ndless 3.1 sur Nspire CX)
Ou encore pour reprogrammer le logiciel de Diagnostics:
- FlashDiags (pour Ndless 2.0)
- FlashDiagsCX (pour Ndless 3.1 sur Nspire CX)
Aussi pour contourner la protection antidowngrade par numéro minimal de version installable:
- Nleash (pour OS 1.7 et 2.1)
- DowngradeFix (pour Boot2 1.4)
- DowngradeCX 3.1 (pour Ndless 3.1 sur Nspire CX)
Egalement pour lancer des images de Boot2 sans les installer:
- Boot2launcher (pour Ndless 1.7 et 2.0)
Tout comme pour lancer des images de logiciels de Diagnostics sans les installer:
- DiagsLauncher (pour Ndless 1.7 et 2.0)
Ou pour dumper les Boot2 et logiciels de Diagnostics:
- Dumper pour le logiciel de Diagnostics (pour Ndless 1.1)
- Polydumper Prototypes (pour Ndless 1.1 et 1.2 prototypes)
- Polydumper (pour Ndless 1.1, 1.3, 1.4, 1.7, 2.0 et 3.1)
Ou enfin pour changer le type (CAS/non-CAS) d'une TI-Nspire:
- hwMod (pour Ndess 3.1)
Et cette liste est un problème en elle-même, car cet éventail d'outils NAND est très pénible à maintenir à jour, alors que pourtant ce sont en gros les mêmes instructions qui sont exécutés avec simplement des adresses qui changent.
Et effectivement, certains outils ont été mis à jour pour TI-Nspire CX avec Ndless 3.1, mais pas pour TI-Nspire ClickPad/TouchPad .(FlashBoot2CX, FlashDiagsCX, DowngradeCX)
Et d'autres outils n'ont même jamais été mis à jour pour Ndless 3.1! (Boot2Launcher, DiagsLauncher)
J'avais déjà commencé à mettre de l'ordre avec un utilitaire de dumping universel, Polydumper, compatible avec tous les modèles de TI-Nspire et compilé pour toutes les version de Ndless 1.1 à 3.1!
Aujourd'hui, je récidive avec nsNandMgr!
nsNandMgr est destiné à devenir le couteau suisse de la mémoire NAND sur TI-Nspire. Il regroupe la totalité des fonctionnalités des outils cités ci-dessus et même plus encore!
Il permet en effet de:
- changer le type de TI-Nspire (CAS ou non-CAS) dans le cas où la puce ASIC utilisée est générique (prototypes ClickPad du 1er trimestre 2007 notamment)
- dumper le Boot2
- programmer une image de Boot2
- lancer une image de Boot2 sans installation
- dumper le logiciel de Diagnostics
- programmer une image de logiciel de Diagnostics
- lancer une image de logiciel de Diagnostics sans installation
- supprimer la protection anti-downgrade par version minimale d'OS installable
- changer l'ordre d'amorçage Boot2/Diags
- effacer la zone Boot Data
- effacer la zone Diags Data
Publié bien évidemment sous licence libre, le code sensible est centralisé avec seulement un total de deux instructions d'écriture en NAND pour toutes ces fonctionnalités, ce qui devrait permettre une mise à jour fort facile!
nsNansMgr a de plus été conçu pour vérifier les images Boot2 et Diags utilisées, ce qui devrait prévenir la plupart des accidents involontaires!
Tentons de comprendre avec des exemples. Voici déjà une TI-Nspire CX CAS:
- Comme l'ASIC n'est pas générique (Nspire CAS), il n'est pas possible d'en changer le type.
- Elle vient avec le Boot2 CX 3.1.0.16, qui est compressé, et ici le fichier '/ndless/boot2.img' contient un Boot2 CX 3.0.1.131, également compressé. Il est donc possible de lancer ce dernier Boot2, ou même de le programmer, ce qui réalisera un downgrade du Boot2.
- Elle vient avec le Diags CX 3.1.0.20, qui est non compressé, mais ici le fichier '/ndless/diags.img' contient un Diags 3.1.0.21, également non compressé, pour TI-Nspire CM! Comme le Boot1 le refusera, nsNandMgr refusera de le programmer. Pas contre, comme les matériels sont similaires, il acceptera de le lancer sans installation.
- La version minimale d'OS installable est actuellement 3.0.2.1785 et le Boot1 amorce par défaut le Boot2, et en cas d'échec le logiciel de Diagnostics.
Prenons maintenant une TI-Nspire ClickPad numérique:
- Comme l'ASIC n'est pas générique (Nspire), il n'est pas possible d'en changer le type.
- Elle vient avec le Boot2 3.0.1.131, qui est compressé, et ici le fichier '/ndless/boot2.img' contient un Boot2 1.4.1571, également compressé. Il est donc possible de lancer ce dernier Boot2, ou même de le programmer, ce qui réalisera un downgrade du Boot2.
- Elle vient avec le Diags 1.1.9266, qui est non compressé, et le fichier '/ndless/diags.img' contient un Diags 1.1.7387, non compressé également, mais prévu pour les prototypes TI-Nspire! Dans sa version actuelle, nsNandMgr ne différencie pas les images de production et de développement et acceptera donc de programmer ce Diags qui sera refusé par le Boot1. Par contre, le lancement sans installation lui marchera.
- La version minimale d'OS installable est actuellement 3.0.2.1785 et le Boot1 amorce par défaut le Boot2, et en cas d'échec le logiciel de Diagnostics.
Enfin, prenons un prototype TI-Nspire ClickPad numérique:
- L'ASIC est ici générique et il est donc possible de transformer cette TI-Nspire numérique en une TI-Nspire CAS!
- Elle vient avec le Boot2 1.4.1571, qui est compressé, et ici le fichier '/ndless/boot2.img' contient un Boot2 CX 3.0.1.131, également compressé mais incompatible. nsNandMgr refusera donc à la fois de le programmer et même de le lancer.
- Elle vient avec le Diags 1.3.2406, qui est non compressé, et le fichier '/ndless/diags.img' contient un Diags Lab Cradle 3.0.1658. Ce dernier sera refusé par le Boot1 et ndNandMgr refusera donc de le programmer, mais par contre il acceptera de le lancer sans installation car le matériel est similaire
- La version minimale d'OS installable est actuellement 3.0.2.1785 et le Boot1 amorce par défaut le Boot2, et en cas d'échec le logiciel de Diagnostics.
nsNandMgr: qu'est-ce qu'il ne fait pas?
Lien:
In the past, many NAND related Ndless tools were released for the TI-Nspire ...
And this list is a problem in itself, because this wide range of NAND tools is very difficult to keep up to date.
Some tools have been updated to Ndless 3.1 for TI-Nspire CX, but not for TI-Nspire ClickPad / TouchPad for exemple. (FlashBoot2CX, FlashDiagsCX, DowngradeCX)
Other tools have never been updated to Ndless 3.1! (Boot2Launcher, DiagsLauncher)
I had already started to sort things by releasing my universal dumping tool, Polydumper, compatible with all TI-Nspire models and compiled for every released Ndless version from 1.1 to 3.1!
Today I'm at it again with nsNandMgr!
nsNandMgr is destined to become the Swiss Army knife of the NAND memory on the TI-Nspire. It includes all the functionalities of the tools mentioned above and even more!
It allows you to:
Published under a free license of course, the sensitive code is centralized with only a total of two NAND writing instructions in the whole program for all mentionned functionnalities!
It should be easy to maintain for future versions.
nsNandMgr has also been designed to check the Boot2 and Diags images before flashing or running them, in order to prevent some unintended accidents.
Let's try to understand the possibilities with examples. Here's a TI-Nspire CX CAS:
Now let's take a non-CAS TI-Nspire ClickPad:
Finally, let's take a non-CAS TI-Nspire ClickPad prototype:
Link:
- to reprogram the boot2:
- Flash boot2 Prototype (for Ndless 1.1 and 1.2 prototypes)
- FlashBoot2 (for Ndless 1.7 and 2.0)
- FlashBoot2CX (for Ndless 3.1 on Nspire CX)
- to reprogram the Diagnostics software:
- FlashDiags (for Ndless 1.7 and 2.0)
- FlashDiagsCX (for Ndless 3.1 on Nspire CX)
- to remove the minimum installable OS version downgrade protection:
- Nleash (for OS 1.7 and 2.1)
- DowngradeFix (for Boot2 1.4)
- DowngradeCX 3.1 (for Ndless 3.1 on Nspire CX)
- to launch Boot2 images without installing them:
- Boot2Launcher (for Ndless 1.7 and 2.0)
- to launch Diagnostics software images without installing them:
- DiagsLauncher (for Ndless 1.7 and 2.0)
- to dump the boot2 and Diagnostics software:
- Dump Diagnostics for software (for Ndless 1.1)
- Polydumper Prototypes (for prototypes Ndless 1.1 and 1.2)
- Polydumper (for Ndless 1.1, 1.3, 1.4, 1.7, 2.0 and 3.1)
- to change the TI-Nspire type(CAS / non-CAS):
- hwMod (for Ndess 3.1)
And this list is a problem in itself, because this wide range of NAND tools is very difficult to keep up to date.
Some tools have been updated to Ndless 3.1 for TI-Nspire CX, but not for TI-Nspire ClickPad / TouchPad for exemple. (FlashBoot2CX, FlashDiagsCX, DowngradeCX)
Other tools have never been updated to Ndless 3.1! (Boot2Launcher, DiagsLauncher)
I had already started to sort things by releasing my universal dumping tool, Polydumper, compatible with all TI-Nspire models and compiled for every released Ndless version from 1.1 to 3.1!
Today I'm at it again with nsNandMgr!
nsNandMgr is destined to become the Swiss Army knife of the NAND memory on the TI-Nspire. It includes all the functionalities of the tools mentioned above and even more!
It allows you to:
- change the type of your TI-Nspire (CAS or non-CAS) in the case where the used ASIC chip is generic (ClickPad prototypes from 2007)
- dump the Boot2
- flash a Boot2 image
- launch a Boot2 image without installation
- dump the Diagnostics software
- flash a Diagnostics software image
- launch a Diagnostics software image without installation
- remove the minimum installable OS version downgrade protection
- change the Boot2/Diags boot order
- delete the Boot Data area
- delete the Diags Data area
Published under a free license of course, the sensitive code is centralized with only a total of two NAND writing instructions in the whole program for all mentionned functionnalities!
It should be easy to maintain for future versions.
nsNandMgr has also been designed to check the Boot2 and Diags images before flashing or running them, in order to prevent some unintended accidents.
Let's try to understand the possibilities with examples. Here's a TI-Nspire CX CAS:
- As the ASIC is not generic (Nspire CAS), it is not possible to change the Nspire type.
- It comes with a compressed CX Boot2 3.1.0.16, and the file '/ndless/boot2.img' contains a compressed CX Boot2 3.0.1.131. It is therefore possible to run this image, or even flash it performing a Boot2 downgrade.
- It comes with an uncompressed CX Diags 3.1.0.20, but here the '/ndless/diags.img file contains an uncompressed CM Diags 3.1.0.21. As the Boot1 will refuse this TI-Nspire CM Diags, nsNandMgr won't let you flash it. But as hardware is similar, it will let you run it.
- The minimum installable OS version is 3.0.2.1785 and the boor order is Boot2 then Diags upon failure.
Now let's take a non-CAS TI-Nspire ClickPad:
- As the ASIC is not generic (Nspire non-CAS), it is not possible to change the Nspire type.
- It comes with a compressed Boot2 3.0.1.131, and the file '/ndless/boot2.img' contains a compressed Boot2 1.4.1571. It is therefore possible to run this image, or even flash it performing a Boot2 downgrade.
- It comes with an uncompressed Diags 1.1.9266, and the file '/ndless/diags.img contains an uncompressed development Diags 1.1.7383. Although the current nsNandMgr will let you flash this prototype Diags, Boot1 will refuse it. But you can still run it from nsNandMgr.
- The minimum installable OS version is 3.0.2.1785 and the boor order is Boot2 then Diags upon failure.
Finally, let's take a non-CAS TI-Nspire ClickPad prototype:
- As the ASIC is generic, it is possible to change the Nspire type to CAS.
- It comes with a compressed Boot2 1.4.1571, and the file '/ndless/boot2.img' contains a compressed CX Boot2 3.0.1.131. As hardware is uncompatible, nsNandMgr won't let you flash or run it.
- It comes with an uncompressed Diags 1.3.2406, and the file '/ndless/diags.img contains an uncompressed Lab Cradle Diags 3.0.1658. As the Boot1 will refuse this TI-Nspire Lab Cradle Diags, nsNandMgr won't let you flash it. But as hardware is similar, it will let you run it.
- The minimum installable OS version is 3.0.2.1785 and the boor order is Boot2 then Diags upon failure.
nsNandMgr: what can't it do?
Link:
archives_voir.php?id=10080