▪問題描述
•手機無線顯示能搜到TV, 但連接時出現miracast投屏失敗
▪初步分析
•從driver log分析是TV主動斷開與手機的P2P 連接,需要結合supplicant log找下斷開的原因
▪環境
•TV+WiFi開發板一塊, Samsung Galaxy S7 edge手機一臺, TP-LINK雙頻路由一臺
▪問題分析
•從supplicant log P2P0 連接成功後的OP Channel爲5765MHz, 但此時station reconnect到5745MHz 的AP上,
出現Frequency Conflict, 導致P2P 斷連
▪結論:
•原生的wpa_supplicant形爲: 當P2P作爲GO時,station所連接AP的信道一定要與GO一致,
否則會出現信道衝突問題,supplicant會以station優生,斷開P2P連接.
•如果TV station先連接AP,TV P2P 協商作爲GO時的信道會優先選擇AP所在的信道.
•如果TV station先連接AP,TV P2P 協商作爲GC時的信道是手機所決定的,此時P2P連接並不會斷開,
只是會出現mutil channel的問題,容易引起miracast 播放花屏問題(mutil channel容易引起丟包).
▪解決方案:
1. 解決frequency conflict, 在P2P已經建立連接後,不要再做station connect的形爲,這個在android framework進行控制.
2. 解決mutil channel問題, 如果station與AP已經建立連接,那麼在p2p連接前必須先斷開station的連接
TV的產品作爲miracast sink端,一般在miracast投屏時TV不需要聯網.
•以上第2點的具體做法如下: