IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Démarrage du son avec ALSA lorsque le script est lancé au démarrage


Sujet :

Raspberry Pi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2017
    Messages : 25
    Points : 16
    Points
    16
    Par défaut Démarrage du son avec ALSA lorsque le script est lancé au démarrage
    Bonjour,

    Pour lazncer un scritp au demarrage du PI ( raspbian stretch) j'ai saisi ceci :

    Sudo nano /home/pi/demarauto.sh
    J'ai place ceci deans :
    # ! /bin/sh
    lxterminal –e python3 “/home/pi/monscriptL.py”
    puis dans :
    sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
    j'ai mis avant screensaver :
    @sudo bash /home/pi/demarauto.sh

    Mon script contient des fichiers audio qui passent par un DAC ou j'ai fait les modifs suivantes pour qu'il fonctionne :
    dans /boot/config.txt :

    dtoverlay=hifiberry-dac
    dtoverlay= i2S-mmap

    j'ai crée un nouveau fichier /etc/asound.conf pour y mettre ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    pcm.hifiberry {
    type hw card O
    }
    
    pcm.!default {
    type plug
    slave.pcm "dmixer"
    }
    
    pcm.dmixer {
    type dmix
    ipc_key 1024
    slave {
    pcm "hifiberry"
    channels 2
    }
    }
    Tous fonctionne bien en executant mes programmes par la console ou par IDLE mais lorsque je reboot voici ce que j'obtiens lors de l'appel du son dans mes progs :

    Nom : erreur.JPG
Affichages : 387
Taille : 37,5 Ko

    Auriez vous quelques idées car je ne sais pas par où m'y prendre
    D'avence Merci

  2. #2
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    891
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 891
    Points : 4 157
    Points
    4 157
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Il y a une chose qui m'apparaît curieuse: le script démarrant dans la session utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /home/pi/.config/lxsession/LXDE-pi/autostart
    mais qui doit avoir des droits administrateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @sudo bash /home/pi/demarauto.sh
    Je n'ai pas vérifié, mais il me semble que ça ne peut pas fonctionner. Comment se ferait la saisie du mot de passe pour avoir les droits administrateur ?

    Je pense que si le script doit s'exécuter avec des droits root, il faut le lancer avant la session, par crontab ou en le plaçant dans /etc/init.d
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2017
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Bonjour et merci pour votre attention à mon problème.

    En fait j'ai aussi exécuté un : sudo chmod +x /home/pi/demarauto.sh dans la séquence de ce que je vous ai décrit auparavant.
    Tout fonctionne bien (semble t-il) j'ai une autre appli sur un autre PI qui utilise la même configuration de démarrage et c'est sans problème (pour moi) mais celle-ci n'a pas de carte son DAC.
    Sur le PI avec DAC lorsque je reboot j'obtiens l'erreur indiqué ci dessus que je ne sais pas analyser. Pour moi il me semble que la procédure de lancement il y a un script ou une config liée a ALSA qui ne s’établit pas mais je ne suis pas assez calé pour comprendre cela.

    En fait si vous connaissez une autre façon de lancer un script au boot je suis preneur. J'ai la dernière version de Raspberry stretch 9.3. D’après les forums le boot n'est plus rc.local mais a travers systemd via des services et la je ne sais pas faire.

    Qu'en pensez vous ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2017
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Re,

    J'ai testé avec crontab avec la procédure suivante donnée par (https://www.raspberrypi-spy.co.uk/20...ot-using-cron/) :

    et j'ai mis a la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @reboot python3 /home/pi/test-son.py
    au reboot ça ne démarre pas aussi ( mon script test-son.py fonctionne )

    pour initd je ne sais pas comment procéder

    Votre aide est la bienvenue d'autant que je dois installer cette application dans une semaine (je stresse)

  5. #5
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    891
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 891
    Points : 4 157
    Points
    4 157
    Billets dans le blog
    1
    Par défaut
    Le script /home/pi/monscriptL.py a-t-il besoin de droits administrateur pour fonctionner ?
    Si non, as-tu essayé, dans ton autostart, de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @bash /home/pi/demarauto.sh
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @sudo bash /home/pi/demarauto.sh
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  6. #6
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    891
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 891
    Points : 4 157
    Points
    4 157
    Billets dans le blog
    1
    Par défaut
    Autre piste:
    en fin de commande, place un
    que tu utilises ou non la commande avec ou sans sudo, aussi bien dans ton fichier autostart que dans la crontab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @sudo bash /home/pi/demarauto.sh 2>/tmp/demarauto.log
    ça créera un fichier demarauto.log dans /tmp, contenant le journal des erreurs, que tu pourras consulter pour tenter d'en savoir un peu plus.
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  7. #7
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    891
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 891
    Points : 4 157
    Points
    4 157
    Billets dans le blog
    1
    Par défaut
    Je vois encore que dans ton premier message, tu parles d'un script monscriptL.py alors que dans ton dernier message il s'agit de test-son.py
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  8. #8
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    891
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 891
    Points : 4 157
    Points
    4 157
    Billets dans le blog
    1
    Par défaut
    Après vérification, sudo ne pose effectivement pas de problème dans le fichier autostart.
    En revanche, il y a peut-être un problème de syntaxe dans ton fichier autostart.
    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @sudo bash /home/pi/demarauto.sh
    tente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo /home/pi/demarauto.sh
    sans le @
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2017
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Re Bonjour Philippe,
    Merci pour toutes ces précisions qui me sont utiles.

    En ce qui concerne mon problème, après quelques lectures sur le net. Il semblerai que dans les raspbian stretch au boot les services sont envoyés en parallèles. J'ai donc pensé que mon autostart pouvait lancer mon application avant que certaines configuration ( en particulier le son ALSA) ne soit initialisé. J'ai donc rajouté un sleep 10 dans le script autostart avant le lancement de mon appli et ho!! miracle le mixer ALSA est initialisé et ça marche.
    Réellement je ne sais pas expliquer précisément mais.....

    Merci encore pour ton aide

    Bonne journée

  10. #10
    Rédacteur


    Homme Profil pro
    Instituteur retraité
    Inscrit en
    Novembre 2015
    Messages
    891
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Instituteur retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 891
    Points : 4 157
    Points
    4 157
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par danardui Voir le message
    J'ai donc pensé que mon autostart pouvait lancer mon application avant que certaines configuration ( en particulier le son ALSA) ne soit initialisé. J'ai donc rajouté un sleep 10 dans le script autostart avant le lancement de mon appli et ho!! miracle le mixer ALSA est initialisé et ça marche.
    Réellement je ne sais pas expliquer précisément mais.....
    Oui, j'ai déjà rencontré ce type de problème, notamment pour le montage de disques réseau dans le fstab, alors que tous les services réseau requis n'étaient pas encore démarrés.
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

Discussions similaires

  1. Réponses: 15
    Dernier message: 04/09/2014, 12h11
  2. Réponses: 5
    Dernier message: 15/06/2007, 14h56
  3. Problème de son avec alsa
    Par HNT dans le forum Matériel
    Réponses: 3
    Dernier message: 14/05/2006, 22h34
  4. Script SQL lancé au démarrage de SQLServer
    Par Philou67 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/04/2006, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo