« Pinephone » : différence entre les versions
mAucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 87 : | Ligne 87 : | ||
/home/mobian/.purple/chatty/db/chatty-history.db | /home/mobian/.purple/chatty/db/chatty-history.db | ||
</pre> | </pre> | ||
<h2>Envoyer un SMS en ligne de commande</h2> | |||
Il peut y avoir plusieurs raisons pour lesquelles on souhaite envoyer un SMS en ligne de commande. Dans un premier temps il faut lister les modem présent : | |||
<pre style="color: silver; background: black;"> | |||
$ mmcli -L | |||
/org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module | |||
</pre> | |||
On voit ici que le modem à le numéro 0, s'il n'est pas activé il faut alors exécuter la commande : | |||
<pre style="color: silver; background: black;"> | |||
$ sudo mmcli -m 0 -e | |||
successfully enabled the modem | |||
</pre> | |||
On peut maintenant créer un SMS : | |||
<pre style="color: silver; background: black;"> | |||
sudo mmcli -m 0 --messaging-create-sms="text='Hello world',number='+1234567890'" | |||
Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/8 | |||
</pre> | |||
Le message est le numéro 8, pour l'envoyer il faut donc préciser ce numéro : | |||
<pre style="color: silver; background: black;"> | |||
$ sudo mmcli -s 8 --send | |||
successfully sent the SMS | |||
</pre> | |||
Et voilà le SMS vient de partir. | |||
<h1>Gérer un crash</h1> | <h1>Gérer un crash</h1> |
Version du 1 octobre 2022 à 16:41
Le Pinephone est un téléphone utilisant des distributions linux. Disponible ici
Les systèmes d'exploitations disponibles
Il existe une tripoté de systèmes d'exploitations pour ce téléphone ! De Archlinux, jusqu'à Ubuntu Touch, en passant par Mobian, PostMarketOS et j'en passe. La meilleure façon que j'ai trouvé pour me faire une idée de ces différents systèmes est d'utiliser l'image multi-distro. Pour créer la carte µSD il suffit de suivre les instructions sur la page.
Voici un lien sur les instructions détaillées
Après quelques tests, arrivent en tête Mobian et PostMarketOS/Phosh. Mais ce n'est que mon point de vue, je vous invite à essayer et à vous faire votre propre avis.
Problème de la carte SD
Lorsque j'ai eu mon Pinephone, j'ai testé quelques système d'exploitation avant d'en installer un sur la mémoire interne. J'ai donc formater la carte SD que j'avais utilisé pour les tests afin de l'utiliser en tant que stockage. Cependant, mon Pinephone ne voulait pas démarrer avec cette carte SD. Cela vient du fait que même après un formatage les secteurs correspondant au u-boot, sont toujours présent. Pour s'en débarrasser il faut lancer la commande suivante :
dd if=/dev/zero of=/dev/mmcblk0 bs=1024 seek=8 count=2048
En remplaçant bien sûr "mmcblk0" par le nom de la carte SD. Une fois ces secteurs effacé, le Pinephone démarre normalement avec la carte SD en guise de stockage.
Les SMS
Problèmes
Il m'est arrivé de ne plus recevoir les sms. Il s'avère qu'il s'agit d'une sorte de bug lié à des fichiers persistants (SMS en cours de traitement). Afin de vérifier s'il y a effectivement un "trop plein" de fichier il est nécessaire d'utiliser le terminal et de préférence via SSH (c'est quand même plus pratique)
Connaître le chemin/index du modem
# mmcli -L /org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module
Connaître le chemin/index de la SIM du modem
# mmcli -m 0 | grep SIM SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0
On peut ici voir dans la réponse le chemin qui est utilisé par le système d'exploitation pour traiter tout ce qui touche aux différentes fonctions téléphone.
Lister les SMS en attente
Pour lister les sms en cours de traitement dans le modem du Pinephone il faut exécuter la commande suivante :
# mmcli -m 0 --messaging-list-sms /org/freedesktop/ModemManager1/SMS/19 (sent) /org/freedesktop/ModemManager1/SMS/18 (receiving) /org/freedesktop/ModemManager1/SMS/17 (received) /org/freedesktop/ModemManager1/SMS/16 (received) /org/freedesktop/ModemManager1/SMS/15 (received) /org/freedesktop/ModemManager1/SMS/14 (received) /org/freedesktop/ModemManager1/SMS/13 (received) /org/freedesktop/ModemManager1/SMS/12 (received) /org/freedesktop/ModemManager1/SMS/11 (received) /org/freedesktop/ModemManager1/SMS/10 (received) /org/freedesktop/ModemManager1/SMS/9 (received) /org/freedesktop/ModemManager1/SMS/8 (received) /org/freedesktop/ModemManager1/SMS/7 (received) /org/freedesktop/ModemManager1/SMS/6 (received) /org/freedesktop/ModemManager1/SMS/5 (received) /org/freedesktop/ModemManager1/SMS/4 (received) /org/freedesktop/ModemManager1/SMS/3 (received) /org/freedesktop/ModemManager1/SMS/2 (received) /org/freedesktop/ModemManager1/SMS/1 (receiving) /org/freedesktop/ModemManager1/SMS/0 (received)
D'après ce que j'ai pu lire à droite et à gauche, il ne devrait jamais y avoir plus de 10 sms en cours de traitement. Or là dans mon cas il y en a bien plus, ce qui pour une raison que j'ignore bloque complètement la réception des nouveaux SMS entrant.
Suppression des SMS
Vous aurez beau chercher, mais ces fichiers là n'apparaissent pas dans la racine du système, impossible donc de les effacer à coup de rm. Pour y arriver il faut lancer la commande :
# mmcli -m 0 --messaging-delete-sms=1 successfully deleted SMS from modem
Ce qui aura pour effet d'effacer le SMS numéro 1. J'imagine que vu que le 0 correspond à la SIM il ne vaut mieux pas y toucher. Je vais donc réitérer la manip pour tous les sms coincés. Une fois ceci fait, le Pinephone accepte à nouveau de recevoir des SMS.
Sauvegarder ses SMS
Les SMS sont gérés par le logiciel purple, on retrouve donc toutes les données dans :
/home/mobian/.purple
Pour être plus précis les SMS sont stockés dans une base de données sqlite3 qui se trouve ici :
/home/mobian/.purple/chatty/db/chatty-history.db
Envoyer un SMS en ligne de commande
Il peut y avoir plusieurs raisons pour lesquelles on souhaite envoyer un SMS en ligne de commande. Dans un premier temps il faut lister les modem présent :
$ mmcli -L /org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module
On voit ici que le modem à le numéro 0, s'il n'est pas activé il faut alors exécuter la commande :
$ sudo mmcli -m 0 -e successfully enabled the modem
On peut maintenant créer un SMS :
sudo mmcli -m 0 --messaging-create-sms="text='Hello world',number='+1234567890'" Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/8
Le message est le numéro 8, pour l'envoyer il faut donc préciser ce numéro :
$ sudo mmcli -s 8 --send successfully sent the SMS
Et voilà le SMS vient de partir.
Gérer un crash
Il m'est arrivé dernièrement de voir mon pinephone ne plus vouloir démarrer, "Don't panic !". La première chose à faire est de récupérer une image d'un système d'exploitation pour créer une carte µSD bootable. Voir Les systèmes d'exploitations disponibles
Une fois la carte créée et le pinephone démarré, il est possible que vous puissiez régler le problème à partir de ce système d'exploitation tout frais. Dans le cas contraire, il va falloir aller plus loin et chrooter le système existant
Chrooter le système
Dans la suite je suppose que vous être en root. Un prérequis à ça est d'installer qemu-user-static simplement avec la commande :
apt-get install qemu-user-static
Une fois ceci fait il faut monter les partitions de votre système défaillant
mount /dev/mmcblk2p2 /mnt/ -o noatime mount /dev/mmcblk2p1 /mnt/boot -o noatime
Puis copyer qemu emulator dans le système à chrooter :
cp -u /usr/bin/qemu-aarch64-static /mnt/usr/bin
Puis enfin chrooter le système à proprement parler :
chroot /mnt qemu-aarch64-static /bin/bash
Il est également nécessaire de monter d'autres dossier basiques :
mount none -t devtmpfs /dev mount none -t devpts /dev/pts mount none -t proc /proc mount none -t tmpfs /tmp
Voilà maintenant vous êtes dans le système de fichier défaillant et maintenant on peut chercher vraiment d'où vient le problème. Bien entendu la première chose à faire c'est de regarder les logs :
journalctl -r
Sortir du système chrooté
Rien de bien compliqué dans cette étape, il suffit de démonter les différents dossiers dans l'ordre inverse :
umount /dev/pts /dev /proc /tmp exit umount /mnt/boot /mnt