
PocketBook Touch Lux : changer la carte mémoire
J’ai une liseuse Vivlio Tea (un rebrand de la PocketBook Touch Lux) qui semble fonctionner, mais quand j’ajoute un livre dessus, il n’en est rien. Elle n’enregistre plus aucune avancée dans les livres…
Cause
La mémoire interne de la liseuse est passée en « lecture seule ». Le fait d’appliquer des modifications dessus ne fonctionne plus. Il est donc impossible d’ajouter / enlever des livres, de faire des mises à jour, etc…
Comment réparer ?
La bonne nouvelle, c’est que la mémoire interne de cette liseuse est une simple carte micro-SD non soudée.
La mauvaise nouvelle, c’est que cette carte est protégée pour être liée à la liseuse. Il va donc falloir appliquer quelques manipulations sur la nouvelle carte micro-SD pour qu’elle soit acceptée.
Matériel nécessaire :
- Une nouvelle carte micro-SD de 4 Go minimum.
- Un ordinateur qui peut faire tourner Windows.
- Un ordinateur qui peut faire tourner Linux (j’ai utilisé une clé bootable qui contient Gparted).
Récupérer les informations de la liseuse et de la nouvelle carte
- Télécharger
Serial.7z
et le décompresser. - Formater la nouvelle carte SD en FAT32.
- Dessus, copier le répertoire
applications
et son contenu (cf.Serial.7z
) à la racine de la carte. - Insérer la carte SD dans le slot prévu à cet effet.
- Aller dans la liste des applications de la liseuse.
- Exécuter l’application « @Serial ». Celle-ci se ferme instantanément.
- Récupérer la carte SD. Elle devrait contenir un nouveau fichier
deviceinformation.txt
. - Noter les valeurs correspondant au numéro de série de la liseuse et à l’identifiant de la nouvelle carte SD.

