Recalbox Forum

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

    Ping/SSH - Rasberry Pi 4 - Le Wifi ne fonctionne que si le câble Ethernet est branché

    Recalbox Général
    pingssh rasberry wifi que câble ethernet branché
    2
    16
    1371
    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.
    • Toto 0
      Toto 0 last edited by

      Bonjour,

      J'ai depuis quelques temps Recalbox (7.2.2-RELOADED) sur un Raspberry Pi 4 2GB.

      Tout fonctionne bien sauf le wifi qui curieusement ne se met à fonctionner QUE lorque le câble ethernet est branché (oui je sais ça a l'air dingue).

      Il est pourtant bien configuré comme indiqué dans la doc, dans le fichier recalbox.conf avec les paramètres wifi.ip, wifi.gateway et wifi.netmask.

      Si le câble n'est pas branché (au boot ou bien après) pas de SSH et même pas de ping. S'il est branché le wifi fonctionne bien.

      J'ai trouvé plusieurs posts (hors Recalbox) sur le sujet (par ex ici) mais rien de très concluant d'autant plus que de part la conception de l'OS Recalbox (Linux from Scratch ?) les "solutions" ne sont pas toutes applicables (ex : pas de OpenSSH mais Dropbear, etc...).

      Curieusement rien sur ce forum hormis ce post de 2016 resté sans réponse.

      Le problème semble être +/- lié au fait que le Wifi n'est pas prioritaire et/ou déclaré en 1er dans la config réseau. J'ai réussi à faire marchotter le truc en utilisant la méthode ancienne décrite dans la doc à savoir l'utilisation d'un fichier etc/network/interfaces.base dans lequel le met l'interface Wifi en première position.

      auto wlan0
      allow-hotplug wlan0
      iface wlan0 inet static
      address 192.168.1.16
      network 192.168.1.0
      netmask 255.255.255.0
      broadcast 192.168.1.255
      gateway 192.168.1.254
      
      auto eth0
      iface eth0 inet static
      address 192.168.1.15
      network 192.168.1.0
      netmask 255.255.255.0
      

      Cela semblait marcher mais au bout d'un temps (je ne vérifie pas systématiquement que le wifi fonctionne) le fichier a disparu, peut être à cause du dernier system update.

      J'ai vaguement scripté le truc mais pour recréer automatiquement le fichier /etc/network/interfaces.base au boot (/etc/init.d/) avant lancement du réseau mais pour une raison que j'ignore même si le fichier /etc/network/interfaces.base est présent le Wifi ne marche pas sans le câble.

      N'utilisant que du très très standard (Raspberry Pi...) j'ai peine à croire que je suis le seul dans cette situation (ou alors tout le monde utilise RB en ethernet).

      Je suis preneur de toute suggestion.
      Merci.
      T.

      davidb2111 1 Reply Last reply Reply Quote 0
      • davidb2111
        davidb2111 Staff @Toto 0 last edited by

        Bonjour @toto-0

        As-tu une raison particulière de forcer l'adresse IP sur l'interface wifi?
        Personnellement, je configure:

        • wifi.enabled=1
        • wifi.ssid=MonRezoWifi
        • wifi.key=m0n_super_passw0rd

        dans le fichier de config recalbox.conf (share:system/recalbox.conf). Si tu le fais offline (=carte SD dans le PC), je te conseille de modifier le fichier recalbox-backup.conf de la partition RECALBOX. C'est ce fichier qui est utilisé pour monter le wifi au boot.

        David

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

          Bonjour David,
          Merci pour ta réponse. Effectivement l'IP fixe est mise par commodité (SSH...) et aussi par habitude. Je pourrais la fixer au niveau du DHCP. Je vais essayer ceci.
          Suite à ce post j'ai refais pas mal de tests et j'ai aussi constaté que parfois cela fonctionnait correctement. J'ai l'impression que cela dépend +/- du boot, peut être un ordre de démarrage des interfaces, je ne sais pas trop.
          Merci.
          T.

          davidb2111 1 Reply Last reply Reply Quote 0
          • davidb2111
            davidb2111 Staff @Toto 0 last edited by

            Bonsoir @toto-0

            Il y avait bien un bug dans la configuration. Ça sera résolu dans la prochaine version en ajoutant la configuration suivante:

            wifi.nameservers=1.1.1.1
            

            (1.1.1.1 peut être remplacé par l'ip du serveur DNS de votre préférence)

            David

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

              Bonjour David.

              Merci pour l'info. Je ne crois malheureusement pas que cela soit le problème que je rencontre, J'utilise l'IP directement (ie pas de requête DNS) pour me connecter en SSH (d'ou le fait de l'avoir mis en statique).
              Comme suggéré j'ai testé sans la fixer moi même (mise en commentaires des paramètres wifi.ip, wifi.gateway et wifi.netmask) et obtention de l'IP souhaitée juste avec une règle DHCP sur ma box : même problème. L'interface Wifi ne répond quasi jamais si je ne branche pas le câble Ethernet.

              T.

              davidb2111 1 Reply Last reply Reply Quote 0
              • davidb2111
                davidb2111 Staff @Toto 0 last edited by

                Bonjour @toto-0

                Il semble qu'il y ait un problème dans la configuration de votre installation wifi/ethernet.
                J'ai nombre de machines en wifi et la connexion fonctionne. Le fait de brancher le cable ethernet ne va pas faire fonctionner le wifi par magie. Il y a certainement quelque à vérifier:
                Est-ce que le wifi et l'ethernet sont dans le même plan réseau?

                Si vous vous connecter en ethernet, vérifier l'adresse de l'interface wifi avec la commande ifconfig

                David

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

                  Bonjour David,

                  Oui, les 2 interfaces sont sur le même sous-réseau (192.168.1.0/24) :

                  # ifconfig
                  eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
                            inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0
                            ...
                  
                  wlan0     Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX    
                            inet addr:192.168.1.16  Bcast:192.168.1.255  Mask:255.255.255.0
                            ...
                  

                  J'ai effectivement lu quelque part que cela pouvait poser problème, de mémoire le trafic destiné à ce réseau était routé par eth0 uniquement etc...
                  En regardant le routage je vois bien que eth0 est indiqué comme interface pour router le trafic :

                  # route -n
                  Kernel IP routing table
                  Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
                  0.0.0.0         192.168.1.1     0.0.0.0         UG    400    0        0 eth0
                  192.168.1.0     0.0.0.0         255.255.255.0   U     400    0        0 eth0
                  

                  Je pourrais essayer de configurer wlan0 à la place mais j'ai peur de perdre la capacité à me reconnecter en Ethernet en cas de problème.
                  Sur d'autres installations vous pouvez vous connecter en Ethernet et Wifi comme bon vous semble (ie juste en rebranchant le câble) ?

                  Merci.
                  T.

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

                    En regardant la table de routage d'un autre Pi (Raspbian) je vois que les routes sont doublées pour chaque interface et avec des poids différents :

                    sudo route -n
                    Table de routage IP du noyau
                    Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
                    0.0.0.0         192.168.1.1     0.0.0.0         UG    202    0        0 eth0
                    0.0.0.0         192.168.1.1     0.0.0.0         UG    303    0        0 wlan0
                    192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0
                    192.168.1.0     0.0.0.0         255.255.255.0   U     303    0        0 wlan0
                    

                    Je vais creuser ça.

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

                      Bonjour,

                      Pour pouvoir comparer avec une install dont le wifi fonctionne bien j'aurais besoin du résultat de ces commandes SVP :

                      # route -n
                      
                      # cat /etc/dhcpcd.conf
                      

                      Merci.
                      T.

                      davidb2111 1 Reply Last reply Reply Quote 0
                      • davidb2111
                        davidb2111 Staff @Toto 0 last edited by

                        @toto-0
                        voici:

                        Kernel IP routing table
                        Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
                        0.0.0.0         192.168.2.254   0.0.0.0         UG    3003   0        0 wlan0
                        192.168.2.0     0.0.0.0         255.255.255.0   U     3003   0        0 wlan0
                        
                        [...]
                        # Generate SLAAC address using the Hardware Address of the interface
                        #slaac hwaddr
                        # OR generate Stable Private IPv6 Addresses based from the DUID
                        slaac private
                        interface wlan0
                        static ip_address=192.168.2.5/24
                        static routers=192.168.2.254
                        
                        Toto 0 1 Reply Last reply Reply Quote 0
                        • Toto 0
                          Toto 0 @davidb2111 last edited by

                          @davidb2111 Merci.
                          Effectivement tout est OK de ton côté pour le Wifi.
                          Comme indiqué plus haut mes routes sont configurées pour eth0 et pas wlan0.
                          De plus la fin de mon fichier /etc/dhcpd.conf ne contient que ça :

                          ...
                          slaac private
                          metric 400
                          

                          J'ai commencé à regarder le fichier /etc/init.d/S09wifi pour comprendre.
                          Je me demande si le fait d'avoir tout configuré via Ethernet au 1er boot n'a pas joué dans la config de base (vs quelqu'un qui configure le wifi sur sa carte microSD et qui n'utilise que ça).
                          Merci.

                          davidb2111 2 Replies Last reply Reply Quote 0
                          • davidb2111
                            davidb2111 Staff @Toto 0 last edited by

                            @toto-0

                            As-tu bien renseigner ces paramètres:

                            wifi.enabled=1
                            wifi.ssid=SSID
                            wifi.key=KEY
                            wifi.ip=192.168.1.2
                            wifi.netmask=255.255.255.0
                            wifi.gateway=192.168.1.1
                            
                            1 Reply Last reply Reply Quote 0
                            • davidb2111
                              davidb2111 Staff @Toto 0 last edited by

                              @toto-0
                              Pour info, dans la prochaine version, il y aura aussi

                              wifi.nameservers=1.1.1.1
                              

                              pour spécifier le serveur DNS.

                              Toto 0 1 Reply Last reply Reply Quote 0
                              • Toto 0
                                Toto 0 @davidb2111 last edited by Toto 0

                                Oui j'avais tous ces paramètres initialement.

                                J'ai fait de multiples autres tests pour essayer d'ajouter/remplacer des routes wlan0 en plus/à la place des eth0. Sans succès. Quoique je fasse elles n'étaient jamais convervées au reboot.
                                Du coup j'ai fait :

                                • une copie complète de ma carte microSD + backup du fichier recalbox.conf
                                • réinstall complète sur la carte microSD
                                • copie du fichier recalbox.conf sauvegardé vers la partition de boot et renommage en recalbox-backup.conf
                                • boot (sans câble Ethernet branché)

                                Cela semble bien. Le wifi répond et je me connecte. Parfait. Et là un route -n me donne :

                                # route -n
                                Kernel IP routing table
                                Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
                                0.0.0.0         192.168.1.1     0.0.0.0         UG    303    0        0 wlan0
                                192.168.1.0     0.0.0.0         255.255.255.0   U     303    0        0 wlan0
                                

                                Je ne sais pas trop ce qui s'est passé sur l'install précédente. Bon maintenant je pense pouvoir tout faire uniquement en wifi et oublier l'Ethernet.

                                Par contre je reboote une 2nd fois et là plus de wifi. Je démonte la carte SD et je vois le fichier recalbox-backup.conf que j'avais copié semble avoir été réinitialisé. (?). Donc la config wifi n'est plus là. J'avoue que je ne comprends pas.

                                T.

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

                                  J'ai recopié mon fichier recalbox.conf backup dans /boot ET dans /recalbox/share/system et cela semble bon maintenant.
                                  Je suppose que le fait de configurer dans l'interface a dû écraser mon fichier backup.
                                  T.

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

                                    Tout semble fonctionner correctement à présent.
                                    Merci beaucoup @davidb2111 pour ton aide précieuse. 😊
                                    T.

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

                                    Want to support us ?

                                    83
                                    Online

                                    98.7k
                                    Users

                                    28.1k
                                    Topics

                                    187.0k
                                    Posts

                                    Copyright © 2021 recalbox.com