π
<-

La combinaison d'effacement de l'OS des CAS+ enfin comprise

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

La combinaison d'effacement de l'OS des CAS+ enfin comprise

Unread postby critor » 14 May 2012, 06:17

Les TI-Nspire CAS+ font partie des prototypes Nspire évalués en 2006-2007 dans certaines classes pilote avant le lancement de la TI-Nspire finale en avril 2007, et utilisant un OS 1.0.

Basées sur le matériel du TI-Phoenix 1, elles sont incompatibles avec les TI-Nspire malgré la ressemblance apparente.

N'arrivant pas à les mettre à jour avec les OS Nspire 1.1 et ultérieurs, certains ont tenté l'équivalent de la combinaison de maintenance des TI-Nspire pensant obtenir un menu similaire et quelques options qui pourraient les aider, combinaison qui donne sur le clavier des TI-Nspire CAS+ :nsmep: :nsen: :nsp: .

Ils ont alors assisté sous leurs yeux horrifiés à l'effacement pur et simple de leur OS sans aucune autre forme de confirmation! :mj:
798


Et comme Texas Instruments n'a jamais diffusé publiquement les OS CAS+ ils se sont immédiatement retrouvés avec une calculatrice totalement inutilisable et irréparable! :mj:
797


Il leur a fallu attendre 5 à 6 longues années, pour que l'équipe TI-Planet résolve enfin le problème par elle-même il y a à peine plus d'une semaine! ;)



Intéressons-nous aujourd'hui à cette combinaison maudite d'effacement de l'OS sur les TI-Nspire CAS+. Son seul but est-il d'effacer l'OS? Ou cache-t-elle autre chose?

Voyons déjà ce qui est diffusé sur la console série RS232 lorsque cette combinaison longtemps mortelle est déclenchée:

Code: Select all
Boot Loader Stage 1 (1.0.526)
Build: 2006/8/11, 6:25:18
Copyright (c) 2006 Texas Instruments Incorporated
Using production keys

Last boot progress: 10546

System clock: 78 MHZ
SDRAM memory test: Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Checking for NAND: NAND Flash ID: ST Micro NAND256W3A

-- Bad Block list --
0x00058000 (22)
0x001F0000 (124)
-- Bad Block list end --

Loading DIAGS software...

Error reading/validating DIAGS image

Loading BOOT2 software...

99%
BOOT1: loading complete (924 ticks), launching image.



Boot Loader Stage 2 (1.0.526)
Build: 2006/8/11, 6:29:51
Copyright (c) 2006 Texas Instruments Incorporated
Using production keys



Initializing graphics subsystem.
Checking for NAND: NAND Flash ID: ST Micro NAND256W3A
Initializing USB and networking.


Initializing filesystem.
Datalight Reliance v2.00.0451
Copyright (c) 2003 - 2005 Datalight, Inc.
Registered to #9DE08703
FlashFX sample project for the OMAP5912 OSK running Nucleus
Datalight FlashFX Pro v2.0 Build 966
Nucleus Edition for ARM9
Copyright (c) 1993-2005 Datalight, Inc.
Patents: US#5860082, US#6260156.
Detected FfxDelay() parameters: Count=58776 MicroSec=8192 Shift=13
FFX: NAND chip manufacturer: ST Micro (20) chip NAND256W3A (75)
Filesystem ready.

-- Bad Block list --
0x00058000 (22)
0x001F0000 (124)
-- Bad Block list end --
Keypad request, deleting current OS to force upgrade.
Checking battery level.
Battery level is OK.

Loading Operating System...

