π
<-
Chat plein-écran
[^]

CERMASTR : répare l'autodestruction Python des 83PCE/84+CE

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

CERMASTR : répare l'autodestruction Python des 83PCE/84+CE

Message non lude critor » 20 Déc 2022, 12:16

1632716326Bien que son déclenchement soit rare, les TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python et TI-84 Plus CE Python souffrent d'un très grave bug, autodétruisant leurs fonctionnalités Python.

Une fois le bug déclenché l'application Python refusera de se lancer, avec un message d'erreur :
  • t'invitant à connecter l'adaptateur externe TI-Python et à l'utiliser l'application PyAdaptr si il s'agit d'une TI-83 Premium CE Edition Python
  • te disant que la fonctionnalité Python n'est pas disponible si il s'agit d'une TI-84 Plus CE-T Python ou TI-84 Plus CE Python

1632916328Le problème est également confirmable à l'écran d'autodiagnostic accessible via
mode
alpha
ln
, les informations spécifiques à la fonctionnalité Python n'étant plus affichées.


Voilà, ta TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python ou TI-84 Plus CE Python vient de se désévoluer en un ancien modèle TI-83 Premium CE ou TI-84 Plus CE, perdant à la fois en fonctionnalités (qui plus est une fonctionnalité majeure) ainsi qu'en valeur sur le marché de l'occasion. :mj:

Le changement est hélas officiellement définitif. Aucun reset ou menu de réinitialisation officiel ne permet de revenir en arrière.

Nous pouvons confirmer à coup sûr au moins 4 déclenchements de ce bug dans la communauté, son existence est certaine :
  • moi-même sur TI-83 Premium CE Edition Python, problème constaté juste après le transfert d'une application
  • MozzieThePython sur TI-83 Premium CE Edition Python, problème constaté juste après la mise à jour du système en version 5.7 (source)
  • Lucas5641 sur TI-83 Premium CE Edition Python, problème constaté juste après la mise à jour du système en version 5.6 (source)
  • texasins sur TI-84 Plus CE-T Python Edition, problème constaté juste après la mise à jour du système (source)
À rajouter bien sûr tous ceux qui ont directement démarché l'assistance technique de Texas Instruments, ainsi que ceux n'ont pas réagi parce qu'ils n'utilisaient que pas ou peu l'application Python.

Le bug semble donc a priori être lié aux écritures d'informations en mémoire Flash qui ont lieu lors de l'installation d'une application ou d'un nouveau système d'exploitation, des manipulations parfaitement normales, écritures qui visiblement se passent mal dans certains cas.

Tentons déjà de comprendre non pas ce qui déclenche le problème, mais ce qui suite à son déclenchement empêche l'application Python de se lancer.

On peut justement noter une autre différence entre les calculatrices normales et les calculatrices dont la fonctionnalité Python a été autodétruite, que nous appellerons par la suite pour simplifier calculatrices malades.

À l'écran à propos accessible via
2nde
+
1
:
  • les calculatrices normales affichent une ligne ID avec le numéro de série électronique interne à la machine
  • les calculatrices malades ne l'affichent pas

Or cette information est issue du certificat, une page spéciale en mémoire Flash avec des informations sur la machine. Nous avons justement l'outil CERMASTR permettant d'afficher les informations du certificat et même de les modifier, regardons cela.

Les informations ansi que leur nombre peuvent varier d'une machine à une autre. Sur les machines normales, nous avons :
  • un champ principal 0x033, contenant lui-même :
    • un champ 0x040 avec justement l'ID affiché à l'écran à propos
    • un champ 0x042 avec le nom du modèle (TI-83 Premium CE ou TI-84 Plus CE)
      (ce champ était pris en compte pour les différents affichages de la calculatrice, ce qui te permettait avec CERMASTR de personnaliser le nom de ta machine et ainsi la marquer électroniquement contre le vol, mais malheureusement depuis la mise à jour 5.7 cette valeur est désormais ignorée)
    • sur les seules machines Python un champ 0x043, de valeur "P" (0x50)
