Page 1 of 3

nsNandMgr, le couteau suisse de la mémoire NAND sur Nspire

Unread postPosted: 25 Dec 2012, 19:19
by critor
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. :mj:

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! :bj:



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! :bj:

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! :bj:



Tentons de comprendre avec des exemples. Voici déjà une TI-Nspire CX CAS:
Image

  • 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.
En quelques touches donc, on réalise le downgrade du Boot2 de 3.1 à 3.0.1, la suppression de la protection antidowngrade et le lancement du logiciel de diagnostics TI-Nspire CM! ;)
Image 1745




Prenons maintenant une TI-Nspire ClickPad numérique:
Image

  • 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.
En quelques touches donc, on réalise le downgrade du Boot2 de 3.1 à 1.4, la suppression de la protection antidowngrade et le lancement du logiciel de diagnostics TI-Nspire prototype! ;)
Image Image




Enfin, prenons un prototype TI-Nspire ClickPad numérique:
Image

  • 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.
En quelques touches donc, on réalise la transformation de cette TI-Nspire numérique en TI-Nspire CAS et la suppression de la protection antidowngrade! ;)
Image




nsNandMgr: qu'est-ce qu'il ne fait pas? :P




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! :bj:



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! :bj:
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. :bj:



Let's try to understand the possibilities with examples. Here's a TI-Nspire CX CAS:
Image

  • 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.
So just a few keystrokes and you perform a Boot2 downgrade from 3.1 to 3.0.1, the removal of the OS antidowngrade protection, and the launching of the TI-Nspire CM diagnostic software! ;)
Image 1745




Now let's take a non-CAS TI-Nspire ClickPad:
Image

  • 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.
So just a few keystrokes and you perform a Boot2 downgrade from 3.1 to 1.4, the removal of the OS antidowngrade protection, and the launching of the TI-Nspire prototype diagnostic software! ;)
Image Image




Finally, let's take a non-CAS TI-Nspire ClickPad prototype:
Image

  • 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.
So just a few keystrokes and you perform a TI-Nspire to TI-Nspire CAS transformation and the removal of the OS antidowngrade protection. ;)
Image




nsNandMgr: what can't it do? :P




Link:

archives_voir.php?id=10080

Re: nsNandMgr, le couteau suisse de la mémoire NAND sur Nspi

Unread postPosted: 25 Dec 2012, 19:46
by Persalteas
Yipee ! :favorite: :favorite: :favorite: :favorite: :favorite: C'est Noel, dis donc !
Je teste tout de suite ! ;)

Re: nsNandMgr, le couteau suisse de la mémoire NAND sur Nspi

Unread postPosted: 25 Dec 2012, 23:59
by blg_flg
J'ai peur de mal comprendre. Pour changer le type de la Nspire (de non-CAS à CAS), il faut que l'ASIC soit générique, mais sur quels modèles l'ASIC l'est? Uniquement sur ces prototypes ou aussi sur d'autres calculatrices?

Re: nsNandMgr, le couteau suisse de la mémoire NAND sur Nspi

Unread postPosted: 26 Dec 2012, 00:08
by critor
A ma connaissance, uniquement sur les prototypes ClickPad du 1er trimestre 2007 oui.
Mais c'était justement sans doute prévu spécifiquement pour ça, afin que les ingénieurs TI puissent tester rapidement et facilement les divers OS: il leur suffisait de changer le type de l'unité nomade.

Durant l'été 2011, Adriweb est même tombé chez TI-Dallas sur un prototype TI-Nspire non-CAS qui faisait tourner un OS CAS:
1582

On a juste mis un peu plus d'1 an à comprendre et reproduire ça ;)



Tu ne risques rien en gros, nsNandMgr vérifie l'ASIC et refusera de te faire la modification si ce dernier est typé.

Re: nsNandMgr, le couteau suisse de la mémoire NAND sur Nspi

Unread postPosted: 26 Dec 2012, 13:45
by yatto
Donc ce petit logiciel miracle peut permettre à une Nspire Clickpad numérique de lancer un OS CAS ?
Meme si, si j'ai bien compris, on ne peut pas lancer d'OS à partir d'une Nspire numérique qui est sous OS 3.1, on peut quand même la downgrader vers l'OS 2.x et lancer un OS CAS depuis nsNandMgr ?

Re: nsNandMgr, le couteau suisse de la mémoire NAND sur Nspi

Unread postPosted: 26 Dec 2012, 14:17
by critor
Euh non, t'as pas tout saisi en fait...


nsNandMgr ne s'occupe absolument pas du lancement d'OS.

On peut lancer des OS à chaud sous l'OS 3.1 en utilisant simplement une version à jour de OSlauncher.
Mais, TI a rajouté des protections au démarrage des OS 3.1 et ultérieurs, et ils se bloquent sur l'écran grisé avec l'horloge lorsqu'ils sont lancés à chaud.


nsNandMgr te permet de transformer de façon permanente en TI-Nspire CAS les prototypes TI-Nspire numérique du 1er trimestre 2007. Ce n'est pas un lancement d'OS, mais une modification définitive et permanente de l'identifiant du modèle en mémoire NAND.

Re: nsNandMgr, le couteau suisse de la mémoire NAND sur Nspi

Unread postPosted: 27 Dec 2012, 13:11
by Persalteas
Bon, je remercie énormément critor pour ce programme qui permet donc le downgrade d'OS sans problème ! :bj:

Mais j'annonce solennellement à tous ceux qui ont voulu comme moi downgrader pour pouvoir utiliser l'émulateur 84+ en version non MathPrint et avec lui programmer en Axe (ou Grammer) que de toutes façons, l'émulateur n'est pas assez stable, et que ça crashe quasiment à tous les coups.

On pouvait s'en douter, mais une vérification était nécéssaire puisqu'étrangement Celtic fonctionne très bien.

Dommage ! Merci quand même critor, encore une fois.

Re: nsNandMgr, le couteau suisse de la mémoire NAND sur Nspi

Unread postPosted: 27 Dec 2012, 13:40
by Adriweb
Faudrait un programme Ndless capable d'exécuter de l'Axe, mais c'est tout un projet ca ^^

(remarque, un ému z80, c'est faisable en JS, donc en C pour l'ARM qu'on a ...)

Re: nsNandMgr, le couteau suisse de la mémoire NAND sur Nspi

Unread postPosted: 27 Dec 2012, 13:41
by Persalteas
L'émulateur c'est une chose, mais ensuite y'a la ROM... l'avantage de l'emu officiel (et c'est bien le seul) c'est que la ROM est incluse.

Re: nsNandMgr, le couteau suisse de la mémoire NAND sur Nspi

Unread postPosted: 27 Dec 2012, 13:43
by Adriweb
Pas un gros problème ca, on a vu bien plus compliqué que de charger un fichier de quelques ko/Mo ^^