本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種在Android系統(tǒng)的手機(jī)上實(shí)現(xiàn)無(wú)線WiFi同時(shí)支持雙工作模式的方法。
背景技術(shù):
目前Android手機(jī)WiFi工作模式,是單一工作,當(dāng)工作在Station模式(無(wú)線工作站模式,能連接到無(wú)線AP(Access Point))下,就不能工作SoftAP模式(無(wú)線AP工作模式,允許Station連接,充當(dāng)無(wú)線AP),反之也是。在一些用戶場(chǎng)景下,單工作模式無(wú)法滿足用戶的一些需求和體驗(yàn)。比如某Android手機(jī)用戶,能通過(guò)WiFi station連接到運(yùn)營(yíng)商WiFi網(wǎng)絡(luò),這時(shí)只有該用戶能體驗(yàn)運(yùn)營(yíng)商WiFi資源上網(wǎng),如果能同時(shí)通過(guò)SoftAP的方式共享給其他用戶,其他用戶通過(guò)Station方式連接到該用戶手機(jī),再共享運(yùn)營(yíng)商WiFi資源上網(wǎng),將是很好的應(yīng)用和用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明提供一種在Android系統(tǒng)上實(shí)現(xiàn)WiFi同時(shí)支持雙工作模式(Station和SoftAP)的方法,應(yīng)用于一些用戶使用場(chǎng)景。
技術(shù)方案:為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用如下技術(shù)方案:
一種Android上實(shí)現(xiàn)無(wú)線WiFi雙工作模式的方法,選擇能同時(shí)支持Station和SoftAP的無(wú)線芯片替代Android手機(jī)單一模式的無(wú)線芯片,在Android系統(tǒng)中創(chuàng)建兩個(gè)WLAN接口分別作為Station模式和SoftAP模式,兩個(gè)接口之間通過(guò)橋接實(shí)現(xiàn)數(shù)據(jù)通信。
在具體的實(shí)施方式中,該方法包括如下步驟:
(1)選擇能同時(shí)支持Station和SoftAP的無(wú)線芯片安裝到Android系統(tǒng)手機(jī)上,并增加該芯片驅(qū)動(dòng)到Android系統(tǒng)中;
(2)增加WiFi雙模式邏輯并修改系統(tǒng)WiFi服務(wù)相關(guān)配置,使得系統(tǒng)中具備兩個(gè)WLAN接口,一個(gè)用作Station模式,一個(gè)用作SoftAP模式,兩個(gè)接口通過(guò)橋接實(shí)現(xiàn)相互之間的數(shù)據(jù)通信;
(3)增加用戶配置接口,用于雙模式配置;
(4)在用戶連接上運(yùn)營(yíng)商WiFi并共享運(yùn)營(yíng)商WiFi后,其他用戶可通過(guò)運(yùn)營(yíng)商WiFi上網(wǎng)。
所述能同時(shí)支持Station和SoftAP的無(wú)線芯片分別支持2.4G和5G無(wú)線帶寬,Station模式工作在2.4G,SoftAP模式工作在5G,或者Station模式工作在5G,SoftAP模式工作在2.4G。
所述用戶配置接口包括配置本地共享SoftAP的SSID名稱、加密方式和密碼。
在通過(guò)本發(fā)明方法實(shí)現(xiàn)了支持WiFi雙工作模式的Android智能手機(jī)上,用戶可以通過(guò)如下方法實(shí)現(xiàn)WiFi共享:
1.用戶在Android的settings->WiFi上找到運(yùn)營(yíng)商WiFi節(jié)點(diǎn)(假設(shè)2.4G),通過(guò)用戶名連接上。
2.選擇高級(jí)選項(xiàng),共享運(yùn)營(yíng)商WiFi。
3.填寫共享SoftAP(5G)的SSID名字(比如12345xxx),加密方式和密碼,然后共享。
4.其他用戶在WiFi里面能搜尋到12345xxx,填入密碼,連接到SoftAP。
5.該用戶和其他用戶都可以通過(guò)運(yùn)營(yíng)商WiFi節(jié)點(diǎn)上網(wǎng)。
有益效果:采用本發(fā)明的方法Android手機(jī)上能同時(shí)支持WiFi模塊工作在Station和SoftAP模式,Station模式可工作在2.4G,SoftAP模式可工作在5G,反之亦然。由于Station和SoftAP可以使用不同的頻段,相互之間不干擾,性能得以保障。與現(xiàn)有技術(shù)相比,本發(fā)明對(duì)現(xiàn)有手機(jī)WiFi工作應(yīng)用進(jìn)行了改進(jìn),增加了一種新的WiFi模式應(yīng)用場(chǎng)景,能滿足市場(chǎng)上一些用戶需求,同時(shí)解決當(dāng)前手機(jī)不能共享運(yùn)營(yíng)商WiFi給其他用戶的困境,帶給了用戶網(wǎng)絡(luò)資源的共享體驗(yàn)。
附圖說(shuō)明
圖1為本發(fā)明方法應(yīng)用場(chǎng)景示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
如圖1所示,本發(fā)明方法是在Android系統(tǒng)上實(shí)現(xiàn)WiFi同時(shí)支持Station(Mode1)和SoftAP(Mode2)兩種工作模式,實(shí)現(xiàn)了WiFi雙模式的智能手機(jī),在通過(guò)WiFi連接上運(yùn)營(yíng)商AP上網(wǎng)的同時(shí),能將WiFi共享給其他用戶,其他用戶也能通過(guò)WiFi上網(wǎng)。
本發(fā)明實(shí)施例公開(kāi)的一種Android上實(shí)現(xiàn)無(wú)線WiFi雙工作模式的方法是:選擇能同時(shí)支持Station和SoftAP的無(wú)線芯片,放到Android系統(tǒng)中,通過(guò)修改Android的netd/wap_suppicant/Wifi service,實(shí)現(xiàn)該方案。該方案在Android系統(tǒng)中產(chǎn)生一個(gè)wlan0接口作為Station模式,同時(shí)也虛擬創(chuàng)建一個(gè)wlan1接口作為SoftAP模式,提供DHCP server服務(wù)分配內(nèi)部IP地址。系統(tǒng)把兩個(gè)接口加入到bridge中,可以實(shí)現(xiàn)相互之間的數(shù)據(jù)通信。具體實(shí)現(xiàn)和使用步驟包括:
1.選擇一款WLAN芯片,支持2.4G和5G無(wú)線帶寬,比如Broadcom公司BCM43xx,驅(qū)動(dòng)基于linux kernel 3.x.x和以后版本,驅(qū)動(dòng)同時(shí)實(shí)現(xiàn)2.4G Station工作模式和5G SoftAP工作模式,反之亦然。
2.增加驅(qū)動(dòng)到Android kernel。
3.增加WiFi雙模式邏輯并修改系統(tǒng)WiFi服務(wù)相關(guān)配置。當(dāng)前Android中WiFi service服務(wù)和wpa_supplicant/hostapd/netd應(yīng)用同時(shí)只支持單模式(Station或SoftAP)工作,需要加入同時(shí)支持雙模式的功能和邏輯:A.WiFi service服務(wù)增加能夠創(chuàng)建兩個(gè)wlan接口和與之配置參數(shù)接口,該接口被上層APP調(diào)用,獲得APP的參數(shù),然后把命令和參數(shù)組織發(fā)送給下層應(yīng)用接口。B.
wpa_supplicant/hostapd/netd應(yīng)用接受WiFi service的參數(shù),判斷獲得的參數(shù)和功能,組織命令數(shù)據(jù)發(fā)送給驅(qū)動(dòng)執(zhí)行。
4.在Settings UI上添加用戶配置接口,用于雙模式配置。
5.在Setting中的Station AP list中選擇需要連接運(yùn)營(yíng)商AP,確保能上Internet,作為應(yīng)用場(chǎng)景中mode 1.
6.同時(shí)在Tethering中設(shè)置本地SoftAP的SSID/WPA2-psk密碼。
7.第三方的手機(jī)用戶1搜尋到本地SoftAP的SSID,輸出WPA2-psk密碼,連接到本方案的智能手機(jī),作為應(yīng)用場(chǎng)景中mode 2。
8.打開(kāi)第三方手機(jī)用戶1瀏覽器,能上Internet。