Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 31/12/2015, à 15:08

marcel6566

[RESOLU] GAMMU et DEMMARRAGE de l'OS !

Bonjour et merci par avance pour votre aide.
Mes SMS ne sont pas envoyées au démarrage !!!

Sous Raspbian avec un RPI, j'utilise  une clé 3G et GAMMU.
En ligne de commandes j'envoie correctement mes SMS.
Dans un programme C++ compilé, j'envoie correctement mes SMS, via un script basic. "./mon_programme"
Mon programme s'exécute bien au démarrage de l'OS via update-rc ...
Mais lors de ce démarrage l'envoi des sms ne se fait pas ???
Je sèche, car je ne trouve rien dans les log qui m'interpellent.
Merci et bon réveillon !

Mon programme en C++

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <glib.h>
#include <glib/gprintf.h>
int main(int argc, char *argv[])
{
	int comptvaleur = 0;
	char url[100];
	do {
		sprintf(url, "%s", "./envoisms.sh 0600000000 BONNEANNEE2016");
		system(url);
		comptvaleur = comptvaleur + 1;
		usleep(400 * 500);
    } while (comptvaleur < 3);	// WHILE sur le DO
    return EXIT_SUCCESS;
}

Mon script bash

#!/bin/sh
numero=$1
texte=$2
gammu-smsd-inject TEXT $numero -text $texte

Syslog

Dec 31 14:41:50 MyMaison gammu-smsd[2679]: Using FILES service
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: Configuring Gammu SMSD...
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: SHM token: 0xffffffffce023fc2 (-838713406)
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: PIN code is "xxxx"
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: CommTimeout=30, SendTimeout=30, ReceiveFrequency=0, ResetFrequency=0, HardResetFrequency=0
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: checks: CheckSecurity=1, CheckBattery=1, CheckSignal=1
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: mode: Send=1, Receive=1
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: deliveryreport = no
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: phoneid =
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: Inbox is "/var/spool/gammu/inbox/" with format "standard"
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: Outbox is "/var/spool/gammu/outbox/" with format "detail" and transmission format "7bit"
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: Sent SMS moved to "/var/spool/gammu/sent/"
Dec 31 14:41:50 MyMaison gammu-smsd[2679]: SMS with errors moved to "/var/spool/gammu/error/"
Dec 31 14:41:50 MyMaison gammu-smsd[2689]: Created POSIX RW shared memory at 0xb6f67000
Dec 31 14:41:50 MyMaison gammu-smsd[2689]: Starting phone communication...
Dec 31 14:41:50 MyMaison /etc/mysql/debian-start[2692]: Triggering myisam-recover for all MyISAM tables
Dec 31 14:41:51 MyMaison kernel: [   42.179131] uart-pl011 20201000.uart: no DMA platform data
root@MyMaison:/var/log#

Dernière modification par marcel6566 (Le 02/01/2016, à 23:50)

Hors ligne

#2 Le 31/12/2015, à 17:49

cqfd93

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Bonjour,

Cette question est du ressort d'un forum Debian (debian-fr ou Debian-Facile). Selon les règles du forum que tu as certainement lues, une question ne concernant pas Ubuntu ou ses dérivées peut être posée dans le Café. Sujet déplacé.


cqfd93

En ligne

#3 Le 01/01/2016, à 11:15

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Salut,

Je pense que tu devrais commencer par simplifier ton approche.
Pourquoi faire un programme en C++, utilisé comme du C, avec pour seul but d'exécuter un shellscript, qui lui exécute une autre commande !?

Ensuite, peut-être que ton problème n'est pas du tout lié. Peut-être que, simplement, lorsque le script est exécuté la clé 3G ne s'est pas encore connectée au réseau...

Hors ligne

#4 Le 01/01/2016, à 17:25

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Bonjour et meilleurs vœux à tous.

Merci pour ta réponse.
En fait j'utilise le C++ car mon projet nécessite d'autres fonctions, telles que MySQL, I2C, ...
Je n'avais ici qu'extrait la partie essentielle à mon problème.

Dans la réalité, je fais appel à Gammu de nombreuses autres fois, et le résultat reste le même.

J'ai modifié ce programme, et ai mis au démarrage une tempo d'environ 5 minutes, ensuite Gammu ne fonctionne pas mieux ???
Si vous avez des pistes, elles sont le bienvenue.
Cordialement

int comptvaleur = 0;
char url[100];
usleep(500 * 5000);
do {
	sprintf(url, "%s", "./envoisms.sh 0600000000 BONNEANNEE2016");
	system(url);
	comptvaleur = comptvaleur + 1;
	usleep(400 * 500);
} while (comptvaleur < 3);

Hors ligne

#5 Le 01/01/2016, à 17:35

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

En fait j'utilise le C++ car mon projet nécessite d'autres fonctions, telles que MySQL, I2C, ...

Alors pourquoi appeler un script qui lui-même appelle gammu, plutôt que d'appeler directement gammu à partir de ton programme en C++ ?
Ou alors, encore 1000 fois mieux, pourquoi ne pas utiliser la libGammu plutôt que d'appeler la commande Gammu ?
https://wammu.eu/docs/manual/c/

J'ai [...] mis au démarrage une tempo d'environ 5 minutes, [...] Gammu ne fonctionne pas mieux

Donc j'imagine que ma supposition était mauvaise.
Pour déboquer ça, prenons une autre approche : regarde le retour de la commande gammu-smsd-inject, par exemple en redirigeant sa sortie vers un fichier...

Hors ligne

#6 Le 01/01/2016, à 18:12

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

J'ai regardé libGammu, car au départ je voulais l'utiliser. Mais il me semble qu'il faut une version graphique avec wammu. Sur mon RPI, j'ai supprimé cette interface et tout ce passe en ligne de commande, donc avec gammu !

regarde le retour de la commande gammu-smsd-inject, par exemple en redirigeant sa sortie vers un fichier...

Super ta démarche, je ne savais pas que cela était possible.
J'ai essayé en mettant le fichier à la place du numéro de téléphone ou en utilisant le paramètre -c, mais je ne trouve pas la bonne syntaxe.
Comment faire ?
Merci

Hors ligne

#7 Le 01/01/2016, à 22:32

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

libGammu, car au départ je voulais l'utiliser. Mais il me semble qu'il faut une version graphique avec wammu

Non, aucun rapport entre la libgammu et une quelconque version graphique.
C'est une lib, ça ne te force pas à faire un logiciel graphique.

gammu lui-même, en ligne de commande, utilise libgammu.

J'ai essayé en mettant le fichier à la place du numéro de téléphone ou en utilisant le paramètre -c, mais je ne trouve pas la bonne syntaxe.
Comment faire ?

Ton script bash :

#!/bin/sh
numero=$1
texte=$2
gammu-smsd-inject TEXT $numero -text $texte >> /tmp/debug_gammu 2>&1

Dernière modification par tiramiseb (Le 01/01/2016, à 22:32)

Hors ligne

#8 Le 02/01/2016, à 00:03

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Merci pour l'info. je cherche à installer le bon paquet pour bénéficier de libGammu.

Bien, j'ai fait le test.
Au redémarrage le fichier debug_gammu est vide.
En lançant manuellement le fichier contient les trois créations et je reçois correctement les sms sur mon portable.

# cat debug_gammu
gammu-smsd-inject[2852]: Created outbox message OUTC20160001_235630_00_06xxxxxxx_sms0.smsbackup
Written message with ID /var/spool/gammu/outbox/OUTC20160001_235630_00_06xxxxxxx_sms0.smsbackup
gammu-smsd-inject[2857]: Created outbox message OUTC20160001_235631_00_06xxxxxxx_sms0.smsbackup
Written message with ID /var/spool/gammu/outbox/OUTC20160001_235631_00_06xxxxxxx_sms0.smsbackup
gammu-smsd-inject[2862]: Created outbox message OUTC20160001_235632_00_06xxxxxxx_sms0.smsbackup
Written message with ID /var/spool/gammu/outbox/OUTC20160001_235632_00_06xxxxxxx_sms0.smsbackup

Bizarre ???

