π
<-
Chat plein-écran
[^]

Hacking HP Prime G2

Nouveautés, projets, mises à jour.

Hacking HP Prime G2

Unread postby jean-baptiste boric » 23 Dec 2018, 12:36

Ma calculette étant arrivée (contrairement à mes nièces pour le moment), j'en ai profité pour désosser mon HP Prime G2 et faire quelques tests préliminaires. Mes observations pour le moment:

  • Le couvercle du compartiment de la batterie est un très bon outil pour enlever la coque inférieure sans l'endommager.
  • Comme avec la G1, il y a une feuille de cuivre collé à la coque pour limiter les émissions électro-magnétiques et un film adhésif collé au PCB empêche tout contact. J'ai décollé le film pour l'appliquer directement sur la feuille de cuivre afin qu'il ne m'embête plus, en retaillant au cutter/ciseau au besoin.
  • Je n'ai pas trouvé d'UART sur les tests points pour le moment, ou plus précisément je n'ai pas trouvé de logs par UART après un reset.
  • Appliquer une tension de 3,3V sur TP907 lors d'un reset active le Serial Downloader par USB, qui est le recovery des puces iMX (TP907 serait donc le pin BOOT_MODE1).

J'ai également regardé le fichier de mise à jour, il semble contenir une image brute à destination de la NAND. Le fichier contient un IVT à l'offset 0x400 ainsi qu'un DCD à destination du bootloader en ROM, mais pas de CSF requis pour le High-Assurance Boot. En d'autres termes, la calculette ne semble pas verrouillée au niveau du SoC à priori.
User avatar
jean-baptiste boricPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 18%
 
Posts: 236
Joined: 21 Dec 2015, 22:22
Gender: Not specified
GitHub: boricj

Re: Hacking HP Prime G2

Unread postby Lionel Debroux » 23 Dec 2018, 12:42

Ca fait plein de bonnes nouvelles, tout ça :)

Je crois que mon programme de dissection des updates de Prime G2 n'a pas bougé depuis viewtopic.php?f=55&t=21758&start=20#p234397 , mais il faudrait que je vérifie.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 4%
 
Posts: 6311
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: Hacking HP Prime G2

Unread postby jean-baptiste boric » 23 Dec 2018, 19:49

En grattant un peu plus, je me suis rendu compte que l'image firmware semble être une image brute de la NAND préfixée par 24 octets. Le mode Serial Download du SoC a l'air d'accepter et de "lancer" une image U-Boot i.MX6ULL pour le kit d'évaluation à travers mfgtools.

Maintenant les mauvaises nouvelles : je n'ai toujours pas trouvé d'UART, donc je n'ai aucun moyen de savoir ce qu'il se passe. Ça commence à devenir gênant, d'autant plus qu'attaquer la calculette avec des payload assembleur faits à la main comme à l'époque de la G1 va être compliqué car on n'aura pas une couche préalable initialisant un minimum le matériel si on exécute à travers le recovery de NXP...

En résumé : je botte en touche et je ne suis pas outillé ni suffisamment compétent pour une approche frontale ce coup-ci. Je vais probablement me rabattre sur le reverse-engineering du firmware d'HP en attendant de trouver mieux, mais je redoute le syndrome du binaire monobloc indigeste...
User avatar
jean-baptiste boricPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 18%
 
Posts: 236
Joined: 21 Dec 2015, 22:22
Gender: Not specified
GitHub: boricj

Re: Hacking HP Prime G2

Unread postby critor » 23 Dec 2018, 20:00

En tous cas, félicitations pour ta superbe acquisition ! :bj:
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 93%
 
Posts: 32538
Images: 8451
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Hacking HP Prime G2

Unread postby Lionel Debroux » 23 Dec 2018, 21:22

A priori, je ne t'ai pas envoyé de fichier IDC du bootloader. Tu confirmes ?
On avait parlé de radare2 + cutter, mais pour l'instant, ça ne semble ni être au niveau de fonctionnalité, ni surtout au niveau de stabilité adéquat. J'ai assisté au workshop r2 à GreHack (ça n'était pas mon premier choix, mais l'autre était déjà largement booké), et des discussions m'ont donné des éléments sur le manque de stabilité du framework, même s'il finira par se résoudre: les contributeurs sont nombreux.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 4%
 
Posts: 6311
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: Hacking HP Prime G2

Unread postby jean-baptiste boric » 23 Dec 2018, 22:11

