J'ai affaire à un Raspberry Pi 3 qui utilise hostapd pour créer son propre réseau sans fil.
Lorsqu'un client Android se connecte pour la première fois au réseau, il essaie de saisir la page http://connectivitycheck.gstatic.com/generate_204
pour voir si c'est derrière un portail client. Mon Raspberry Pi redirige cette requête vers une instance de nginx qu'il exécute, et renvoie une redirection 302 vers ma page de connexion.
Comme Android n'a pas reçu la réponse qu'il attendait (un HTTP 204), mais un 302 à la place, d'après ce que j'ai compris, il est censé faire apparaître ma page de connexion. J'ai vu cela en action en utilisant d'autres matériels de portail captif.
Dans mon cas, Android affiche simplement une fenêtre contextuelle indiquant "Internet peut ne pas être disponible : Connectez-vous à un autre réseau ou activez l'option Passer aux données mobiles".
Est-ce que je fais quelque chose de mal ? Y a-t-il quelque chose de spécifique qu'Android recherche dans la page de connexion avant de la faire apparaître ?
La plupart de mes tests sont effectués sur mon Galaxy S8. Je l'ai essayé sur le S9 d'un ami, et cela ne fonctionne pas non plus. Avec un ordinateur portable Windows 10, la page de connexion s'affiche.