cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, sciences et coups de gueule…]

Menu
đŸ˜€ Ce billet a Ă©tĂ© Ă©ditĂ© le : 2024-09-30

On tente de rĂ©soudre les problĂšmes de connexion avec scrcpy en WIFI, ce billet complĂšte l’article : đŸ“± Partage d’écran Android : « scrcpy »


ඏ

Ce billet a Ă©tĂ© initialement Ă©crit pour la version 1.21 de scrcpy. En 2024, scrcpy est en version 1.25 et les messages d’erreurs sont beaucoup moins ambiguĂ«s ce qui devrait rendre beaucoup simple la rĂ©solution de vos problĂšmes.

Erreur : « Connection refused »

Supposons que l’IP de votre smartphone sur votre local soit : 192.168.1.73

scrcpy --tcpip=192.168.1.73

Et que cela vous affiche l’erreur suivante :

scrcpy 1.21 <https://github.com/Genymobile/scrcpy>
failed to connect to '192.168.1.73:5555': Connection refused
ERROR: Could not connect to 192.168.1.73:5555
ERROR: Server connection failed
  • En premier lieu, il faut vĂ©rifier que l’ordinateur et le smartphone soient sur le mĂȘme rĂ©seau (typiquement le rĂ©seau de votre domicile).
  • Ensuite vĂ©rifier que le rĂ©seau WIFI est autorisĂ© pour le dĂ©bogage sans fil (Utiliser la recherche pour trouver l’option). En effet, par dĂ©faut ce droit expire dans un dĂ©lai de 7 jours.

Sur votre appareil Android, allez dans les paramÚtres : « WIFI » / « SSID_de_votre_réseau »