Error loading OS image. Removing OS remnants.
Deleting file [/phoenix/install/manifest_img]
Deleting file [/phoenix/components]
Deleting file [/phoenix/policy.dat]
Deleting file [/phoenix/manuf.dat]
Removing directory [/phoenix/install/]
Deleting file [/phoenix/ctlg/locales/da/strings.res]
Removing directory [/phoenix/ctlg/locales/da/]
Deleting file [/phoenix/ctlg/locales/de/strings.res]
Removing directory [/phoenix/ctlg/locales/de/]
Deleting file [/phoenix/ctlg/locales/en/2dtemplates.res]
Deleting file [/phoenix/ctlg/locales/en/all.res]
Deleting file [/phoenix/ctlg/locales/en/math.res]
Deleting file [/phoenix/ctlg/locales/en/strings.res]
Deleting file [/phoenix/ctlg/locales/en/units.res]
Removing directory [/phoenix/ctlg/locales/en/]
Deleting file [/phoenix/ctlg/locales/fr/strings.res]
Removing directory [/phoenix/ctlg/locales/fr/]
Deleting file [/phoenix/ctlg/locales/it/strings.res]
Removing directory [/phoenix/ctlg/locales/it/]
Deleting file [/phoenix/ctlg/locales/no/strings.res]
Removing directory [/phoenix/ctlg/locales/no/]
Removing directory [/phoenix/ctlg/locales/]
Removing directory [/phoenix/ctlg/]
Deleting file [/phoenix/dcol/locales/da/strings.res]
Removing directory [/phoenix/dcol/locales/da/]
Deleting file [/phoenix/dcol/locales/de/strings.res]
Removing directory [/phoenix/dcol/locales/de/]
Deleting file [/phoenix/dcol/locales/en/icons.res]
Deleting file [/phoenix/dcol/locales/en/strings.res]
Removing directory [/phoenix/dcol/locales/en/]
Deleting file [/phoenix/dcol/locales/fr/strings.res]
Removing directory [/phoenix/dcol/locales/fr/]
Deleting file [/phoenix/dcol/locales/it/strings.res]
Removing directory [/phoenix/dcol/locales/it/]
Deleting file [/phoenix/dcol/locales/no/strings.res]
Removing directory [/phoenix/dcol/locales/no/]
Removing directory [/phoenix/dcol/locales/]
Removing directory [/phoenix/dcol/]
Deleting file [/phoenix/dlog/locales/da/strings.res]
Removing directory [/phoenix/dlog/locales/da/]
Deleting file [/phoenix/dlog/locales/de/strings.res]
Removing directory [/phoenix/dlog/locales/de/]
Deleting file [/phoenix/dlog/locales/en/strings.res]
Removing directory [/phoenix/dlog/locales/en/]
Deleting file [/phoenix/dlog/locales/fr/strings.res]
Removing directory [/phoenix/dlog/locales/fr/]
Deleting file [/phoenix/dlog/locales/it/strings.res]
Removing directory [/phoenix/dlog/locales/it/]
Deleting file [/phoenix/dlog/locales/no/strings.res]
Removing directory [/phoenix/dlog/locales/no/]
Removing directory [/phoenix/dlog/locales/]
Removing directory [/phoenix/dlog/]
Deleting file [/phoenix/geog/locales/da/strings.res]
Removing directory [/phoenix/geog/locales/da/]
Deleting file [/phoenix/geog/locales/de/strings.res]
Removing directory [/phoenix/geog/locales/de/]
Deleting file [/phoenix/geog/locales/en/icons.res]
Deleting file [/phoenix/geog/locales/en/strings.res]
Removing directory [/phoenix/geog/locales/en/]
Deleting file [/phoenix/geog/locales/fr/strings.res]
Removing directory [/phoenix/geog/locales/fr/]
Deleting file [/phoenix/geog/locales/it/strings.res]
Removing directory [/phoenix/geog/locales/it/]
Deleting file [/phoenix/geog/locales/no/strings.res]
Removing directory [/phoenix/geog/locales/no/]
Removing directory [/phoenix/geog/locales/]
Removing directory [/phoenix/geog/]
Deleting file [/phoenix/math/locales/da/strings.res]
Removing directory [/phoenix/math/locales/da/]
Deleting file [/phoenix/math/locales/de/strings.res]
Removing directory [/phoenix/math/locales/de/]
Deleting file [/phoenix/math/locales/en/strings.res]
Removing directory [/phoenix/math/locales/en/]
Deleting file [/phoenix/math/locales/fr/strings.res]
Removing directory [/phoenix/math/locales/fr/]
Deleting file [/phoenix/math/locales/it/strings.res]
Removing directory [/phoenix/math/locales/it/]
Deleting file [/phoenix/math/locales/no/strings.res]
Removing directory [/phoenix/math/locales/no/]
Removing directory [/phoenix/math/locales/]
Removing directory [/phoenix/math/]
Deleting file [/phoenix/ntpd/locales/da/strings.res]
Removing directory [/phoenix/ntpd/locales/da/]
Deleting file [/phoenix/ntpd/locales/de/strings.res]
Removing directory [/phoenix/ntpd/locales/de/]
Deleting file [/phoenix/ntpd/locales/en/icons.res]
Deleting file [/phoenix/ntpd/locales/en/strings.res]
Removing directory [/phoenix/ntpd/locales/en/]
Deleting file [/phoenix/ntpd/locales/fr/strings.res]
Removing directory [/phoenix/ntpd/locales/fr/]
Deleting file [/phoenix/ntpd/locales/it/strings.res]
Removing directory [/phoenix/ntpd/locales/it/]
Deleting file [/phoenix/ntpd/locales/no/strings.res]
Removing directory [/phoenix/ntpd/locales/no/]
Removing directory [/phoenix/ntpd/locales/]
Removing directory [/phoenix/ntpd/]
Deleting file [/phoenix/scpd/locales/da/strings.res]
Removing directory [/phoenix/scpd/locales/da/]
Deleting file [/phoenix/scpd/locales/de/strings.res]
Removing directory [/phoenix/scpd/locales/de/]
Deleting file [/phoenix/scpd/locales/en/icons.res]
Deleting file [/phoenix/scpd/locales/en/strings.res]
Removing directory [/phoenix/scpd/locales/en/]
Deleting file [/phoenix/scpd/locales/fr/strings.res]
Removing directory [/phoenix/scpd/locales/fr/]
Deleting file [/phoenix/scpd/locales/it/strings.res]
Removing directory [/phoenix/scpd/locales/it/]
Deleting file [/phoenix/scpd/locales/no/strings.res]
Removing directory [/phoenix/scpd/locales/no/]
Removing directory [/phoenix/scpd/locales/]
Removing directory [/phoenix/scpd/]
Deleting file [/phoenix/syst/localenames]
Deleting file [/phoenix/syst/docbrowser.data]
Deleting file [/phoenix/syst/locales/da/dialogs.res]
Deleting file [/phoenix/syst/locales/da/imechars.res]
Deleting file [/phoenix/syst/locales/da/strings.res]
Deleting file [/phoenix/syst/locales/da/sampledocuments/KomGodtIGang.tns]
Removing directory [/phoenix/syst/locales/da/sampledocuments/]
Deleting file [/phoenix/syst/locales/da/settings/factory.zip]
Removing directory [/phoenix/syst/locales/da/settings/]
Removing directory [/phoenix/syst/locales/da/]
Deleting file [/phoenix/syst/locales/de/dialogs.res]
Deleting file [/phoenix/syst/locales/de/imechars.res]
Deleting file [/phoenix/syst/locales/de/strings.res]
Deleting file [/phoenix/syst/locales/de/sampledocuments/ErsteSchritte.tns]
Removing directory [/phoenix/syst/locales/de/sampledocuments/]
Deleting file [/phoenix/syst/locales/de/settings/factory.zip]
Removing directory [/phoenix/syst/locales/de/settings/]
Removing directory [/phoenix/syst/locales/de/]
Deleting file [/phoenix/syst/locales/en/dialogs.res]
Deleting file [/phoenix/syst/locales/en/icons.res]
Deleting file [/phoenix/syst/locales/en/imechars.res]
Deleting file [/phoenix/syst/locales/en/strings.res]
Deleting file [/phoenix/syst/locales/en/sampledocuments/GettingStarted.tns]
Removing directory [/phoenix/syst/locales/en/sampledocuments/]
Deleting file [/phoenix/syst/locales/en/settings/factory.zip]
Removing directory [/phoenix/syst/locales/en/settings/]
Removing directory [/phoenix/syst/locales/en/]
Deleting file [/phoenix/syst/locales/fr/dialogs.res]
Deleting file [/phoenix/syst/locales/fr/imechars.res]
Deleting file [/phoenix/syst/locales/fr/strings.res]
Deleting file [/phoenix/syst/locales/fr/sampledocuments/PriseEnMainRapide.tns]
Removing directory [/phoenix/syst/locales/fr/sampledocuments/]
Deleting file [/phoenix/syst/locales/fr/settings/factory.zip]
Removing directory [/phoenix/syst/locales/fr/settings/]
Removing directory [/phoenix/syst/locales/fr/]
Deleting file [/phoenix/syst/locales/it/dialogs.res]
Deleting file [/phoenix/syst/locales/it/imechars.res]
Deleting file [/phoenix/syst/locales/it/strings.res]
Deleting file [/phoenix/syst/locales/it/sampledocuments/GuidaIntroduttiva.tns]
Removing directory [/phoenix/syst/locales/it/sampledocuments/]
Deleting file [/phoenix/syst/locales/it/settings/factory.zip]
Removing directory [/phoenix/syst/locales/it/settings/]
Removing directory [/phoenix/syst/locales/it/]
Deleting file [/phoenix/syst/locales/no/dialogs.res]
Deleting file [/phoenix/syst/locales/no/imechars.res]
Deleting file [/phoenix/syst/locales/no/strings.res]
Deleting file [/phoenix/syst/locales/no/sampledocuments/KommeIGang.tns]
Removing directory [/phoenix/syst/locales/no/sampledocuments/]
Deleting file [/phoenix/syst/locales/no/settings/factory.zip]
Removing directory [/phoenix/syst/locales/no/settings/]
Removing directory [/phoenix/syst/locales/no/]
Removing directory [/phoenix/syst/locales/]
Deleting file [/phoenix/syst/settings/current.zip]
Deleting file [/phoenix/syst/settings/initialized]
Removing directory [/phoenix/syst/settings/]
Removing directory [/phoenix/syst/]
Deleting file [/phoenix/tblt/locales/da/dialogs.res]
Deleting file [/phoenix/tblt/locales/da/strings.res]
Removing directory [/phoenix/tblt/locales/da/]
Deleting file [/phoenix/tblt/locales/de/dialogs.res]
Deleting file [/phoenix/tblt/locales/de/icons.res]
Deleting file [/phoenix/tblt/locales/de/strings.res]
Removing directory [/phoenix/tblt/locales/de/]
Deleting file [/phoenix/tblt/locales/en/dialogs.res]
Deleting file [/phoenix/tblt/locales/en/icons.res]
Deleting file [/phoenix/tblt/locales/en/strings.res]
Removing directory [/phoenix/tblt/locales/en/]
Deleting file [/phoenix/tblt/locales/fr/dialogs.res]
Deleting file [/phoenix/tblt/locales/fr/strings.res]
Removing directory [/phoenix/tblt/locales/fr/]
Deleting file [/phoenix/tblt/locales/it/dialogs.res]
Deleting file [/phoenix/tblt/locales/it/strings.res]
Removing directory [/phoenix/tblt/locales/it/]
Deleting file [/phoenix/tblt/locales/no/dialogs.res]
Deleting file [/phoenix/tblt/locales/no/strings.res]
Removing directory [/phoenix/tblt/locales/no/]
Removing directory [/phoenix/tblt/locales/]
Removing directory [/phoenix/tblt/]

Waiting for OS download.
Starting Connectivity services.
USB Download is enabled.
Press <Enter> to download through the serial port.
phoenix dhcp server w/ VOODOO built 12-Jul-2006 (start at 7140)


phoenix enum server built 12-Jul-2006


phoenix dhcp hook fwd w/ VOODOO built 12-Jul-2006 (start at 7140)


phoenix file mgt server built 12-Jul-2006 (start at 7240)

pn-srv2-636: pol_init = -1




Remarquez bien la mention "Keypad request, deleting current OS to force upgrade."

Il semble donc que l'effacement de l'OS permette de mettre à jour plus facilement sa TI-Nspire CAS+.

Voyons cela d'un peu plus près...



Expérience 1: :48tinscp:
Prenons une TI-Nspire CAS+ munie d'un OS 1.0.529.
Envoyons-lui un OS 1.0.554: ce dernier se voit installé sans aucun problème! :bj:
804


Expérience 2a: :48tinscp:
Prenons une TI-Nspire CAS+ munie d'un OS 1.0.554.
Envoyons-lui un OS 1.0.529: ce dernier se voit refusé avec un message sur l'ordinateur disant que l'on ne peut pas installer une version antérieure à celle déjà installée! :mj:
Comme incluse mais non utilisée sur les TI-Nspire commerciales avant l'OS 2.1, il y avait donc déjà une protection anti-downgrade sur les CAS+, basée sur le numéro de version de l'OS.

