Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Lenteur à l'extinction depuis paramétrage réseau

    Recalbox Général
    reseau probleme extinction 4.0.2
    4
    16
    3824
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ReikanYsora
      ReikanYsora last edited by ReikanYsora

      Bonjour à tous,

      C'est mon premier message sur ce forum, je tenais donc à tous vous saluer !

      Si je viens vers vous, c'est que j'ai un problème un peu particulier, qui n'est pas vraiment bloquant en soit mais que j'aimerai quand même résoudre.

      Voila, chez moi j'ai plusieurs RecalBox qui se partage un dossier de roms et de sauvegardes qui se trouve sur un PC de mon réseau local (c'est un serveur pro sous Windows Server 2012 R2 foundation), aucun problème sur le réseau (j'ai 5 PC qui tournent en permanence sans rencontrer le moindre problème). Le partage fonctionne très bien (pour info, j'ai utilisé cette technique : [https://github.com/RetroPie/RetroPie-Setup/wiki/Running-ROMs-from-a-Network-Share].

      Cependant, depuis que j'ai fait ce paramétrage, mes pi mettent entre 5 et 10 minutes à s'éteindre après le déclenchement du bouton power que j'ai rajouté. L'action sur celui-ci est prise en compte directement, mais je reste tout ce temps sur l'écran "Veuillez patienter". Edit : (idem si j'utilise le menu pour redémarrer)

      Tous les recalbox sont en 4.0.2 (1 pi 3 et 2 pi 2)

      Si vous avez une idée !

      Merci par avance,

      Reikan

      1 Reply Last reply Reply Quote 0
      • ReikanYsora
        ReikanYsora last edited by

        Erf, je me suis trompé de lien en rédigeant le message, c'est ce lien là que j'ai utilisé :

        [https://github.com/recalbox/recalbox-os/wiki/Charger-ses-rom-depuis-un-partage-réseau-Samba-(par-exemple-un-NAS)-(FR)]

        De plus, j'ai également une autre question, j'aimerai monter un second disque pour les sauvegardes afin de les centraliser.
        Je voudrais donc pouvoir rajouter une deuxième ligne comme celle déjà présente mais pointant vers le répertoire de 'saves' en partage réseau.

        //192.168.0.X/RecalBox/saves /recalbox/share/saves cifs user=XXXX,password=XXXX,uid=0,gid=0,rw 0 0

        Quelles informations je dois préciser ? Notemment à la place des uid=0,gid=0,rw 0 0

        Merci d'avance

        unik314r 1 Reply Last reply Reply Quote 0
        • unik314r
          unik314r last edited by unik314r

          Salut,

          De mon côté j'essaie de ne pas suivre de tutos autres que ceux de recalbox (ici ton tuto c'est du retropie... ça ressemble beaucoup mais c'est pas forcément identique)
          --> ça permet d'être sûr qu'on aura du support sur ce forum 😄

          Pour ce qui est montage réseau, j'ai pris une solution assez simple:
          1/ modifier les points de montage
          2/ monter ces point de montage à chaque boot de recalbox

          Et voilà ce que j'ai chez moi:

          1/ préparer les partoches (modifier le fichier tables de partitions)

          vi /etc/fstab
          

          Rajouter:

          //192.168.1.254/2000go/Jeux/PS1_ROMS /recalbox/share/roms/psx/ cifs user=username,password=userpass,uid=0,gid=0,rw 0 0
          //192.168.1.254/2000go/Jeux/SNES_ROMS/ /recalbox/share/roms/snes/ cifs user=username,password=userpass,uid=0,gid=0,rw 0 0
          //192.168.1.254/2000go/Jeux/GB_ROMS /recalbox/share/roms/gb/ cifs user=username,password=userpass,uid=0,gid=0,rw 0 0
          //192.168.1.254/2000go/Jeux/GBC_ROMS /recalbox/share/roms/gbc/ cifs user=username,password=userpass,uid=0,gid=0,rw 0 0
          //192.168.1.254/2000go/Jeux/MEGADRIVE_ROMS /recalbox/share/roms/megadrive/ cifs user=username,password=userpass,uid=0,gid=0,rw 0 0
          //192.168.1.254/2000go/Jeux/FBA /recalbox/share/roms/fba_libretro/ cifs user=username,password=userpass,uid=0,gid=0,rw 0 0
          //192.168.1.254/2000go/Jeux/NEOGEO /recalbox/share/roms/neogeo/ cifs user=username,password=userpass,uid=0,gid=0,rw 0 0
          //192.168.1.254/2000go/Jeux/MAME /recalbox/share/roms/mame/ cifs user=username,password=userpass,uid=0,gid=0,rw 0 0
          

          On voit qu'ici je monte des partages réseaux directement à la place des dossiers roms des consoles (inconvénient: pas de réseau = pas de roms...)

          2/ monter les partoches au boot

          Editer un fichier exécuté au boot:

          vi /etc/init.d/S31emulationstation
          

          rajouter "mount -a" juste après le start) du case -->

          case "$1" in
            start)
                  mount -a
                  enabled="`$systemset.......... BLABLABLA...
          

          3/ changer l'ordre du boot pr prendre en compte le mount -a en fin de boot

          mv /etc/init.d/S31emulationstation /etc/init.d/S92emulationstation
          

          Cette solution marche sur ce principe: https://github.com/recalbox/recalbox-os/wiki/Add-your-own-startup-script-(EN)

          Attention: les points 2/ et 3/ seront écrasés à chaque mise à jour

          Enfin, il existe une dernière solution: Regarde du côté du fichier custom.sh
          Si je ne me trompe pas, c'est un sh qui est lancé par un /etc/init.d/SXXemulationstation et qui donc permet de lancer des trucs perso.
          Mais personnellement, quand j'ai testé cette solution, j'ai eu justement le même pb que toi...

          Je viens de voir ton second post:

          • ok tu as suivi le même tuto que moi 😄
          • pour ton dossier saves: comme tu peux le voir: même principe que 1/ 2/
          1 Reply Last reply Reply Quote 0
          • unik314r
            unik314r @ReikanYsora last edited by

            @ReikanYsora
            Perso je laisserais
            ..... cifs user=username,password=userpass,uid=0,gid=0,rw 0 0

            De mon côté j'ai 2 recalbox, mais une peut être déplacée et peut perdre le réseau donc ma solution a été 2 scripts, sur chaque machine:
            Un premier pour envoyer via rsync le contenu de /recalbox/share/saves
            Un autre pour récupérer via rsync le contenu de /recalbox/share/saves

            Pour l'instant je lance les lance à la main via ssh, mais il est possible d'automatiser tout ça avec custom.sh (ou, dans /etc/init.d/SXXemulationstation )

            1 Reply Last reply Reply Quote 0
            • unik314r
              unik314r last edited by unik314r

              Petite info sur les uid gid (source: http://lea-linux.org/documentations/Fstab 😞
              Avec le montage suivant:

              /dev/hda2 /mnt/dos_c vfat user,uid=500,gid=500 0 0

              Lorsque la partition /dev/hda2 est montée, tous ses fichiers appartiennent au groupe 500 et à l'utilisateur 500 (voir les fichiers /etc/group et /etc/passwd pour savoir leur nom !).
              Si vous ne précisez rien : les fichiers appartiennent à l'utilisateur ayant appelé mount (root si vous n'avez rien fait de spécial).

              Chez moi j'ai UID=0 et GID=0 et ça partage nickel, Windows peut s'y connecter, android aussi...
              Donc selon moi, laisse en UID=0 et GID=0

              1 Reply Last reply Reply Quote 0
              • ReikanYsora
                ReikanYsora last edited by

                Pour le partage et le montage des 2 répertoires (roms et saves) c'est ok et ça fonctionne parfaitement.

                L'ennui c'est que mon problème d'origine est toujours présent, environ 5 à 6 minutes sur le Pi 3 pour réussir à redémarrer.
                C'est forcement lié au réseau, n'y a t-il pas moyen de forcer le démontage des disques lors de l'arrêt de l'appareil ?

                Merci encore pour tes explications précises et rapides 🙂

                1 Reply Last reply Reply Quote 0
                • unik314r
                  unik314r last edited by

                  Le script "custom.sh" (dans /recalbox/share/system/ je crois ) a 2 sections : start et stop.
                  Pour chaque section, il est possible d'indiquer des choses à faire:
                  Selon moi, mettre
                  "umount /mon/point/de/montage"
                  dans la section stop devrait démonter ce que tu veux avant de quitter emulationstation (c'est à dire quand tu lances l'appel à shutdown) . En theorie^^

                  Après j'avoue qu'ayant moi aussi eu ces pb de latence, j'ai tout simplement décidé d'arrêter d'utiliser des trucs automatiques...
                  Si j'ai besoin de faire qqchose avec du réseau, je lance tout à la main (j'ai écrit un .sh que je lance via ssh quand j'ai besoin de monter le NAS)

                  Mais en effet dans ton cas, vu que tu as tout en réseau, essaie de regarder du côté de "custom.sh" il se lance avec le fichier /etc/unit.d/QQCHcustomQQCH

                  1 Reply Last reply Reply Quote 0
                  • ReikanYsora
                    ReikanYsora last edited by

                    Merci encore !

                    J'essaye ça et je reviens vers toi 🙂

                    1 Reply Last reply Reply Quote 0
                    • Substring
                      Substring last edited by

                      je garde un oeil ici au cas où 😉

                      Mais la lenteur d'extinction sur un nas n'est pas surprenante.

                      Former dev - Please reply with @substring so that i am notified when you answer me
                      Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                      1 Reply Last reply Reply Quote 0
                      • kjbstar
                        kjbstar last edited by

                        +1 rien d'étonnant.

                        Teste l'extinction rapide, ca devrait prendre moins longtemps. En reboot et extinction normale, il y a des écritures dans les gamelists. Si tu forces un démontage à ce moment là, ça va finir par te hurler dessus en allemand du 11ème siècle. Prend ton mal en patience ou change de mode de stockage, car il n'y a point de salut à ce niveau 🙂

                        Recalbox 4.0.2 sur Raspberry Pi 2
                        Recalboy sur Raspberry Pi Zero

                        Substring 1 Reply Last reply Reply Quote 0
                        • Substring
                          Substring @kjbstar last edited by

                          @kjbstar said in Lenteur à l'extinction depuis paramétrage réseau:

                          ça va finir par te hurler dessus en allemand du 11ème siècle

                          C'est dissuasif ça au moins lol

                          Former dev - Please reply with @substring so that i am notified when you answer me
                          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                          1 Reply Last reply Reply Quote 0
                          • ReikanYsora
                            ReikanYsora last edited by

                            En effet, l'extinction rapide est quasi immédiate.

                            Mais elle a un soucis, lors de l'arrêt depuis cette demande, le switch de démarrage ne fonctionne plus, je suis obligé de débrancher / rebrancher pour que le pi reparte.
                            Ce n'est donc toujours pas la solution qu'il me faut (oui je sais je suis chiant :p)

                            Je pense que la meilleur solution reste de synchroniser le contenu local comme le disais plus haut unik314r.

                            Je vais tester cette solution !

                            En tous cas, merci pour votre participation, c'est cool de tomber sur des forums où les mecs s'insultent pas dans une langue qui fait saigner les yeux (bien pire que l'allemand du 11ème siècle à mon gout :/)

                            1 Reply Last reply Reply Quote 0
                            • ReikanYsora
                              ReikanYsora last edited by

                              Bon bah c'est absolument nickel en synchronisation !

                              Pour ceux que ça intéresse, je met mon code ici (je débute en linux, n'hésitez pas à critiquer, modifier ou me dire si je fais des énormes conneries, je le prendrais pas mal :p)

                              1. J'ai créé un répertoire en partage avec la même arborescence que RecalBox sur mon serveur (c'est un windows server 2012)

                              2. J'ai créé un fichier 'start.sh' situé dans /recalbox/share/system/ qui synchronisera le contenu des roms et des sauvegardes au démarrage

                              3. J'ai créé un fichier 'stop.sh' situé dans /recalbox/share/system/ qui synchronisera le contenu des sauvegardes à l'extinction

                              4. J'ai mis dans 'start.sh' :

                                mount -o remount,rw /
                                mkdir /NetworkMount
                                mount -t cifs //ADRESSEIPSERVEUR/RecalBox /NetworkMount -o username=LOGIN,password=PASSWORD
                                rsync -r -t -x -v --progress -l -s /NetworkMount/roms/ /recalbox/share/roms
                                rsync -r -t -x -v --progress -l -s /NetworkMount/saves/ /recalbox/share/saves
                                umount /NetworkMount
                                rm -r /NetworkMount

                              5. J'ai tapé chmod +x start.sh

                              6. J'ai mis dans 'stop.sh'

                                mount -o remount,rw /
                                mkdir /NetworkMount
                                mount -t cifs //ADRESSEIPSERVEUR/RecalBox /NetworkMount -o username=LOGIN,password=PASSWORD
                                rsync -r -t -x -v --progress -l -s /recalbox/share/saves/ /NetworkMount/saves/
                                umount /NetworkMount
                                rm -r /NetworkMount

                              7. J'ai tapé chmod +x stop.sh

                              8. J'ai mis dans 'custom.sh'

                                #!/bin/sh
                                start() {
                                exec /recalbox/share/system/start.sh
                                }

                                stop() {
                                exec /recalbox/share/system/stop.sh
                                }

                                case "$1" in
                                start)
                                echo "Synchronise roms and saves"
                                start
                                ;;
                                stop)
                                echo "Synchronise saves"
                                stop
                                ;;
                                esac

                              9. J'ai tapé chmod +x custom.sh

                              10. J'ai sauvegardé ces scripts sur mon serveur au même emplacement de l'arborescence pour les redéployer plus facilement (reinstall / MAJ, etc).

                              Tout fonctionne parfaitement, et mes sauvegardes se crée bien sur mon serveur, que j'ai pu ainsi récupérer grâce au même script sur mon second pi au démarrage, l'extinction est redevenu instantanée.

                              Sinon je cherche la commande inverse à 'mount -o remount,rw /' car là, si je ne me trompe pas, je laisse l'accès en écriture en permanence, et j'aimerai que ce ne soit pas le cas..

                              @+

                              ReikanYsora unik314r 2 Replies Last reply Reply Quote 0
                              • ReikanYsora
                                ReikanYsora @ReikanYsora last edited by

                                Hum.. Bon, je viens de remarquer que l’exécution du script custom.sh se fait à priori en tout dernier (alors que l'interface est déjà chargée).

                                Il est donc nécessaire de refaire un redémarrage pour avoir les nouvelles roms, je ne l'avais pas vu car pendant mes tests j'ai fait plusieurs redémarrage.
                                Il me semble qu'il y a un moyen avec les scripts SXX de init, faire la synchro du démarrage avant le chargement serait surement plus judicieux.

                                Je regarderai ça demain !

                                ReikanYsora 1 Reply Last reply Reply Quote 0
                                • ReikanYsora
                                  ReikanYsora @ReikanYsora last edited by

                                  Bon, malheureusement, je n'arrive pas à trouver comment bloquer le chargement le temps de la copie.
                                  Même en changeant l'ordre d’exécution du fichier S99custom, RecalBox se charge avant même que la copie ne soit effective (je ne suis même pas sûr que cela soit possible, si vous avez des infos à ce sujet, je suis preneur). Ce n'est pas gênant en soit mais vu qu'en mode automatique aucune notion de progression apparaît, c'est visuellement impossible sans se connecter au pi de savoir où en est la copie.

                                  En tous cas, tout fonctionne bien.

                                  Prochaine étape, transformer le répertoire de stockage en cloud afin de pouvoir synchroniser mes sauvegardes / répertoires ne n'importe où !

                                  1 Reply Last reply Reply Quote 0
                                  • unik314r
                                    unik314r @ReikanYsora last edited by unik314r

                                    @ReikanYsora said in Lenteur à l'extinction depuis paramétrage réseau:
                                    Je suppose que

                                    mount -o remount,r /

                                    devrait suffire (rw = read + write // r = read uniquement)

                                    Pour ton pb d'EmulationStation qui se charge avant la fin éventuelle de la copie, essaie de mettre, après la commande rsync (après ton start.sh)

                                    /etc/init.d/S31emulationstation restart
                                    ou
                                    /etc/init.d/S31emulationstation stop && sleep 5 && /etc/init.d/S31emulationstation start

                                    Genre:

                                    start() {
                                    exec /recalbox/share/system/start.sh
                                    /etc/init.d/S31emulationstation restart
                                    }

                                    --> ça redémarrera ES après la commande rsync
                                    C'est un peu crade, mais si ça fonctionne...

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Want to support us ?

                                    98
                                    Online

                                    98.7k
                                    Users

                                    28.1k
                                    Topics

                                    187.0k
                                    Posts

                                    Copyright © 2021 recalbox.com