どんなときもWiFiの接続がよく切れるので、接続状態を監視してみた
自宅ではどんなときもWiFiを使っているのだが、接続がよく切れる。
どのような動作をしているのか統計を取るため、 自分のグローバルIPアドレスを監視するスクリプトを書いてデータを取ってみた。
スクリプト
作成したスクリプトは以下。
#!/bin/bash
IP_OLD=""
while true
do
INETIP=`dig +timeout=3 +tries=1 +noall +answer inet-ip.info | rev | cut -f1 | rev`
if [[ ${INETIP} =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
IP=`curl -m 3 --connect-timeout 3 -s -H "Host: inet-ip.info" http://${INETIP}`
else
IP=""
fi
if [[ ${IP} =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
if [[ "$IP" != "$IP_OLD" ]]; then
IP_OLD="$IP"
echo -n `date '+%Y/%m/%d %H:%M:%S'`
printf " %-15s " "$IP"
dig +timeout=3 +tries=1 -x $IP +noall +answer | grep PTR | rev | cut -f1 | rev
fi
else
if [[ "$IP_OLD" != "" ]]; then
IP_OLD=""
echo `date '+%Y/%m/%d %H:%M:%S'`" Connection Error"
fi
fi
sleep 5
done
http://inet-ip.info/
にアクセスして自分のグローバルIPアドレスを得て、逆引きして現在どのキャリアに接続しているのかを監視。
curl http://inet-ip.info
とせずに、わざわざdig
でアドレス解決をしてからIPアドレスでcurl
しているのは、
curl
のタイムアウトに関するオプション(-m 3 --connect-timeout 3
)が、DNS解決にかかる時間に効かず、
接続が切れたときcurl
のDNS解決ができずに待ち続けてしまうことを防ぐため。
これによって接続が切れたときにほぼ確実に検知できるようになった。
結果
家の窓側に固定して1週間ほど動かし続けた結果は以下の通り(いくつか改行は付加)。
2020/06/07 14:07:49 36.11.225.113 UQ036011225113.au-net.ne.jp.
2020/06/07 22:30:40 Connection Error
2020/06/07 22:30:54 126.204.162.103 om126204162103.6.openmobile.ne.jp.
2020/06/08 00:27:17 Connection Error
2020/06/08 00:32:10 126.255.181.41 om126255181041.24.openmobile.ne.jp.
2020/06/08 02:05:31 Connection Error
2020/06/08 02:05:44 133.106.73.85 133-106-73-85.mvno.rakuten.jp.
2020/06/08 02:05:52 Connection Error
2020/06/08 02:05:59 133.106.73.85 133-106-73-85.mvno.rakuten.jp.
2020/06/08 05:33:01 Connection Error
2020/06/08 05:35:48 126.200.125.73 om126200125073.15.openmobile.ne.jp.
2020/06/08 06:17:51 Connection Error
2020/06/08 06:18:12 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 14:57:33 Connection Error
2020/06/08 14:57:43 126.186.33.215
2020/06/08 14:58:05 Connection Error
2020/06/08 14:58:16 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 14:58:27 Connection Error
2020/06/08 14:58:33 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 14:58:49 Connection Error
2020/06/08 14:58:55 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 14:59:11 Connection Error
2020/06/08 14:59:22 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 14:59:27 Connection Error
2020/06/08 14:59:33 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 14:59:38 Connection Error
2020/06/08 14:59:49 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 15:00:11 Connection Error
2020/06/08 15:00:38 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 15:00:44 Connection Error
2020/06/08 15:00:49 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 15:00:55 Connection Error
2020/06/08 15:01:16 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 15:01:27 Connection Error
2020/06/08 15:01:47 126.186.33.215 om126186033215.7.openmobile.ne.jp.
2020/06/08 17:06:51 Connection Error
2020/06/08 17:07:12 126.255.107.112 om126255107112.24.openmobile.ne.jp.
2020/06/08 18:45:39 Connection Error
2020/06/08 18:46:16 126.255.129.23 om126255129023.24.openmobile.ne.jp.
2020/06/09 00:27:33 Connection Error
2020/06/09 00:32:21 126.208.146.99 om126208146099.22.openmobile.ne.jp.
2020/06/09 01:59:33 Connection Error
2020/06/09 01:59:46 133.106.67.16 133-106-67-16.mvno.rakuten.jp.
2020/06/09 05:32:57 Connection Error
2020/06/09 05:35:43 126.208.140.255 om126208140255.22.openmobile.ne.jp.
2020/06/09 06:16:30 Connection Error
2020/06/09 06:16:51 126.34.116.55 om126034116055.18.openmobile.ne.jp.
2020/06/09 06:56:03 Connection Error
2020/06/09 06:56:32 36.11.225.152 UQ036011225152.au-net.ne.jp.
2020/06/10 02:20:06 Connection Error
2020/06/10 08:03:26 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 01:23:09 Connection Error
2020/06/11 01:23:14 126.234.125.4
2020/06/11 01:23:35 Connection Error
2020/06/11 01:23:40 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 01:24:16 Connection Error
2020/06/11 01:24:21 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 01:24:57 Connection Error
2020/06/11 01:25:22 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 01:25:38 Connection Error
2020/06/11 01:25:43 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 01:25:53 Connection Error
2020/06/11 01:25:58 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 01:26:08 Connection Error
2020/06/11 01:26:19 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 02:24:24 Connection Error
2020/06/11 02:24:29 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 02:24:55 Connection Error
2020/06/11 02:25:00 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 02:25:16 Connection Error
2020/06/11 02:25:21 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/11 02:25:31 Connection Error
2020/06/11 02:25:36 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 00:05:39 Connection Error
2020/06/12 00:05:44 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 21:39:51 Connection Error
2020/06/12 21:39:56 126.234.125.4
2020/06/12 21:40:23 Connection Error
2020/06/12 21:40:28 126.234.125.4
2020/06/12 21:41:11 Connection Error
2020/06/12 21:41:17 126.234.125.4
2020/06/12 21:41:35 Connection Error
2020/06/12 21:41:46 126.234.125.4
2020/06/12 21:41:52 Connection Error
2020/06/12 21:42:08 126.234.125.4
2020/06/12 21:42:13 Connection Error
2020/06/12 21:42:18 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 21:42:50 Connection Error
2020/06/12 21:43:15 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 21:43:20 Connection Error
2020/06/12 21:43:30 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 21:43:36 Connection Error
2020/06/12 21:43:41 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 21:43:51 Connection Error
2020/06/12 21:44:06 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 22:01:07 Connection Error
2020/06/12 22:01:29 126.234.125.4
2020/06/12 22:01:41 Connection Error
2020/06/12 22:02:06 126.234.125.4
2020/06/12 22:02:21 Connection Error
2020/06/12 22:02:26 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 22:02:32 Connection Error
2020/06/12 22:02:37 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 22:02:42 Connection Error
2020/06/12 22:02:58 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 22:03:44 Connection Error
2020/06/12 22:04:14 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/12 22:34:40 Connection Error
2020/06/12 22:34:45 126.234.125.4 om126234125004.16.openmobile.ne.jp.
2020/06/13 02:23:51 Connection Error
2020/06/13 02:24:38 36.11.225.111 UQ036011225111.au-net.ne.jp.
2020/06/13 12:18:20 Connection Error
2020/06/13 12:18:33 36.11.225.111 UQ036011225111.au-net.ne.jp.
2020/06/14 02:24:39 Connection Error
2020/06/14 02:24:53 36.11.224.201 UQ036011224201.au-net.ne.jp.
2020/06/14 06:56:08 Connection Error
2020/06/14 06:56:29 126.237.40.52 om126237040052.9.openmobile.ne.jp.
2020/06/14 14:31:53 Connection Error
2020/06/14 14:32:01 126.237.40.52 om126237040052.9.openmobile.ne.jp.
なお2020/06/10 08:01に端末再起動を実施した。
考察
接続先キャリアとしては、
- KDDI(
*.au-net.ne.jp
) - 楽天MVNO(
.mvno.rakuten.jp
) ※たぶんドコモ回線 - ソフトバンク(
*.openmobile.ne.jp
)
の3キャリアが使われている。これはどんなときもWiFiの説明通り。
接続時間の合計162時間のうち、ソフトバンクが99時間、auが56時間、楽天MVNOが7時間という内訳だった。
なお接続時間の合計は162時間に対して、切断時間の合計は6時間だったので、稼働率は96%程度。
接続の持続時間、切断時間、切断時間の内AP切替にかかった時間の分布は下表。
持続時間分布 | 切断時間分布 | AP切替時間 | |
---|---|---|---|
5秒以内 | 5 | 16 | 0 |
10秒以内 | 9 | 10 | 0 |
30秒以内 | 15 | 25 | 9 |
1分以内 | 5 | 3 | 2 |
5分以内 | 0 | 4 | 4 |
10分以内 | 0 | 0 | 0 |
30分以内 | 1 | 0 | 0 |
1時間以内 | 5 | 0 | 0 |
2時間以内 | 4 | 0 | 0 |
5時間以内 | 5 | 0 | 0 |
10時間以内 | 5 | 1 | 1 |
20時間以内 | 3 | 0 | 0 |
20時間以上 | 2 | 0 | 0 |
接続の持続時間は、接続が安定せず同じAPに何度もつなぎ直す場合の1分以内と、安定する1時間以上に別れる結果となった。
最長の接続持続時間は約22時間だったが、接続が安定しているときでも1時間から10時間で切断される 。
この間隔で回線が一時的に切断され、このときにダウンロードやWeb会議をしていると中断される。
なお、20時間接続が持続した時の1回は、その後6時間近く接続できず、端末の再起動が必要になった。
AP切替を伴わない切断時はほぼ1分以内に回復する 一方、 AP切替時は再接続まで1〜5分間かかる。
WiMAX 2+ではこのような事象はめったに発生せず数日間は同じ接続が維持されるので、 固定回線の代替としては厳しい 、というのが結論か。