Expérience 2b: :48tinscp:
Reprenons la TI-Nspire CAS+ précédente munie de son OS 1.0.554.
Supprimons l'OS grâce à la combinaison :nsmep: :nsen: :nsp:
797

A l'invite d'installation d'OS du Boot2, envoyons le 1.0.529. Et bien cette fois-ci, l'OS est accepté! :bj:
799




La combinaison :nsmep: :nsen: :nsp: sur les TI-Nspire CAS+ permet donc d'installer un OS via le Boot2 qui est beaucoup moins strict que l'OS et ne comporte pas la protection anti-downgrade. Elle permet donc d'installer des OS sans vérification de leur numéro de version. Cela permet le retour à un OS antérieur (downgrade), mais également l'installation d'un OS plus récent pour lequel la vérification du numéro de version échouerait. :bj:

Cela peut sans doute vous paraître stupide de fournir une protection et le moyen de la contourner, mais n'oublions pas que la TI-Nspire CAS+ était un prototype de tests, que la protection anti-downgrade était encore en développement, et qu'un bug éventuel aurait pu bloquer complètement la TI-Nspire CAS+ en lui faisant refuser tous les OS. Nul étonnement dans ce contexte que TI se soit aménagé une sortie de secours.





TI-Planet: encore un secret de percé! :bj:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41984
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: La combinaison d'effacement de l'OS des CAS+ enfin compr

