はじめに
Android端末をインターネット接続のないWi-Fiアクセスポイントに接続しようとして、接続・切断を繰り返して安定しないという現象に遭遇し、ワークアラウンドを見つけたので紹介します。
環境
ある試験のため、SIMなしAndroid端末をインターネット接続のないクローズドなLAN環境にWi-Fi接続しようとしました。アクセスポイントのSSIDを選択してパスワードを入れると、一旦接続されるのですが数秒後に切断され、その後接続・切断を繰り返して接続が完了しません。
環境を簡単に書くと、
Buffalo Wi-Fiルータ 192.168.1.1(ブリッジモードでDHCPサーバ兼用)
+-Windows10 PC(Wi-Fi接続 or 有線接続どちらでも)
+-Android端末(SIMなし、Android 12 or 13どちらでも)複数機種で再現
Android端末をインターネットにアクセスできない環境で使うというのは特殊な状況と思いますが、電波暗室で測定したいとか、工場内でクローズド環境で工具として使いたいとか、そんな場面があると思います。
ちなみに、同じ環境でiPhoneならば素直に接続できます。
ワークアラウンド
上記の環境に、Linuxサーバー(AlmaLinux8.6)を追加したところ、Android端末がWi-Fiに接続したのち「このWi-Fiはインターネット接続がないけどつないでいい?」みたいなメッセージが出て、OKすると安定して接続が確立しました。
考察(未完)
AndroidOSはインターネット接続があるかどうか何かのパケットで見ているのでは、と推測し、確認のためにLinuxのサービスをいくつか停止してみましたが絞り込めませんでした。(当初DNSだろうと推測した)
DNS/NTP/Samba/FTPあたりは空振りで、それらが止まっていてもLinuxPCがつながっていればAndroidのWi-Fi接続が安定します。どういう条件で判断しているかご存じの方、ご教授いただければ幸いです。