Je n'ai rien reçu, non.

Le bootloader de la calculette G1 se laissait assez bien disséquer avec objdump à l'ancienne vu sa taille modeste, mais cette approche n'est pas une option ici. Je n'ai pas encore étudié la question pour savoir quel outil pourrait prendre la relève (après tout, rien ne m'empêche de complètement craquer et d'écrire mon propre outil de reverse-engineering basé sur LLVM tel un bon bourrin savoyard...).
User avatar
jean-baptiste boricPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 18%
 
Posts: 236
Joined: 21 Dec 2015, 22:22
Gender: Not specified
GitHub: boricj

Re: Hacking HP Prime G2

Unread postby jean-baptiste boric » 29 Dec 2018, 21:59

Bon, vu que radare2 avec Cutter n'est pas très coopératif sur ce projet et que je suis malade depuis une semaine (ça n'aide pas à la réflexion), j'ai décidé de regarder si le PCB était plus vert de l'autre côté.

Image

Étonnamment, la calculette fonctionne encore alors que j'ai dû séparer ce PCB d'une plaque métallique avec un mélange d'Opinel, de spatule et de papier. Le film adhésif reliant les deux est très coriace, je ne recommande vraiment pas de tenter une telle manipulation à ceux qui tiennent à leur HP Prime...

De ce côté, il y a des tests points pour plein de choses intéressantes et notamment du JTAG, UART, SD... Je ne suis pas équipé pour faire du JTAG et l'UART reste muet avec le firmware officiel. La tentative de chargement d'u-boot pour la carte d'évaluation de l'i.MX6ULL à travers le recovery du SoC n'a rien donné non plus sur UART1_TX. Je vais probablement essayer de croiser ce PCB avec la carte d'évaluation ainsi que la datasheet du SoC pour mapper cette forêt vierge.
User avatar
jean-baptiste boricPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 18%
 
Posts: 236
Joined: 21 Dec 2015, 22:22
Gender: Not specified
GitHub: boricj

Re: Hacking HP Prime G2

Unread postby critor » 30 Dec 2018, 17:50

Merci de nous avoir immortalisé la face cachée. :)
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 93%
 
Posts: 32538
Images: 8451
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Hacking HP Prime G2

Unread postby Lionel Debroux » 30 Dec 2018, 18:03

Tiens, j'ai apparemment raté l'envoi de mon post...
En effet, bon travail :)

Sur le modèle commercial, les conditions réglementaires d'utilisation des calculatrices étant hélas ce qu'elles sont, ça se comprend que ces nombreux test points permettant d'accéder à des capacités matérielles bas niveau soient accessibles uniquement sur la face cachée du PCB.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 4%
 
Posts: 6311
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: Hacking HP Prime G2

Unread postby jean-baptiste boric » 30 Dec 2018, 19:40

Je me suis commandé un adaptateur JTAG, il devrait arriver la semaine prochaine.

Je pense qu'ils ont laissé le JTAG et l'UART au dos car le recovery du SoC permet de débricker la calculette par USB en toutes circonstances (d'où le test point pour le déclencher sur le côté exposé). Les HP Prime G1 n'avaient pas cette possibilité, donc une NAND corrompue au mauvais endroit nécessitait l'emploi du JTAG pour réparer la calculette, donc ces pads étaient exposés. Il est vrai que l'accès au JTAG pourrait aider à la création d'un PTT-killer dans l'absolu (même si ça reste un exercice a priori très difficile), mais je pencherais plutôt sur le fait que tous les test points situés à l'arrière ne sont pas utilisés une fois la carte électronique testée dans la chaîne de production (a contrario, les test points situés sur la face exposé sont probablement tous ou presque utiles pour au moins diagnostiquer des pannes matérielles).

Après tout, contrairement à la NumWorks cette calculette n'est pas conçue pour être bidouillée par l'utilisateur et HP doit disposer en interne de prototypes ou de cartes d'évaluation i.MX6ULL dédiées au développement s'ils ont besoin de sortir le JTAG pour faire du debug de problèmes obscurs sur cible.
User avatar
jean-baptiste boricPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 18%
 
Posts: 236
Joined: 21 Dec 2015, 22:22
Gender: Not specified
GitHub: boricj

Next

Return to Actualités

Who is online

Users browsing this forum: No registered users and 2 guests

-
Search
-
Featured topics
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 !
123
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

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 
-
Stats.
497 utilisateurs:
>470 invités
>23 membres
>4 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)