Unread postby 12jojo34 » 14 May 2012, 09:50

il n'y aurais pas un truc equivalent sur les nspire de production. sa permetterai de faire les downgrade d'os sans passer par ndless ou part le port rs232
Le fil vert sur le bouton rouge...
Seti@home a la recherche des petits hommes vert.
User avatar
12jojo34
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 37.5%
 
Posts: 64
Images: 0
Joined: 13 Nov 2011, 22:51
Location: Grenoble France
Gender: Male
Calculator(s):
MyCalcs profile
Class: terminal SSI

Re: La combinaison d'effacement de l'OS des CAS+ enfin compr

Unread postby Lionel Debroux » 14 May 2012, 12:38

il n'y aurais pas un truc equivalent sur les nspire de production

Non. Du moins, pas qu'on sache, mais il est formidablement improbable qu'il y ait des façons aussi simples de contourner les "protections" (qui seraient alors inutiles) dans les modèles de production ;)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: La combinaison d'effacement de l'OS des CAS+ enfin compr

Unread postby 12jojo34 » 15 May 2012, 16:55

pas si simple que sa vous avez quand meme mit 6 ans a savoir a quoi sa servait.
Le fil vert sur le bouton rouge...
Seti@home a la recherche des petits hommes vert.
User avatar
12jojo34
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 37.5%
 
Posts: 64
Images: 0
Joined: 13 Nov 2011, 22:51
Location: Grenoble France
Gender: Male
Calculator(s):
MyCalcs profile
Class: terminal SSI

Re: La combinaison d'effacement de l'OS des CAS+ enfin compr

Unread postby Adriweb » 15 May 2012, 17:48

Non, "simple" dans le sens c'est juste une combinaison.
Pas simple a dumper (c'est ca qui nous a pris du temps)
(en cumulé, ptet 10-15 heures en tout ...)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb


Return to News TI-Nspire

Who is online

Users browsing this forum: ClaudeBot [spider] and 5 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
720 utilisateurs:
>701 invités
>11 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)