久々のQWERTYキーボード端末「Unihertz Titan Pocket」を買ったよ – 2 – (未解決)WiFiの不調を調査する


2022/12/04追記
アクセスポイントを入れ替えたらぱったり発生しなくなりましたorz
Meraki Go GR12にリプレイスした&IPoEルータをUNIVERGE IX2106にリプレイスした!
———

ども。こんばんは。

先日届いたUnihertzのTitan Pocketですが、とにかくWiFI(無線LAN)の調子が悪いです。

まだ調査中ですが、一回記事にします。
最後まで読んで頂いても、おいらなりの調査方法が書いてあるだけで、解決策はありません・・・
一緒に調査してくる方募集ですm(_ _)m

頻繁に切れるというか、切断され、インターネット接続がなくなります。
ネット上でも一部のユーザで発生している模様です。
おいらの調べた感じ共通点はなさそう?
まだ、不具合なのか環境の問題なのか、なんかの相性問題なのかも切り分けできていません。

■現状わかっていること

今手元でわかっていることはこんな感じです。(推測含む)

  • おいらはSIMは未挿入
  • 2.4GHz/5GHz両方で発生しているらしい
    • 手元では2.4GHzは未テスト
  • APはCiscoとArubaを試したが両方で発生(それぞれチャネルも違うし、WPA2パーソナル、WPA2エンタープライズ(PEAP/MSCHAPv2))
  • 何もしてない?と起きないが、通信を発生させると顕著に発生
    • 今の所個人的に再現性が一番高いのがYouTubeアプリ
      • ほぼ100%近いくらいの印象でYouTubeアプリを起動するとWiFiが切れる。
        その後スッとつながるときもあればそうでもないときも
    • Google ChromeやGoogle Map、Google Photoとか、SpeedTet(ooklaの)でも起きるっぽい。
      なんとなく、おとなしくしてればいいけど、ちょっとでも派手に通信すると切れるっぽい。

これは正直使い物にならんのですよね(#^ω^)

よろしい、ならばデバッグだ。

■macOSで一番簡単にadbを動かす

Androidをデバッグするならやはりadbを使う必要がありますね。
今回一番簡単な方法として、「SDK Platform-Tools」をダウンロードして使いました。
※macOSはBig Sur 11.5.2です。

SDK Platform-Tools
https://developer.android.com/studio/releases/platform-tools?hl=ja

上記リンクからmacOS用のzipをダウンロードして展開するだけ。
パスなんて通さなくても直接実行してやればok。

Android側の開発者モードの有効化とかUSBデバッグの説明は省きますが、すぐに動かせます。(最近はWiFi経由でもadbが使えるらしい)

■WiFiの詳細ログを出力する

開発者オプションから「WiFi 詳細ログの有効化」にチェックを入れます。

そうすると、ログに色々でる&WiFiの設定画面に詳細が追加されます。

■ログを見る(adb logcat)

とりあえずまぁ再現させてログを見ないと始まらない!ということで、再現テストの準備をします。

通信が切れたことをすぐに知るために、「Ping Monitor」っていうアプリでPingを打っています。(アプリは何でもいいと思いますが、Pingの時刻が出てくれるので今回はこのアプリを使っています。)

さて、準備ができたら、Pingを打ちっぱなしにして、まず正常に通信できていることを確認したら、adb logcatします。(shellで入ってlogcatしてもよいです)

で、YouTubeとかを開くと、上の画像の様にPingがとまります。
再現完了。logcatを止めてここからログの調査です。

しかーし。全然原因がつかめない。

なんとなくわかってきたのは、よくわからんけど、誰かがWiFiを無効化してしまってる?もしくは急にScanのリクエストを出している?

あと、「taoqiong_wifi_log: wifi name:”SSID”,is5GWifi:true」っていう多分Unihertzのなにか?のログが定期的に出ていて、これのSSIDが「<unknown ssid>」になるみたい。

あと「E WifiVendorHal: getWifiLinkLayerStats_1_3_Internal(l.973) failed {.code = ERROR_NOT_SUPPORTED, .description = }」っていうログが出始めるきがするなー。

以下ログ。ちなみに量が多いので、「 egrep -i “wifi|wpa_supplicant”」しています。(ザーッと眺めましたが多分これで必要なものは拾えてる・・・と思う。)


09-04 19:51:37.004  4244  4325 V WifiPickerTracker: Scanner start
09-04 19:51:37.004  1341  4496 I WifiService: startScan uid=1000
09-04 19:51:37.004  1341  7648 I WifiService: getWifiEnabledState uid=1000
09-04 19:51:37.005  1341  1458 D WifiHandler.WifiScanningService: handleMessage Received message=159765 sendingUid=1000
09-04 19:51:37.005  1341  4496 I WifiService: getWifiEnabledState uid=1000
09-04 19:51:37.005  1341  4496 I WifiService: getScanResults uid=1000
09-04 19:51:37.005  1341  7648 I WifiService: getWifiEnabledState uid=1000
09-04 19:51:37.005  1341  1458 D WifiScanningService: replySucceeded replySucceeded recvdMessage=159765
09-04 19:51:37.006  1341  1452 D WifiScanRequestProxy: Scan request succeeded
09-04 19:51:37.008  1341  4496 I WifiService: getSupportedFeatures uid=1000
09-04 19:51:37.009  1341  4496 D WifiAsyncChannel.WifiService: sendMessageSynchronously sendMessageSynchronously.send message=131133
09-04 19:51:37.009  4244  4244 V PhoneWindow: DecorView setVisiblity: visibility = 0, Parent = android.view.ViewRootImpl@e8a5b65, this = DecorView@9deff2e[Settings$WifiSettings2Activity]
09-04 19:51:37.009  1341  1452 D WifiClientModeImpl:  DefaultState CMD_GET_SUPPORTED_FEATURES screen=on uid=1000 0 0
09-04 19:51:37.009  4244  4244 I taoqiong_back_press: onResume getComponentName().getClassName():com.android.settings.Settings$WifiSettings2Activity
09-04 19:51:37.009  1341  4496 D WifiAsyncChannel.WifiService: sendMessageSynchronously sendMessageSynchronously.recv message=131133 sendingUid=1000
09-04 19:51:37.012  1529  1529 D wpa_supplicant: nl80211: Ignored event 33 (NL80211_CMD_TRIGGER_SCAN) for foreign interface (ifindex 32 wdev 0x0)
09-04 19:51:37.012  1529  1529 D wpa_supplicant: nl80211: Drv Event 33 (NL80211_CMD_TRIGGER_SCAN) received for wlan0
09-04 19:51:37.012  1529  1529 D wpa_supplicant: wlan0: nl80211: Scan trigger
09-04 19:51:37.012  1529  1529 D wpa_supplicant: wlan0: Event SCAN_STARTED (47) received
09-04 19:51:37.012  1529  1529 D wpa_supplicant: wlan0: External program started a scan
09-04 19:51:37.013  1341  4496 I WifiService: getSupportedFeatures uid=1000
09-04 19:51:37.013  1341  4496 D WifiAsyncChannel.WifiService: sendMessageSynchronously sendMessageSynchronously.send message=131133

 うーん、わからん!
なんか勝手なイメージですが、通信発生させてWiFI関係のドライバがハング?するのか、バッファが溢れる?みたいな感じで強制的に誰かがWiFiにつなぎ直してる?

これだ!っていうログが見つからないんですよね。。

■MTKLOGを見てみる

logcatには出ない何かがあるのかも?と思って更に深いログを追いかけてみます。TitanPocketにはMediaTekのSoCが乗っていますが、MTKLogというデバッグツールがあるようです。

起動の仕方は2つあって、1つめは、(おそらく)UnihertzのFactoryTestツールを立ち上げる方法

電話を起動して「*#*#3377#*#*」をダイヤルします。
※スクリーンショットは最後の「*」を押す前。

なんかスクリーンショットが許可されてないようですがこういうのが立ち上がりますので、「MTKLOG」をタップします。

2つめ方法は、MTK Engineering Modeを起動する方法です。
「*#*#34635280#*#*」をダイヤルします。(前モデルのTitanの情報を参考にしました。
起動したらスワイプして「Logging and Debugging」の「DebugLoggerUI」をタップして起動します。

さて、「DebugLoggerUI」を起動するとこんなのが立ち上がります。

あとは再生ボタンを押すだけでログの出力が開始されます。

ログは「/storage/self/primary/debuglogger」に記録されます。
※複数回実行してもちゃんとディレクトリが分けられます。

adbつないでるのでshellに入ればmoreやらgrepやらも使えるので比較的調べやすいですかね。


drwxrwx--- 3 root everybody 4096 2021-09-04 17:28 connsyslog
-rw-rw---- 1 root everybody 6484 2021-09-04 18:31 file_tree.txt
drwxrwx--- 5 root everybody 4096 2021-09-04 17:55 mdlog1
drwxrwx--- 2 root everybody 4096 2021-09-04 17:28 mdlog1_config
drwxrwx--- 4 root everybody 4096 2021-09-04 17:55 mobilelog
drwxrwx--- 4 root everybody 4096 2021-09-04 17:55 netlog

 
で、まぁ、ざーっと見た感じ、mobilelogの中の「APLog_yyyy_mmdd_hhmmss__1」の中が本丸かなぁ。netlogもかなぁ。

APLogの中はこんな感じ。

 


atf_log_7__2021_0904_183125     main_log_1__2021_0904_183125
bootprof                        mblog_history
bsp_log_8__2021_0904_183125     pl_lk
crash_log_5__2021_0904_183125   properties
events_log_3__2021_0904_183125  radio_log_2__2021_0904_183125
kernel_log_6__2021_0904_183125  scp_log_9__2021_0904_183125
last_AndroidLog                 sspm_log_10__2021_0904_183125
last_kmsg                       sys_log_4__2021_0904_183125

 
んー。radio_logとかも怪しいか?main_logはlogcatで見れるのとほぼ同じっぽい?
あと、再生ボタンを押している間はニアリアルタイムに書き込まれるぽいです。(30秒ごとくらいでガバっと書き込まれる?拡張子は.curfだったかな)

ちなみにファイルとしても見えるので、どっかに転送したりもできると思います。

終わったら止めましょう。
止めたタイミングで生成されるファイルもあります。

 

でまぁしばらく調べてたんですが、
特にこれといった原因に直結しそうなログが見つけられない\(^o^)/

無理だなこれ。

Unihertzのサポートに投げるかなー。。。
とりあえずなにかまたわかったことがあれば記事にしたいと思いますが、半ば心は折れていますorz

ではでは。またの機会に。

「久々のQWERTYキーボード端末「Unihertz Titan Pocket」を買ったよ – 2 – (未解決)WiFiの不調を調査する」への10件のフィードバック

  1. 1台のAPで、2.4GHzと5GHzを両方使っている場合に発生するのではという情報がありました。
    残念ながらこちらの環境ではAPを5GHzオンリーにしても改善しませんでした…

  2. 自分も似たような症状があります。
    WPA2 Personalだと安定した気がします。
    (まだ様子見中ですが)

  3. >匿名さん
    コメントありがとうございます。
    なるほど。。うちはそもそもAPがWPA3未対応ですね。
    一台のAPはWPAパーソナル、もう一台はWPAエンタープライズですが、どちらも同じ症状が出ています。

  4. WiFiのデュアル/クワッドチャネルをやめて20MHzに落としたら5Ghz帯が安定したとの情報がありましたが、うちでは改善しませんでした。
    それぞれ違う事象が起きているのかもしれませんね。
    まいった。

  5. WiFiが安定している方は、WiFiのチャネルがW52(5.2GHz)だという情報あり。
    テストしたところ、W52(48ch)でもW53(52ch)でも変わらずorz
    もっと細かく全チャネルテストしたほうがいいのかな・・・・

  6. 改めて2.4GHzでは安定するという情報があり手元でテスト。
    11chを利用。WPA2。結果やはりYouTubeアプリ起動で速攻で切断されたorz

  7. 色々追加で切り分けしました。
    正直ちょっともうよくわからんくなってきた…

    結局のところ2.4GHzと5GHzが混在かつ何かプラスアルファの条件で発生する模様。
    ※2台あるうちの1台では混在させても問題ない模様…

    ただし、1度調子の悪くなるAP(2.4GHz/5GHz混在)につないで不具合が起きると、5GHzオンリーなAPにつないでも同じ問題が起きる模様(これのせいで切り分けがややこしくなった?)

    混在しているAPの設定を削除して、更に再起動すれば、5GHzオンリーのAPでも今の所切れることはなさそう。

    よくわからんorz

  8. その後は安定しています。

    2021/09/23に配信された、
    Titan_pocket_20210326_20210918-1816
    にアップデートしましたが、改善はされていませんでした。
    ※そもそも修正内容にWiFi関連はなしなのでもとも期待薄です。

    で、テストのためにもとの2.4GHz/5GHz混在APにつなぎましたが再発。
    うまく接続できている5GHzオンリーのAPに接続してもやはり再発で、↑のコメントの通り混在APの設定を削除して再起動したら再発しなくなりました。

  9. 電池の最適化の設定ではないですか?私もWiFi切れまくっていたのでWiFiやネットワークとなのつくファイルを4つ位最適化しない設定にしたら安定しました。どのファイルが効いたのかは不明です。

  10. りゅうさん>
    返信が大変遅くなってしまい申し訳ありません。
    最適化外してみたんですがなかなか改善せず。。でしたorz

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください