π
<-
Chat plein-écran
[^]

TI-Nspire CAS développement avec OS 1.1.9170 + J04/JTAG

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

TI-Nspire CAS développement avec OS 1.1.9170 + J04/JTAG

Message non lude critor » 03 Aoû 2018, 12:33

Au printemps 2017, trouvait sur
eBay
un lot de
TI-Nspire
assez spéciales, acheté peu après par
Brandon Wilson
.

Pas de simples prototypes prêtés à des enseignants/testeurs avant la sortie, mais des machines utilisées par l'équipe de développement de
Texas Instruments
et ayant miraculeusement échappé à la destruction. :o

Cet été, le lot en question est en vacances chez nous, et nous allons donc en profiter pour lui arracher jusqu'à son dernier secret. :bat:

Après les deux
TI-Nspire
de droite sur la photo et la carte
TI-Nspire TestBoard
, aujourd'hui occupons-nous d'une des deux
TI-Nspire CAS
de gauche.



Sommaire
:

  1. Exploration visuelle
  2. Exploration logicielle
  3. Exploration série
  4. Exploration matérielle
  5. Dumping
  6. Upgrade



1)
Exploration visuelle
:
Go to top

977397679774La calculatrice est d'apparence normale.

Au dos on note l'ouverture dans la coque permettant la connexion de la carte
TI-Nspire TestBoard
. Y est également présent un carré avec plusieurs couches de mousse. Peut-être quelque chose qui était destiné à sécurisé le branchement en question, puisque l'on en retrouve une trace sur l'une des cartes. En tous cas il ne semble plus avoir aucun effet ici.

Le numéro de série est ici manquant puisque mangé par l'ouverture, seul le début en
20160
ayant survécu. Par contre, un numéro de série manuscrit a été rajouté dans le cadre prévu pour mettre son nom et semble le compléter de façon cohérente :
2016010959
.



2)
Exploration logicielle
:
Go to top

97659764Allumons la machine. Sa barre de chargement se bloque un instant au démarrage, ce qui suggérerait qu'il y a tentative de charger une image
Diags
avant le
Boot2
mais que cela échoue.

Le carré présent en haut à gauche de l'écran dès l'exécution du
Boot1
puis pendant celle du
Boot2
nous indique qu'elle fonction en mode développement. Aussi, en l'état, nous ne pourrons y exécuter que des images de développement et non de production.

Un petit tour par l'écran
à propos
nous apprend :
  • que nous sommes ici sur le système de développement
    TI-Nspire CAS 1.1.9170
    du
    7 mai 2007
    , compilé donc la veille de système de production
    1.1.9170
    du
    8 mai 2007
    .
  • l'utilisation du
    Boot1 1.1.8916
    , ici donc en version de développement
  • l'utilisation du
    Boot2 1.1.8981
    , ici donc en version de développement



3)
Exploration série
:
Go to top

9775Après avoir interfacé la carte
TI-Nspire TestBoard
entre la calculatrice et un port série
DB9
, on peut récupérer la sortie du port série de la calculatrice pendant son démarrage.

Le log de démarrage nous confirme :
  • l'utilisation du
    Boot1 1.1.8916
    en mode développement du
    23 mars 2007 à 23h29
    , précédant de quelques minutes sa version de production du
    23 mars 2007 à 23h37
  • la tentative de chargement d'un logiciel de diagnostics qui échoue
Boot Loader Stage 1 (1.1.8916)
Build: 2007/4/23, 23:29:51
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Last boot progress: 35
Clocks: CPU = 90MHz AHB = 45MHz APB = 22MHz

Available system memory: 37292
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
SDRAM memory test: Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Boot option: Normal (18 keys pressed)

Loading DIAGS software...

20%Error reading/validating DIAGS image

Error loading DIAGS. Switching to BOOT2.

Loading BOOT2 software...

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

Curieux toutefois le signalement de
"18 keys pressed"
. Peut-être un problème de clavier...

Par la suite on confirme le passage sur le
Boot2
de développement
1.1.8981
du
25 avril 2007 à 23h54
, précédant là encore sa version de production du
26 avril 2007 à 0h2

Boot Loader Stage 2 (1.1.8981)
Build: 2007/4/25, 23:54:51
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Clocks: CPU = 90MHz AHB = 45MHz APB = 22MHz
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A