Créer le fichier de vérification
La liseuse contient un fichier .freezestatus
qui lui permet de vérifier que la carte SD est bien celle liée à la liseuse. Il faut donc créer un nouveau fichier .freezestatus
qui correspond à la liseuse et la nouvelle carte SD.
- Télécharger
progs.7z
et le décompresser. - En ligne de commande, exécuter
serial --serial_number <SERIAL_LISEUSE> --sd_serial <CID_CARTE_SD>
.
Par exemple sous Windowsprogs\win32\x64\serial.exe --serial_number YT450600123400MT5678 --sd_serial 0x01234567
Cela va créer un fichier.freezestatus
correspondant à la liseuse et à la nouvelle carte SD.
Démonter la liseuse
C’est très simple, il suffit d’insérer un élément en plastique semi rigide entre la paroi avant et la paroi arrière et faire le tour délicatement. Le capot arrière pourra alors s’enlever sans soucis.
Retirer la carte micro-SD
Pour retirer la carte SD, il faut appuyer légèrement sur la partie basse de la carte (là où se trouvent les connecteurs) et tirer délicatement vers le bas (toujours là où se trouvent les connecteurs). Cela va dégager la partie haute de la carte et elle se soulèvera d’elle même.
Effectuer une copie de la carte d’origine
- Télécharger « USB Image Tool » sur le site https://www.alexpage.de/usb-image-tool/ et le décompresser.
- Exécuter
USB Image Tool.exe
. - Insérer la carte SD d’origine dans l’ordinateur.
- Utiliser la fonction « Backup » pour enregistrer une image
pocketbook.img
. - Insérer la nouvelle carte SD dans l’ordinateur.
- Utiliser la fonction « Restore » depuis l’image
pocketbook.img
.
Une fois terminé, nous avons une copie presque parfaite de la carte d’origine. Presque ? Oui, car son fichier de signature .freezestatus
est celui correspondant à la carte d’origine.
- Sur la nouvelle carte SD, copier le fichier
.freezestatus
généré à l’étape précédente afin de l’avoir sous la main.
Basculer sous Linux
Pour ma part, j’ai opté pour l’utilisation d’une version hyper basique sur clé USB :
- Créer une clé USB bootable avec
GParted
en suivant les instructions suivantes : https://gparted.org/liveusb.php#windows-method-b - Redémarrer Windows en mode « Avancé » et choisir « Boot sur la clé USB ».
Remplacer le fichier « .freezestatus »
- Insérer la nouvelle carte SD dans l’ordinateur.
- Lister les volumes disponibles avec
sudo fdisk -l
la carte SD est le volume qui contient 10 éléments.
Exemple :
/dev/sdb1 1009664 7747583 6737920 3.2G b W95 FAT32
/dev/sdb2 * 73728 139263 65536 32M 6 FAT16
/dev/sdb3 1 1009664 1009664 493M 85 Linux extended
/dev/sdb5 139264 172031 32768 16M 83 Linux
/dev/sdb6 172032 204799 32768 16M 83 Linux
/dev/sdb7 204800 275455 70656 34.5M 83 Linux
/dev/sdb8 275456 776191 500736 244.5M 83 Linux
/dev/sdb9 776192 976895 200704 98M 83 Linux
/dev/sdb10 976896 1009663 32768 16M 83 Linux
Le fichier qu’on a copié à l’étape précédente se trouve dans le premier volume et il faut le copier dans le volume 9.
sudo mkdir /mnt/sdb1
sudo mount /dev/sdb1 /mnt/sdb1
sudo mkdir /mnt/sdb9
sudo mount /dev/sdb9 /mnt/sdb9
sudo cp /mnt/sdb1/.freezestatus /mnt/sdb9
sudo umount /mnt/sdb1
sudo umount /mnt/sdb9
(Optionnel) Changer la taille de la partition
Si la carte de remplacement est plus grande que la carte d’origine de 4 Go, il est possible d’étendre sa partition principale pour bénéficier de l’espace supplémentaire.
Toujours sous Linux :
- Copier l’intégralité de la première partition, y compris les fichiers cachés.
sudo mount /dev/sdb1 /mnt/sdb1
sudo mkdir /tmp/backup_sd
sudo cp -R /mnt/sdb1/* /tmp/backup_sd/
sudo umount /mnt/sdb1
- Trouver le nom du volume de la carte avec
sudo fdisk -l
. - Avec
fdisk
on va supprimer la première partition (commanded
), en créer une nouvelle (commanden
) et la mettre au bon type (commandet
, avec le typeb
) avant d’appliquer les changements (commandew
).
Lorsqu’il n’y a pas de valeur indiquée pour la saisie, c’est qu’il faut utiliser la valeur par défaut (en appuyant simplement sur la toucheEntrée
).
$ sudo fdisk /dev/sdb
Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sdb: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x01234567
Device Boot Start End Sectors Size Id Type
/dev/sdb1 1009664 7747583 6737920 3.2G b W95 FAT32
/dev/sdb2 * 73728 139263 65536 32M 6 FAT16
/dev/sdb3 1 1009664 1009664 493M 85 Linux extended
/dev/sdb5 139264 172031 32768 16M 83 Linux
/dev/sdb6 172032 204799 32768 16M 83 Linux
/dev/sdb7 204800 275455 70656 34.5M 83 Linux
/dev/sdb8 275456 776191 500736 244.5M 83 Linux
/dev/sdb9 776192 976895 200704 98M 83 Linux
/dev/sdb10 976896 1009663 32768 16M 83 Linux
Partition table entries are not in disk order.
Command (m for help): d
Partition number (1-3,5-10, default 10): 1
Partition 1 has been deleted.
Command (m for help): p
Disk /dev/sdb: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdb2 * 73728 139263 65536 32M 6 FAT16
/dev/sdb3 1 1009664 1009664 493M 85 Linux extended
/dev/sdb5 139264 172031 32768 16M 83 Linux
/dev/sdb6 172032 204799 32768 16M 83 Linux
/dev/sdb7 204800 275455 70656 34.5M 83 Linux
/dev/sdb8 275456 776191 500736 244.5M 83 Linux
/dev/sdb9 776192 976895 200704 98M 83 Linux
/dev/sdb10 976896 1009663 32768 16M 83 Linux
Partition table entries are not in disk order.
Command (m for help): n
Partition type
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): p
Partition number (1,4, default 1): 1
First sector (1009665-31116287, default 1009665):
Last sector, +sectors or +size{K,M,G,T,P} (1009665-31116287, default 31116287):
Created a new partition 1 of type 'Linux' and of size 14.4 GiB.
Command (m for help): t
Partition number (1-3,5-10, default 10): 1
Hex code (type L to list all codes): b
Changed type of partition 'Linux' to 'W95 FAT32'.
Command (m for help): p
Disk /dev/sdb: 14,9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdb1 1011712 31116287 30104576 14,4G b W95 FAT32
/dev/sdb2 * 73728 139263 65536 32M 6 FAT16
/dev/sdb3 1 1009664 1009664 493M 85 Linux extended
/dev/sdb5 139264 172031 32768 16M 83 Linux
/dev/sdb6 172032 204799 32768 16M 83 Linux
/dev/sdb7 204800 275455 70656 34,5M 83 Linux
/dev/sdb8 275456 776191 500736 244,5M 83 Linux
/dev/sdb9 776192 976895 200704 98M 83 Linux
/dev/sdb10 976896 1009663 32768 16M 83 Linux
Partition table entries are not in disk order.
Command (m for help): w
The partition table has been altered.
Synching disks.
- Formater la nouvelle partition :
sudo mkdosfs -F 32 -I /dev/sdb1
- Copier les fichier d’origine :
sudo mount /dev/sdb1 /mnt/sdb1
sudo cp -R /tmp/backup_sd/* /mnt/sdb1/
sudo umount /mnt/sdb1
Replacer la nouvelle carte dans la liseuse
Et voilà ! La carte SD est prête !
- Placer la nouvelle carte SD sur les connecteur (partie basse en premier)
- Appuyer pour la mettre contre la carte mère.
- Appliquer une légère pression vers le haut pour la bloquer.
Vous pouvez redémarrer la liseuse et elle sera comme neuve.
Sources :
- https://www.mobileread.com/forums/showthread.php?t=278728
- https://www.mobileread.com/forums/showthread.php?p=4406955