Page 1 of 2

Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 16 Dec 2017, 15:42
by critor
363364360Les tablettes de rétroprojection TI-Nspire ViewScreen sont littéralement des calculatrices TI-Nspire dépourvues de clavier. On reconnaît en effet l'écran de chargement de ces dernières, ainsi que les icônes de reprogrammation des partitions Boot2 et Diags si l'on maintient au démarrage la touche haut enfoncée, ou bien les deux touches simultanément.

9071368367En les ouvrant, nous avions déjà remarqué que les tablettes TI-Nspire ViewScreen réutilisaient en fait le matériel des TI-Nspire CAS+, prototypes non finaux distribués dans les classes pilotes en 2006-2007 et incompatibles avec les TI-Nspire finales commercialisées à compter de 2007. On retrouve en effet répartis sur les deux faces les mêmes composants principaux :
  • TI-OMAP NP31AZZG (processeur 32-bits ARMv5/ARM9 78MHz)
  • HYB18L256160 (SDRAM 32Mio)
  • SST 39VF400A (Flash-NOR 512Kio, pour le Boot1)
  • ST NAND256W3A (Flash-NAND 32Mio, pour tout le reste)

361366La tablette de rétroprojection TI-Nspire ViewScreen dispose de deux ports USB utilisables une fois démarrée :
  • un USB type A pour afficher l'écran d'une TI-Nspire monochrome ou couleur
  • un USB type B pour afficher l'écran d'une TI-84 Plus ou TI-82 Advanced
Toutefois elle ne lance pas le protocole de transfert USB des TI-Nspire et ne peut donc pas recevoir par cette voie de fichiers depuis un ordinateur ou une autre calculatrice TI-Nspire. Si bien que nous n'avons pas pu lui appliquer les méthodes de dumping développées pour d'autres modèles TI-Nspire et que le système utilisée par la TI-Nspire ViewScreen reste donc non sauvegardé à ce jour.

369Contrairement aux TI-Nspire CAS+, la tablette TI-Nspire ViewScreen dispose de plusieurs emplacements internes pour connecteurs :
  • J7 : 2x10 broches avec 9 masses, ce qui ressemble énormément à un JTAG ARM...
  • surtout quand J010 juste à côté a 2x7 broches, comme le JTAG TI
  • JMP01 : 3 broches
  • JMP02 : 3 broches
Pas de connecteur Dock contrairement aux calculatrices, mais cela ne nous avait pas empêchés de trouver la sortie série TTL sur JMP02 et de récupérer le log de démarrage :
TI-Nspire ViewScreen wrote:Boot Loader Stage 1 (1.0.439)
Build: 2006/6/30, 5:44:11
Copyright (c) 2006 Texas Instruments Incorporated

Last boot progress: 34812

ViewScreen Adapter
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

Loading DIAGS software...

Error reading/validating DIAGS image

Loading BOOT2 software...

100%

BOOT1: loading complete (328 ticks), launching image.

Rappelons que les calculatrices TI-Nspire démarrent usuellement en trois temps :
  1. Boot1
  2. Boot2
  3. système d'exploitation
Or, petite originalité sur la tablette TI-Nspire ViewScreen, il n'y a que deux étapes :
  1. Boot1
  2. Boot2
L'image programmée dans la partition Boot2 joue donc en pratique le rôle du système d'exploitation.

8385Nous n'avions pas trouvé à l'époque l'entrée TTL, mais c'est désormais chose faire après avoir bricolé des connexions un peu plus propres et donc fiables, juste à côté sur JMP01.
La difficulté qui nous avait fait rater ça, c'est que la tablette TI-Nspire ViewScreen refuse bizarrement de redémarrer à chaud lorsque cette entrée est connectée, et ce malgré des tests avec deux interfaces USB/TTL différentes.

Nous sommes donc désormais enfin capables de reprogrammer les partitions Boot2 et Diags de la TI-Nspire ViewScreen, cette dernière partition de 640Kio étant de toutes façons vide selon le log de démarrage. :bj:



En pratique toutefois, les progrès vont s'arrêter ici pour aujourd'hui, puisque nous ne disposons d'aucune image compatible avec la TI-Nspire ViewScreen. Rappelons en effet que les calculatrices TI disposent d'identifiants qui leurs sont propres, et son précisés en entête de toute image exécutable qui leur est envoyée (que ce soit un système d'exploitation, une application, un Boot2 ou un Diags). En hexadécimal, cela donne à ce jour :
  • 01 : TI-92 Plus
  • 02 : TI-73
  • 03 : TI-89
  • 04 : TI-83 Plus
  • 08 : TI-Voyage 200
  • 09 : TI-89 Titanium
  • 0A : TI-84 Plus
  • 0B : TI-82 Advanced
  • 0C : TI-Nspire CAS / TI-Nspire CAS+
  • 0D : TI-Nspire Lab Cradle / TI-Nspire ViewScreen
  • 0E : TI-Nspire
  • 0F : TI-Nspire CX CAS / TI-84 Plus C Silver EDition
  • 10 : TI-Nspire CX
  • 11 : TI-Nspire CM CAS
  • 12 : TI-Nspire CM
  • 13 : TI-84 Plus CE / TI-83 Premium CE
  • 1B : TI-84 Plus T

La tablette TI-Nspire ViewScreen utilise l'identifiant 0x0D et refusera donc d'installer les images TI-Nspire CAS+ pourtant compatibles, ces dernières utilisant l'identifiant 0x0C.
Impossible d'installer des images où l'on aurait modifié cet identifiant dans les images, leur intégrité étant validée par une signature électronique ne pouvant être falsifiée puisque les clés privées en sont inconnues à ce jour.
Quant à l'interface TI-Nspire Lab Cradle utilisant le même identifiant 0x0D, non seulement les clés privées sont différentes, mais en prime les images prévues pour ce périphérique sont incompatibles car réutilisant quant à lui le matériel TI-Nspire TouchPad.

Pour faire passer et exécuter du code permettant de récupérer les images Boot1 et Boot2 utilisées par la tablette TI-Nspire ViewScreen, il va falloir soit exploiter de possibles bugs dans le code recevant, validant et exécutant les images reçues, bugs dans ce cas probablement déjà présents à l'identique sur TI-Nspire CAS+... ou à défaut se tourner vers le JTAG avec le connecteur J7...

9060En tous cas comme l'on touche et donc avance sur la TI-Nspire ViewScreen à peu près une fois tous les quatre ans, voici ci-contre de quoi ne pas perdre de temps à rechercher les (rares) informations la prochaine fois. ;)

Re: Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 17 Dec 2017, 01:25
by parrotgeek1
critor wrote:Quant à l'interface TI-Nspire Lab Cradle utilisant le même identifiant 0x0D, nous ignorons certes si ce sont les mêmes clées privées qui sont utilisées, mais dans tous les cas les images prévues pour ce périphérique sont incompatibles car réutilisant quant à lui le matériel TI-Nspire TouchPad.

The keys aren't the same, I checked

Re: Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 17 Dec 2017, 19:03
by Zezombye
Je m'y connais pas trop en cryptographie, mais d'après ce que j'ai vu, la clé privée est utilisée pour décrypter. Du coup, elle doit être stockée quelque part dans la calculette.
Est ce que ce serait possible de trouver cette clé ?

Aussi, ça sert à quoi exactement ces trucs ?

Re: Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 17 Dec 2017, 19:12
by critor
Oui il y a une clé publique permettant de valider la signature.
Mais pour produire une signature valide, il faut la clé privée.

Certes, on peut en théorie la déduire à partir de la clé publique, à condition d'avoir pas mal de temps et d'argent. ;)

Re: Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 17 Dec 2017, 19:21
by Zezombye
Ah, donc si je comprends bien, TI (qui a la clé privée) signe son OS, et la calculette vérifie la signature avec la clé publique ?

Bon, il faut que quelqu'un s'infiltre chez TI et fasse fuiter ça :troll:

Re: Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 17 Dec 2017, 19:44
by critor
Zezombye wrote:Ah, donc si je comprends bien, TI (qui a la clé privée) signe son OS, et la calculette vérifie la signature avec la clé publique ?

En effet.

Re: Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 17 Dec 2017, 23:47
by critor
Zezombye wrote:Aussi, ça sert à quoi exactement ces trucs ?


Quoi ? La tablette Nspire ViewScreen ?

Re: Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 18 Dec 2017, 19:14
by parrotgeek1
parrotgeek1 wrote:
critor wrote:Quant à l'interface TI-Nspire Lab Cradle utilisant le même identifiant 0x0D, nous ignorons certes si ce sont les mêmes clées privées qui sont utilisées, mais dans tous les cas les images prévues pour ce périphérique sont incompatibles car réutilisant quant à lui le matériel TI-Nspire TouchPad.

The keys aren't the same, I checked

can you edit the post to say that?

Re: Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 18 Dec 2017, 19:15
by critor
Yes, thanks.

Re: Découverte entrée série TI-Nspire ViewScreen

Unread postPosted: 22 Dec 2017, 15:58
by critor
Now that we're sure about the Rx/Tx pins, let's make the connection permanent and thus more secure.
You need right-angled connectors with 6-pins and a pitch of 2.54mm.
9081