Initializing graphics subsystem.
Boot option: Normal


Initializing filesystem.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.
Filesystem ready.
Purging temporary files...

Loading Operating System...

100%

BOOT2: loading ▒▒v>?~>9▒▒▒> ▒v▒ ▒ p▒▒p>▒▒▒▒▒p▒▒v▒▒▒▒p>9▒▒▒ ▒~2?▒▒▒▒>▒v>▒8▒


Enfin on passe sur l'OS de développement
1.1.9170
dont on obtient la date de compilation,
7 mai 2007 à 1h44
:
Beginning system initialization.
Preparing file system. This takes a while...
POSIX layer initialized.
POSIX devices initialized.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.

POSIX file system initialized.
File system ready.
* P1R2 mode battery door detection
System build date: May 7 2007, 01:44:34
Available memory: 22466596 bytes
Purging temporary files...
Launching system...
Probe Session Manager Initialized
Probe Session Task started.
Setting Console Log Level = 0
RET - SC: TI_CN_Nspire_SC_Init called
NavNet Ready.




4)
Exploration matérielle
:
Go to top

977097699768Enfin, ouvrons la bête pour lui extirper ses derniers secrets.
On confirme l'usage de la carte écran de production
P1R2_P3_LB_MP_2440
.

On confirme l'usage de la carte mère de production
P2/P3 ASIC MB_MP_6440
ainsi que de la carte écran
P1R2/P3_LB__MP_2440
qui va avec.

97729771On confirme également la carte mère de production
P1R2_MB_MP_6440
.

La présence du connecteur
J04/JTAG
semble être la seule modification apportée à la carte mère. Nous ne voyons apparemment aucune altération autour de la puce
Flash NOR SST 39WF400A
.
D'où un mystère, si la puce
Flash NOR
ici issue de la chaîne de montage de production n'a pas été déprotégée contre l'écriture, comment a-t-il été possible de remplacer son
Boot1
de production par une version de développement ? Ou alors la modification était suffisamment simple pour être temporaire, ne nécessitant par exemple pas de soudures ?



5)
Dumping
:
Go to top

L'
OS TI-Nspire CAS
de développement
1.1.9170
a été dumpé par envoi sur une autre
TI-Nspire CAS
et interception de son fichier de réception temporaire via un programme
Ndless
.

Nous pouvons maintenant mettre à jour avec l'OS de développement
1.2.2344
afin d'installer
Ndless 1.2 prototypes
et de pouvoir dumper le reste.

Les
Boot1
de développement
1.1.8916
et
Boot2
de développement
1.1.8981
avaient déjà été dumpés, et l'on confirme qu'ils sont identiques.

La partition
Diags
a toutefois également été dumpée par la même occasion. Elle contient bien quelque chose, un logiciel de diagnostics
1.1.0
spécial où tout se passe sur la console série avec un shell
U-Boot
en version
1.1.2
du
2 février 2007
.
Il est signé avec les clés de production, et c'est pour cela que le
Boot1 1.1.8916
de développement de cette machine ne voulait pas le lancer. Mais nous pouvons le programmer et lancer sur un modèle de production, ou bien sur émulateur :
Boot Loader Stage 1 (1.1.8916)
Build: 2007/4/23, 23:37:16
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using production keys

Last boot progress: 0
Clocks: CPU = 90MHz AHB = 45MHz APB = 22MHz

Available system memory: 37292
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
PM is turning the device OFF
PM has turned the device ON
SDRAM memory test: Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Boot option: Normal

Read of bootdata failed

Loading DIAGS software...

96%
BOOT1: loading complete (62 ticks), launching image.


U-Boot 1.1.2 (Feb 2 2007 - 19:48:46)

