Nouvelle carte SD pour Nokia 2.2

Le Nokia 2.2 est doté d’un espace de stockage natif de 16 Go. On l’avait complété par une carte SD de 8 Go, installée en mode intégré. Mais, au final c’est peu. On remplace donc la carte SD par un nouvelle de 32 Go.

Mauvaise nouvelle

En tentant le remplacement en mai 2021, j’ai réalisé que la précédente carte était en mode « extension du système » et que, ce faisant, elle était formattée d’une manière spécifique et chiffrée par le téléphone. Bref, impossible de récupérer les données sur la nouvelle carte.

C’est moche !

Bilan : finalement on n’est pas pressé.

Le retour

Un an plus tard, la situation est devenue critique. L’espace interne est occupé à plus de 90% (15,7 / 16) alors que l’espace externe n’est quasiment pas utilisé. Il devient urgent de faire quelque chose.

TWRP

Suspectant un problème dans la gestion de l’espace interne, du genre une vieille archive ou je ne sais quoi, j’ai voulu accéder à la totalité de la partition interne. Pour ça, une solution que je connais consiste à passer par le recovery TWRP.

Sur la page Nokia 2.2 de TWRP la procédure ne parait pas très compliquée. Après avoir activé l’USB Debug, il suffit de quelques commandes :

adb reboot bootloader
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot flash boot path/to/twrp.img
fastboot reboot recovery

Sauf que les commandes flashboot sont rejetées par le téléphone au prétexte de ne pas avoir les permissions. Aïe !

En fouillant un peu Internet, on découvre qu’il faut « débloquer » le bootloader. Là encore, certains tutoriels paraissent hyper simples. Il suffit d’activer le « OEM Unlock » dans les options développeur, puis :

adb reboot bootloader
fastboot flashing unlock
# ou
fastboot oem unlock

Sauf que la première commande fastboot renvoie que la commande unlock n’est pas supportée et la seconde commande fastboot indique que les permissions ne sont pas bonnes. Du coup, je découvre une nouvelle commande fastboot flashing get_unlock_ability qui devrait retourner 1 suite au « OEM Unlock » mais qui reste définitivement sur 0.

D’autres tutoriels proposent l’installation d’applications plus ou moins dangeureuses (très bas niveau) ou suspectes (sensées casser la sécurité du téléphone en exploitant des failles).

Bref, j’abandonne.

Remise à zéro

Du coup, grand coup de pocker : remise à zéro (factory reset) pour essayer de récupérer les 1 ou 2 Go étrangement manquant.

Au reboot, on repart pour un tour. Je tente la restoration de quelques données avec adb restore backup.ab, mais ça n’a pas l’air de faire beaucoup de miracle, les appli n’étant pas restorées.

La carte SD ayant été montée en extension de système, elle est chiffrée mais la clé a visiblement été effacée. Bref, il faut la formatter. Du coup, les données étant définitivement perdues, pas de scrupule à installer la nouvelle carte de 32 Go. Mais cette fois, elle n’est pas en extension du système, mais juste en carte SD externe.

Curiosité

Par contre, je suis resté curieux de comprendre pourquoi à vide, plus de 8 Go sont déjà pris.

Je suis donc un tutoriel pour faire un backup complet en utilisant SP Flash Tool (en version 5, la 6 n’ayant pas fonctionné sur mon système Debian). Il faut un « scatter file » qui décrive le formatage du disque, j’utilise donc celui fourni dans ce firmware bien qu’après quelques essais il ne semble pas correspondre exactement. Ce n’est pas bien grave, car ce que je veux c’est faire un ReadBack et celui semble juste avoir besoin qu’un scatter file soit chargé, mais ne s’en sert pas directement.

Pour lancer le ReadBack :

  • extinction du téléphone et retrait de l’USB
  • création d’un groupe de l’adresse 0x00 à 0x2FC800000 (éventuellement 0x400000000 pour tout récupérer)
  • lancement du ReadBack
  • connexion du téléphone en USB tout en maintenant les deux boutons de volume enfoncés

La barre de progression s’affiche, c’est gagné : on peut relacher et attendre une bonne 15aine de minutes.

Ensuite, exploration de ce dump à l’aide de testdisk. On obtient :

Disk SP_Flash_Tool_v5.2208_Linux/ROM_0 - 12 GB / 11 GiB - CHS 1560 255 63

     Partition                  Start        End    Size in sectors
  1 P MS Data                       64       2111       2048 [boot_para]
  2 P MS Data                     2112       3135       1024 [para]
  3 P MS Data                     3136     105535     102400 [custom_a]
  4 P MS Data                   105536     115775      10240 [elabel_a]
  5 P MS Data                   115776     117823       2048 [private]
  6 P MS Data                   117824     158783      40960 [expdb]
  7 P MS Data                   158784     160831       2048 [frp]
  8 P MS Data                   160832     226367      65536 [nvcfg]
  9 P MS Data                   226368     357439     131072 [nvdata]
 10 P MS Data                   357440     422975      65536 [metadata]
 11 P MS Data                   422976     439359      16384 [protect1]
 12 P MS Data                   439360     458751      19392 [protect2]
 13 P MS Data                   458752     475135      16384 [seccfg]
 14 P MS Data                   475136     479231       4096 [sec1]
 15 P MS Data                   479232     485375       6144 [proinfo]
 16 P MS Data                   485376     616447     131072 [nvram]
 17 P MS Data                   616448     638975      22528 [logo]
 18 P MS Data                   638976     843775     204800 [md1img_a]
 19 P MS Data                   843776     845823       2048 [spmfw_a]
 20 P MS Data                   845824     847871       2048 [scp_a]
 21 P MS Data                   847872     849919       2048 [sspm_a]
 22 P MS Data                   849920     882687      32768 [gz_a]
 23 P MS Data                   882688     884735       2048 [lk_a]
 24 P MS Data                   884736     950271      65536 [boot_a]
 25 P MS Data                   950272     966655      16384 [dtbo_a]
 26 P MS Data                   966656     983039      16384 [tee_a]
 27 P MS Data                   983040    2555903    1572864 [vendor_a] [vendor]
 28 P MS Data                  2555904    8847359    6291456 [system_a] [/]
 29 P MS Data                  8847360    8863743      16384 [vbmeta_a]
 30 P MS Data                  8863744    8966143     102400 [custom_b]
 31 P MS Data                  8966144    8978431      12288 [elabel_b]
 32 P MS Data                  8978432    9183231     204800 [md1img_b]
 33 P MS Data                  9183232    9185279       2048 [spmfw_b]
 34 P MS Data                  9185280    9187327       2048 [scp_b]
 35 P MS Data                  9187328    9189375       2048 [sspm_b]
 36 P MS Data                  9189376    9222143      32768 [gz_b]
 37 P MS Data                  9222144    9224191       2048 [lk_b]
 38 P MS Data                  9224192    9289727      65536 [boot_b]
 39 P MS Data                  9289728    9306111      16384 [dtbo_b]
 40 P MS Data                  9306112    9322495      16384 [tee_b]
 41 P MS Data                  9322496   10895359    1572864 [vendor_b] [vendor]
 42 P MS Data                 10895360   17186815    6291456 [system_b] [/]
 43 P MS Data                 17186816   17203199      16384 [vbmeta_b]
 44 P MS Data                 17203200   30549982   13346783 [userdata]
 45 P MS Data                 30549983   30638046      88064 [otp]
 46 P MS Data                 30638047   30670814      32768 [flashinfo]

Et là, tout s’explique puisque le disque semble contenir deux versions de tout.

Références