Dernière modification par marcel6566 (Le 02/01/2016, à 00:04)

Hors ligne

#9 Le 02/01/2016, à 00:08

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

* Au démarrage, tu lances ça en tant que quel utilisateur ?
* Le démon Gammu est-il lancé avant l'exécution de la commande ?
* Le répertoire /var/spool/gammu est-il bien accessible au moment où la commande s'exécute ?
* Comment as-tu fait pour que ton programme s'exécute au démarrage ?

Dernière modification par tiramiseb (Le 02/01/2016, à 00:09)

Hors ligne

#10 Le 02/01/2016, à 01:15

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Au démarrage, tu lances ça en tant que quel utilisateur ?

Je pense que c'est root, mais je ne me connecte pas

Le démon Gammu est-il lancé avant l'exécution de la commande ?

BRAVO, je n'ai pas vu S03demarrer et S04gammu-smsd.
Je vais placer S03demarrer en S20

Le répertoire /var/spool/gammu est-il bien accessible au moment où la commande s'exécute ?

Je ne sais pas comment le savoir ???
Ce répertoire est en root:root avec les droits 755

Comment as-tu fait pour que ton programme s'exécute au démarrage ?

J'ai créé un script qui pointe sur mon programme. Il est dans /etc/init.d avec les droits 755 en root:root
Puis j'utilise update-rc mon_script defaults

Hors ligne

#11 Le 02/01/2016, à 01:36

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

J'ai créé un script qui pointe sur mon programme. Il est dans /etc/init.d avec les droits 755 en root:root

L'idéal serait que ton script attende l'argument "start", "stop" ou "restart", comme un vrai script de démarrage. Sinon il risque d'exécuter ces commandes également à l'extinction (et puis de toute manière ça ne serait pas joli tongue ).

Mis à part ça, en effet je pense aussi que ça tourne en root si tu n'as pas fait + complexe que ça.

Je vais placer S03demarrer en S20

Ça donne quoi ?

Hors ligne

#12 Le 02/01/2016, à 01:48

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Ça donne quoi ?

Je ne parviens pas à changer l'ordre de démarrage
update-rc.d -f dem remove
OK
update-rc.d dem defaults 20 1
il replace en 3 1

J'ai supprimé rem et recréé un autre : idem il le place en 3 ???

J'ai essayé de placer gammu-smsd en 3 1 et ensuite dem en 20 1 mais pas de modif.

Je vais faire un ON/OFF de RPI

Hors ligne

#13 Le 02/01/2016, à 02:02

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

update-rc.d dem defaults 20 1

Conflit, là.

Soit tu lui dis de faire le truc par défaut ("defaults"), soit tu lui dis de mettre en 20.

Derrière "defaults", tous les arguments sont ignorés.

C'est le header de ton script d'init qu'il faut modifier, dans la section "BEGIN INIT INFO".
Si tu ne sais pas comment former ce machin, alors fais carrément le lien symbolique à la main dans /etc/rc2.d...

Hors ligne

#14 Le 02/01/2016, à 02:32

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Je suis passé par les liens

ln –s /etc/init.d/dem.sh /etc/rc0.d/K01dem.sh
ln –s /etc/init.d/dem.sh /etc/rc1.d/K01dem.sh
ln –s /etc/init.d/dem.sh /etc/rc2.d/S20dem.sh
ln –s /etc/init.d/dem.sh /etc/rc3.d/S20dem.sh
ln –s /etc/init.d/dem.sh /etc/rc4.d/S20dem.sh
ln –s /etc/init.d/dem.sh /etc/rc5.d/S20dem.sh
ln –s /etc/init.d/dem.sh /etc/rc6.d/K01dem.sh
#!/bin/bash
### BEGIN INIT INFO
# Provides:          dom
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Démarre prog
# Description:       Lance le prog principal
### END INIT INFO
/SCRIPTS/prog
caee "$1" in
                start)
        ;;
                stop)
                        ;;
    reload|restart)
                $0 stop
                $0 start
                        ;;
    *)
                echo "Usage: $0 start|stop|restart|reload"
                exit 1
esac
exit 0

Le démarrage ne se fait plus
j'en ai assez pour ce soir
Merci pour ton aide
Cordialement

Hors ligne

#15 Le 02/01/2016, à 10:43

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Ta commande il faut la mettre dans le bloc "start".

Le démarrage ne se fait plus

Ça veut dire quoi ? Le démarrage de quoi ? De la machine dans sa totalité ?
Ça bloque où ?

Dernière modification par tiramiseb (Le 02/01/2016, à 10:43)

Hors ligne

#16 Le 02/01/2016, à 13:56

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Bonjour
Des progrès !
gammu-smsd (S04) se lance avant dem (S05).
Le script dem lance bien prog au démarrage. Mais pas de fichier debug_gammu créé au démarrage du prog ni pendant l'exécution du prog en fonction des différentes interactions.
Apres avoir kill le prog, je le lance manuellement ./prog, et la le fichier debug_gammu se crée dès le début du prog et pendant l'exécution du prog en fonction des différentes interactions.

Hors ligne

#17 Le 02/01/2016, à 14:03

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Là je sèche...

Hors ligne

#18 Le 02/01/2016, à 14:04

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Remarque peut être intéressante.
Je boote mon RPI, le prog est lancé et mes interactions fonctionnement bien. (toujours pas de sms)
Depuis le console sans arrêter le prog, je lance via le script un sms manuel. Il ne passe pas
Je regarde le fonctionnement de gammu. Il est en Ss ???

# ps aux | grep gammu
gammu     2674  0.4  0.7  20672  3276 ?        Ss   13:47   0:04 /usr/bin/gammu-smsd --daemon --user gammu --pid /var/run/gammu-smsd.pid
root      9846  0.0  0.4   3568  1916 pts/1    S+   14:02   0:00 grep gammu

Hors ligne

#19 Le 02/01/2016, à 14:06

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Il est en Ss ???

Sleeping, c'est l'état normal d'un processus...

Mais ça ne répond pas au problème...

Hors ligne

#20 Le 02/01/2016, à 14:08

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

ERREUR de ma part
Je boote mon RPI, le prog est lancé et mes interactions fonctionnement bien. (toujours pas de sms)
Depuis le console sans arrêter le prog, je lance via le script un sms manuel. Il ne passe pas le sms passe
Je regarde le fonctionnement de gammu. Il est en Ss ???

Hors ligne

#21 Le 02/01/2016, à 14:46

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

S = sleeping, c'est l'état normal d'un processus.
s = session leader : normal, c'est un démon.

Depuis le console sans arrêter le prog, je lance via le script un sms manuel. Il ne passe pas le sms passe

Ton programme semble avoir un problème lors de son démarrage.

Hors ligne

#22 Le 02/01/2016, à 14:52

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Je regarde des users et groups

cat passwd
gammu:x:109:112::/nonexistent:/bin/false
cat group
gammu:x:112:
ssl-cert:x:109:

Hors ligne

#23 Le 02/01/2016, à 14:55

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Tu commences à t'éparpiller, à vérifier n'importe quoi, à partir dans tous les sens...

Hors ligne

#24 Le 02/01/2016, à 14:58

marcel6566

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Il reste  pourtant très basic !!!

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <glib.h>
#include <glib/gprintf.h>
// #include <gammu.h>
int main(int argc, char *argv[])
{
        int comptvaleur = 0;
	char url[100];
	do {
		sprintf(url, "%s", "./envoisms.sh 06XXXXXXXX BONNEANNEE2016");
		system(url);
		comptvaleur = comptvaleur + 1;
		usleep(400 * 2500);
    } while (comptvaleur < 3);	// WHILE sur le DO
    return EXIT_SUCCESS;
}

Hors ligne

#25 Le 02/01/2016, à 15:14

tiramiseb

Re : [RESOLU] GAMMU et DEMMARRAGE de l'OS !

Par contre tu n'as pas montré comment tu t'assures que la commande est exécutée dans le bon répertoire... Aucun "cd" dans ton script de démarrage, un chemin relatif dans ton code en C++......

En fait, j'ai l'impression que tu cumules les mauvaises pratiques...

Hors ligne