U-Boot code: 11800000 -> 1182DC2C BSS: -> 1183246C
RAM Configuration:
Bank #0: 10000000 32 MB
Flash: 0 kB
NAND:32 MB
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
Starting Phoenix diagnostics...
Phoenix ASIC# help
? - alias for 'help'
autoscr - run script from memory
base - print or set address offset
bdinfo - print Board Info structure
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootm - boot application image from memory
bootp - boot image via network using BootP/TFTP protocol
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
crc32 - checksum calculation
dhcp - invoke DHCP client to obtain IP/boot params
echo - echo args to console
erase - erase FLASH memory
flinfo - print FLASH memory information
go - start application at address 'addr'
help - print online help
iminfo - print header information for application image
imls - list all images found in flash
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loop - infinite loop on address range
md - memory display
mm - memory modify (auto-incrementing)
mtest - simple RAM test
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nfs - boot image via network using NFS protocol
nm - memory modify (constant address)
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv - set environment variables
sleep - delay execution for some time
tftpboot- boot image via network using TFTP protocol
tidiag - perform Phoenix board diagnostics
version - print monitor version
Phoenix ASIC# version

U-Boot 1.1.2 (Feb 2 2007 - 19:48:46)
Phoenix ASIC#

Il est probable que ce soit ce module qui ait été utilisé pour remplacer le
Boot1
de production de la puce
Flash NOR SST 39WF400A
par la version de développement, les commandes de reprogrammation étant comme tu le vois disponibles.

Tous les éléments récupérés ainsi que ceux nécessaires à leur utilisation sont disponibles ci-après.



6)
Upgrade
:
Go to top

Brandon
l'ayant demandé, profitons-en maintenant pour tenter de déverrouiller cette calculatrice, afin de pouvoir la mettre à jour avec des versions de production.

Garder une calculatrice en mode développement n'a quasiment aucun intérêt :
  • Ni pour les utilisateurs, car on ne peut alors y installer que des version de développement, qui ne sont pas diffusées publiquement par
    Texas Instruments
    . Celles que nous avons récupérées à date ne dépassent pas la versio 3.0 et sont loin très d'être à jour en fonctionnalités.
  • Ni pour les développeurs tiers,
    Ndless
    n'est à date installable que sur des versions de développement 1.1 à 1.2 préhistoriques.

Une fois
Ndless
installé, le déverrouillage est facile, consistant juste à reprogrammer les
Boot1
et
Boot2
avec des versions de production.

Cela se passe apparemment sans aucun difficulté ici; la puce
Flash NOR
est donc bien déprotégée contre l'écriture. Alors soit nous avons raté quelque chose sur la carte mère, soit toutes les puces
Flash NOR
des
TI-Npire CAS
de production
(version matérielle inférieure à C)
peuvent être réinscrites.

9776Voici maintenant la calculatrice complètement à jour, fin prête pour de nouvelles aventures chez
Brandon
! :bj:




Téléchargements
:

Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 75.3%
 
Messages: 30431
Images: 7114
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: TI-Nspire CAS développement avec OS 1.1.9170 + J04/JTAG

Message non lude parrotgeek1 » 03 Aoû 2018, 16:28

I think that you could have used ndless 1.1 actually. Because the two oses should be identical except for build date string (4 byte alignment, so same length) and key (same length).

That's really interesting that you could rewrite the flash. I don't think all of the motherboards have writable flash because on that other calculator they had to do a modification with a wire. There must be some difference you are missing.
My Projects:
nLoaderCAS Patcher for ControlXnLaunchy CXM fork (3.9 CAS on B&W) - News Article
Prototypes:
Upgrade EVT Nspire CAS+Fix keyboard on prototype TI-Nspire CAS Touchpad
- Highlights: Nspire CX Non-CAS OS 3.3, CX OS 4.4 special reformatting installers (both found by me on TI's site)
Discoveries:
Boot1.5 vuln (used in nLoader) • Nspire dev boardsPink CX
Je peux comprendre le français mais je ne peux pas le parler bien.
Avatar de l’utilisateur
parrotgeek1Prog.
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 3.8%
 
Messages: 688
Inscription: 29 Mar 2016, 01:22
Localisation: USA
Genre: Homme
Calculatrice(s):
Classe: university student
GitHub: parrotgeek1


Retourner vers News TI-Nspire

Qui est en ligne

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

-
Rechercher
-
Sujets à la une
Triconcours universel de la rentrée - 2000 euro de prix !
"NumWorks++": Challenge de modification matérielle pour rajouter une puce de mémoire Flash !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
Transforme ta TI-Nspire CX en console Game Boy Advance!
123456
-
Donations/Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
PayPal : paiement en ligne sécurisé - secure online payments
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 
-
Stats.
437 utilisateurs:
>414 invités
>17 membres
>6 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)