Et justement, nous brûlons. Toute altération ou suppression du champ 0x043 désactive les fonctionnalités Python de la machine en question : le système considère que le microcontrôleur avec le coprocesseur 32 bits dédié au Python est absent.

Regardons maintenant le certificat d'une machine malade, comme tout récemment la TI-84 Plus CE-T Python Edition de texasins.

Et bien voilà nous y sommes, le champ principal 0x033 est absent ainsi que l'intégralité de son contenu, ce qui implique entre autres :
  • pas de champ 0x040 avec l'ID de la machine
  • pas de champ 0x043 activant les fonctionnalités Python

Que s'est-il passé ? Nous supposons :
  • que dans certaines situations (mises à jour système ou installation d'applications comme nous avons vu) il peut se produire une corruption du contenu du certificat
  • que le certificat est alors effacé
  • que suite à cela certains champs sont recréés comme on peut le constater, mais visiblement pas le champ principal 0x033, ce qui est en soit un 2ème bug :'(
Bon maintenant que nous avons compris, il est temps de voir si l'on peut réparer cela.

Deux problèmes toutefois avec CERMASTR :

Déjà d'une part les possibilités d'édition de CERMASTR étaient limitées, permettant certes de changer les valeurs et tailles de champs déjà existants, mais pas de recréer un champ absent où on le voulait.

D'autre part, l'écriture directe dans les zones sensibles de la mémoire Flash nécessite un contexte privilégié (unlock), comme le fait l'outil Cesium, Texas Instruments répondant systématiquement à chaque mise à jour système en bloquant la chose :mj:
Et il se trouve que contrairement à Cesium, CERMASTR n'avait pas été mis à jour avec le nouvel unlock compatible avec les dernières mises à jour système 5.7 et 5.8.

Rajoutons qu'un outil logiciel de réparation devient de plus en plus essentiel, car nous avons passé la rentrée 2022 alors que la TI-83 Premium CE Edition Python est sortie pour la rentrée 2019, ce qui veut dire que la garantie de 3 ans vient de commencer à expirer pour certaines machines, et qu'à partir de maintenant il n'est pas certain que Texas Instruments acceptera dans ce cas de les échanger ou réparer si le bug détruisant les fonctionnalités Python s'y déclenche.

Et bien retroussons nos manches. Toute la communauté vient de se mobiliser autour de l'outil CERMASTR, notamment :
  • MateoConLechuga pour y intégrer le nouvel unlock rajoutant la compatibilité avec les systèmes 5.7 et 5.8
  • Adriweb pour y nettoyer le code
  • et moi-même pour étendre les possibilités de création de champs
Nous te signons donc tous ensemble une mise à jour de CERMASTR compatible avec les derniers systèmes en date, et apportant des possibilités d'édition étendues ! :bj:

Nous avons pu constater lors de nos tests qu'il ne suffisait pas juste de récréer le champ Python 0x043 n'importe-où, sans quoi il était parfois ignoré. Ne comprenant pas exactement sous quelles conditions le système accepte ou refuse de prendre en compte ce champ, nous te proposons de reproduire au plus proche la configuration d'usine.

Pour réparer une TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python Edition ou TI-84 Plus CE Python dont l'application Python est inutilisable, voici comment faire.

Déjà, recréons le champ Python 0x043 :
  1. insérer un champ vide en début de certificat
  2. sélectionner sa taille et l'augmenter à 1
  3. sélectionner son identifiant et le mettre à 043
  4. y programmer la valeur par défaut à P (0x50)


Mais cela ne suffit pas, en l'état ce champ sera ignoré selon nos tests. Il nous faut maintenant recréer le champ principal 0x033 et le mettre dedans :
  1. insérer un nouveau champ vide en début de certificat
  2. sélectionner son identifiant et le mettre à 033
  3. sélectionner sa taille et l'augmenter une fois pour qu'il intègre le champ Python 0x043 suivant


Et voilà, juste à écrire le certificat modifié et la machine est réparée, l'application Python remarche, plus besoin de négocier un échange de calculatrices avec le service après vente de Texas Instruments, à devoir s'embêter à expédier sa calculatrice et ensuite à attendre la livraison, surtout lorsque cela se produit juste avant une évaluation ou un examen important ! :bj:
Nous conseillons toutefois aux personnes concernées par la panne de ne pas reproduire ces manipulations seules.

Lancez CERMASTR une fois juste pour prendre une photo ou capture d'écran de l'état de votre certificat à nous partager, et nous reviendrons vers vous avec une série de manipulations personnalisées après les avoir testées sur émulateur en partant d'un certificat exactement dans le même état que le vôtre.

Espérons que Texas Instruments ne va pas se dépêcher une nouvelle fois de bloquer le dernier unlock en date lors d'une prochaine mise à jour logicielle ou matérielle. :#non#:

Cela rendrait donc notamment Cesium et CERMASTR inutilisables, et à nouveau les machines malades irréparables, ce qui serait bien gênant maintenant que certaines machines commencent à sortir de la période de garantie. /!

Téléchargement : CERMASTR
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.2%
 
Messages: 41493
Images: 14577
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: CERMASTR : répare l'autodestruction Python des 83PCE/84+

Message non lude Shadow » 20 Déc 2022, 14:06

Merci pour cette mise à jour. :bj: :D
L'information se diffuse sur le compte Instagram.
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oubliez pas de lire les règles. En cas de problème, vous pouvez m'envoyer un message, je réponds rapidement.


Liens utiles :


Image
New to the website, Anonymous? Before posting something in the chat or in the forum, don't forget to read the rules. If you have any questions, you can send me a private message, I'll answer as fast as I can.


Useful links:


Image
Avatar de l’utilisateur
ShadowSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 19.9%
 
Messages: 424
Images: 122
Inscription: 26 Fév 2021, 12:46
Localisation: Paris
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1A - EPF Cachan
GitHub: bryanthrmn

Re: CERMASTR : répare l'autodestruction Python des 83PCE/84+

Message non lude Adriweb » 20 Déc 2022, 15:10

critor a écrit:Espérons que Texas Instruments ne va pas se dépêcher une nouvelle fois de bloquer le dernier unlock en date lors d'une prochaine mise à jour logicielle ou matérielle. :#non#:
Cela rendrait donc notamment Cesium et CERMASTR inutilisables, et à nouveau les machines malades irréparables, ce qui serait bien gênant maintenant que certaines machines commencent à sortir de la période de garantie. /!


Malheureusement, TI a l'habitude de corriger les failles d'unlock (utilisée par Cesium notamment) dans chaque nouvel OS.
Sauf que depuis l'OS 5.7 [TI ayant corrigé la faille d'avant], Cesium se base sur une faille qui ne dépend plus de l'OS (mais de code présent dans le boot), du coup meme si TI met à jour l'OS, à priori ca ne peut pas être corrigé.
C'est pour ca d'ailleurs que Cesium n'a pas eu besoin d'une mise à jour spéciale 5.8, ca marchait tout aussi bien que sur 5.7 :)

Donc à priori seul un nouveau boot (donc nouveau matériel) pourrait corriger ceci si TI tient à le faire (on peut le penser). Espérons qu'ils corrigeront par la même occasion l'auto-réparation du certificat en faisant attention au champ Python...
Image

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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14613
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: CERMASTR : répare l'autodestruction Python des 83PCE/84+

Message non lude critor » 02 Mar 2023, 19:45

Un nouveau cas ce soir avec une TI-83 Premium CE Edition Python refusant l'utilisation de l'application Python.
zeeki_ sur le chat.

Ligne ID manquante à l'écran à propos et donc certificat clairement effacé, pour une raison qui nous est toujours inconnue.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.2%
 
Messages: 41493
Images: 14577
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor


Retourner vers News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 79 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1593 utilisateurs:
>1553 invités
>35 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)