Pour votre Linux, vous pouvez utiliser (voir 🎓 Exemples prĂȘts Ă  l’emploi avec la commande « ip »:

ip -4 --json addr show | jq 'map( select( .flags | index("LOOPBACK") | not ) | select( .flags | index( "UP") ) | .addr_info[].local )'

Une fois ces points vĂ©rifiĂ©s, il faut s’assurer que la commande adb de votre Linux soit adaptĂ©e Ă  votre appareil Android.

Sur votre Linux, utilisez :

adb version

Ici, il s’agit de la version disponible dans les dĂ©pĂŽts Debian au moment de l’écriture de ce billet.

Android Debug Bridge version 1.0.41
Version 28.0.2-debian
Installed as /usr/lib/android-sdk/platform-tools/adb

Dans l’exemple ci-dessus, on a un smartphone sous Android 12, hors depuis Android 11 le dĂ©bogage en WIFI nĂ©cessite l’utilisation de clĂ© de chiffrement. Hors ici la version 28.0.2 du SDK ne supporte pas la gestion des clĂ©s. La solution va donc passer par une mise Ă  jour du SDK sur l’ordinateur.

Si vous avez une version infĂ©rieure Ă  Android 11, rebrancher le cĂąble USB pour faire votre premier appairage, en effet l’échange de clĂ© se fait via USB sur les anciennes versions.

Exécutez :

adb tcpip 5555

puis relancer scrcpy :

scrcpy --tcpip=192.168.1.73 # Adaptez Ă  votre IP

ඏ

Conflit avec certaines applications

Les applications de type VPN ont comme mission de dĂ©tourner le trafic rĂ©seau et par nature empĂȘcheront le fonctionnement du dĂ©bogage sans fil.

Certaines applications servant Ă  protĂ©ger votre tĂ©lĂ©phone, comme les bloqueurs de publicitĂ©, se comporte exactement comme un VPN en redirigeant le trafic rĂ©seau vers un service d’analyse pour bloquer l’accĂšs aux sites non dĂ©sirĂ©s.

Vous devrez dĂ©sactiver ce type d’application pour permettre le fonctionnement du dĂ©bogage sans fil, et donc permettre l’utilisation de scrcpy en mode WIFI.

  • Exemple avec Blokada

    L'exemple reste pertinant mais notez que l'application Blokada n'est plus disponible aujourd'hui, et elle ne doit plus ĂȘtre utilisĂ©e.

    On constate que l’IP pour le dĂ©bogage sans fil est 203.0.113.1 : Il s’agit certes d’une adresse IP rĂ©servĂ©e pour les rĂ©seaux locaux, mais ce n’est pas une IP habituelle. Cela trahi la prĂ©sence probable d’un logiciel qui intercepte le trafic rĂ©seau (Ă©ventuellement un logiciel qui vous espionne, mais cela peut ĂȘtre Ă©galement un logiciel qui vous protĂšge).

    Exemple d’adresse IP non valide

    Ici le coupable Ă©tait Blokada, une application Android pour limiter la publicitĂ© et le « tracking ». Qu’il suffit de dĂ©sactiver lors de l’utilisation de scrcpy.

    DĂ©sactiver Blokada

ඏ

Installation d’un SDK rĂ©cent et utilisation avec « scrcpy »

Pour Android 11 ou plus, vous aurez besoin au minimum de la version 30.0.0 du SDK.

Suivez ce lien pou la derniĂšre version de SDK Platform Tools.

Pour la suite nous supposerons que vous avez mis le contenu de l’archive dans le dossier ~/Apps/platform-tools_r34.0.4-linux.

Avant la premiĂšre connexion, les appareils doivent ĂȘtre appairĂ©s :

Rendez-vous dans la section des paramÚtres intitulée : « Débogage sans fil »

débogage sans fil avant activation

Vous devrez autoriser l’utilisation du rĂ©seau WIFI, afin que le dĂ©bogage ne soit actif que sur des rĂ©seaux de confiance.

débogage sans fil autorisation du réseau WIFI

AprĂšs l’activation, vous devez rĂ©cupĂ©rer les informations nĂ©cessaires Ă  l’appairage.

Pour cela on utilise l’entrĂ©e « Associer un appareil avec un code d’association »

DĂ©bogage sans fil aprĂšs activation

Les valeurs de cette boite de dialogue sont temporaires, Ă  part l’adresse IP, il n’est pas nĂ©cessaire de conserver ces valeurs aprĂšs l’exĂ©cution de la commande adb pair.

débogage sans fil association/pairing
  • IP_DU_SMARTPHONE: 192.168.1.73
  • PORT_D_ASSOCIATION: 39035 (valeur temporaire)
  • CODE_D_ASSOCIATION: 246911 (valeur temporaire)

Pour effectuer l’appairage, il faut utiliser une version rĂ©cente du programme adb avec la commande pair comme suit :

adb pair IP_DU_SMARTPHONE:PORT_D_ASSOCIATION CODE_D_ASSOCIATION

Assurez-vous d’utiliser la bonne version d'adb, Ă©ventuellement en utilisant le chemin complet vers l’exĂ©cutable.

cd ~/Apps/platform-tools_r34.0.4-linux  # On se met dans le bon répertoire
./adb pair 192.168.1.73:39035 246911    # On utilise le chemin relatif `./` pour forcer
                                        # l’utilisation de la commande prĂ©sente dans ce rĂ©pertoire.

En cas d’échec exĂ©cutez :

adb kill-server

Et relancer la commande adb pair.

Pour effectuer la connexion, vous devez vĂ©rifier le port qui a Ă©tĂ© attribuĂ© (Ă  priori l’adresse IP reste la mĂȘme) :

DĂ©bogage sans fil apres activation

Rappel dans cet exemple le dossier ~/Apps/platform-tools_r34.0.4-linux correspond Ă  la « bonne » version du SDK, il suffit alors d’exĂ©cuter :

ADB="${HOME}/Apps/platform-tools_r34.0.4-linux/adb" scrcpy --tcpip=192.168.1.73:37397

Le numéro de port changera à chaque fois que le débogage sans fil sera désactivé, puis réactivé.


ඏ

Liens

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog