CN106060970A - 智能终端及其网络配置方法 - Google Patents
智能终端及其网络配置方法 Download PDFInfo
- Publication number
- CN106060970A CN106060970A CN201610141032.2A CN201610141032A CN106060970A CN 106060970 A CN106060970 A CN 106060970A CN 201610141032 A CN201610141032 A CN 201610141032A CN 106060970 A CN106060970 A CN 106060970A
- Authority
- CN
- China
- Prior art keywords
- network
- intelligent terminal
- client
- station mode
- wpa
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/04—Terminal devices adapted for relaying to or from another terminal or user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种智能终端及其网络配置方法,该方法包括如下步骤:建立符合WiFi P2P规范的网络群组以完成本智能终端的热点模式的启动,使其与本智能终端的站点模式并存工作;以系统最高权限调用网络守护进程修改网络共享配置信息使连通热点模式与站点模式之间的网络连接;在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接。通过本发明的处理,Android系统的智能终端便具备了双模功能,也即同时既可充当热点供其他设备接入,也可充当站点接入外部网络接入点,并且可以起到路由器的作用,允许接入该智能终端的客户端设备通过该智能终端访问外网。
Description
技术领域
本发明涉及智能终端的组网技术,具体而言,本发明涉及一种智能终端及其网络配置方法。
背景技术
Android系统的智能终端,包括手机、平板电脑、行车记录仪、可佩戴的手表、眼镜等等,通常此类智能终端均配备有相应的遵守IEEE802.11协议规范的WiFi模组,装载相应的驱动,提供相应的接口供框架层以上的进程的调用。
通常遵守802.11协议的WiFi模组均支持多种工作模式,例如IBSS,Managed,AP,AP/VLAN,Monitor,mesh point,P2P-Client,P2P-GO等模式,种模式可实现不同的组网功能。其中,Managed也即俗知的Station(STA)即工作站模式,AP即俗称的访问接入点模式(Access Point);IBSS则是adhoc即直连模式,P2P即俗称的WiFi Direct技术,属于Wi-FiAlliance(Wi-Fi联盟)推出的一项重要技术规范。STA模式下,智能终端便成为一个工作站,可以接入一个处于AP模式下的终端。同理,P2P-Client相当于STA,可以接入一个相当于AP的P2P-GO(P2P Group Owner)模式下的智能终端。可见,至少有IBSS和WiFi Direct两种体系可以实现将多台智能终端进行组网,同一部智能终端,基于同一WiFi模组,既可充当热点,还可充当站点。
一种应用需求中,希望使同一智能终端的WiFi模组同时工作于站点和热点两种模式,这样便于在该智能终端利用其站点模式接入外网后,通过其热点模式向其他WiFi设备提供接入和网络共享服务。现实中,基于Windows或IOS的智能终端,能够善用WiFi模组提供的功能,使这种智能终端能够虚拟出两台设备,即站点设备和热点设备,在这个基础上,允许该智能终端一方面可以接入无线AP,另一方面可以充当AP供其他WiFi设备接入。
然而Android智能终端却不具备这种功能。Andoid系统的功能实现中,并不具备向用户同时开放WiFi模组的热点和站点两种模式的能力。因而,实践应用中,当智能终端以站点模式利用WiFi接入公司局域网AP之后,希望将另一无显示界面的WiFi设备的数据读取并上传到云端,这样一种需要便会因为该智能终端不能同时开启其自身的热点模式(因其开启必然导致断网)及站点模式而得不到满足。同理,如用户利用智能终端以热点模式与第三方通信的过程中,需以站点模式接入某个局域网获取数据,显然也是做不到的。
可见,基于Android的智能终端在实现热点与站点两种WiFi组网模式这一功能上是先天不足的,因此,可以看出,解决这一问题是对Android智能终端的组网条件进行高效利用的重要前提。
上述问题适宜在WiFi P2P技术规范之下解决,可以考虑令Android的WiFi模组构造一个能以STA模式接入外部网站,同时又能以P2P GO模式提供给其他客户端接入实现网络扩展的框架。由此带来的问题是以P2P方式连接的客户端与服务端,因原本只考虑点对点连接的问题,故其彼此的路由均不会改变,而要实现客户端可以通过服务端连接外部网络,则需要使客户端能够合理地配置自身的路由设置,使得其可以服务端为网关去访问外网。
发明内容
本发明的目的在于针对以上存在的至少一方面不足,提供一种智能终端及其网络配置方法。
为了实现该目的,本发明采取如下技术方案:
本发明的一种智能终端网络配置方法,包括如下步骤:
建立符合WiFi P2P规范的网络群组以完成本智能终端的热点模式的启动,使其与本智能终端的站点模式并存工作;
以系统最高权限调用网络守护进程修改网络共享配置信息使连通热点模式与站点模式之间的网络连接;
在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接。
进一步,受控而启动所述网络群组的建立。
较佳的,通过在用户界面提供控制按键,以用于接收控制指令,以启动所述网络群组的建立。
具体的,所述站点模式通过启动系统提供的站点进程即wpa_supplicant进程而实现。
较佳的,所述站点模式先于热点模式工作。
进一步,启动所述热点模式使其与站点模式并存时,显示用于表征该智能终端处于热点模式和站点模式共存的双模状态的第三方图标。
具体的,通过调用Android系统依照WiFi P2P协议的规范而提供的WifiP2pManager类的createGroup方法实现所述网络群组的建立。
具体的,所述网络守护进程为Android系统的Netd守护进程,通过该网络守护进程提供的ndc工具控制该网络守护进程完成所述的网络共享配置信息。
具体的,所述网络共享配置信息被修改为具备如下用途:
开通连通热点模式与站点模式之间的网络连接的数据包转发功能;
修正用于畅通热点模式与站点模式之间的网络连接的数据包过滤表的设置内容;
去除客户端共享上网限制解析DNS的选项。
进一步,在修改网络共享配置信息之前,先强制关闭为客户端分配网络配置信息的配置进程。
具体的,所述在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接的步骤中,包括如下两个方向的处理过程:
接收客户端访问外网的数据包,将其转发经所述站点模式的路径传输给所述的外网;
接收外网访问客户端的数据包,将其转发经所述热点模式的路径传输给该客户端。
进一步,本方法还包括如下步骤:
响应于退出共享上网的用户指令,恢复所述的网络共享配置信息。
本发明的一种智能终端,包括:
建立单元,用于建立符合WiFi P2P规范的网络群组以完成本智能终端的热点模式的启动,使其与本智能终端的站点模式并存工作;
配置单元,用于以系统最高权限调用网络守护进程修改网络共享配置信息使连通热点模式与站点模式之间的网络连接;
通信单元,用于在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接。
进一步,所述建立单元中,受控而启动所述网络群组的建立。
较佳的,所述建立单元通过在用户界面提供控制按键,以用于接收控制指令,以启动所述网络群组的建立。
具体的,所述建立单元中,所述站点模式通过启动系统提供的站点进程即wpa_supplicant进程而实现。
较佳的,所述建立单元中,所述站点模式先于热点模式工作。
进一步,所述建立单元,启动所述热点模式使其与站点模式并存时,显示用于表征该智能终端处于热点模式和站点模式共存的双模状态的第三方图标。
具体的,所述建立单元,通过调用Android系统依照WiFi P2P协议的规范而提供的WifiP2pManager类的createGroup方法实现所述网络群组的建立。
具体的,所述配置单元中,所述网络守护进程为Android系统的Netd守护进程,通过该网络守护进程提供的ndc工具控制该网络守护进程完成所述的网络共享配置信息。
进一步,所述配置单元中,所述网络共享配置信息被修改为具备如下用途:
开通连通热点模式与站点模式之间的网络连接的数据包转发功能;
修正用于畅通热点模式与站点模式之间的网络连接的数据包过滤表的设置内容;
去除客户端共享上网限制解析DNS的选项。
较佳的,所述配置单元在修改网络共享配置信息之前,先强制关闭为客户端分配网络配置信息的配置进程。
具体的,所述通信单元,被配置为按如下方式处理如下两个方向的数据包:
接收客户端访问外网的数据包,将其转发经所述站点模式的路径传输给所述的外网;
接收外网访问客户端的数据包,将其转发经所述热点模式的路径传输给该客户端。
进一步,该智能终端还包括恢复单元,被配置为响应于退出共享上网的用户指令,恢复所述的网络共享配置信息。
与现有技术相比较,本发明至少具有如下优点:
本发明充分利用Android系统提供的特性,首先依照WiFi P2P协议的规范建立基于P2P GO(P2P Group Owner)的网络群组,将智能终端打造成无线热点,使其能够工作于热点模式,与站点模式共同工作,突破Android系统无法自行同时开放热点模式和站点模式两种模式的局限。在此基础上,本发明进一步利用系统最高权限,通过Android系统提供的机制,驱动网络守护进程去修改网络配置信息,确保这种修改使作为服务端的本智能终端能够对接入其热点模式的客户端提供外部网络连接,使得客户端能够借助与网络群组所有者即服务端的连接,来经由服务端的站点模式实现外网访问,从而解决了网络共享的问题。最终,即使不依赖于运营商提供的移动网络,只要服务端能在站点模式接入外网,那么,所述的客户端便能利用服务端的热点模式进行外网共享。
概括而言,本发明的实施,解决了WiFi P2P协议下,客户端与服务端之间的路由配置问题,使得客户端可以经由服务端访问外网。然而,书不尽言,本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明的智能终端网络配置方法的流程示意图;
图2为本发明的智能终端的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本发明的实现,适于为Android提供并安装一个应用程序,由其启动,在获取系统最高权限或者系统开放最高权限的情况下,而向系统提供交互功能,实现本方法所需的控制。
如图1所示,本发明的一种智能终端网络配置方法,包括如下步骤S11-S13:
步骤S11、建立符合WiFi P2P规范的网络群组以完成本智能终端的热点模式的启动,使其与本智能终端的站点模式并存工作。
理论上可以通过Android系统的热点进程Hostapd来建立所述的热点模式,但是,实测中,hostapd进程启动时,会自动关闭站点进程,导致智能终端无法同时工作于热点模式和站点模式之下,因而,转而采用自行建立网络群组的方式,可以有效避免这一故障的发生。
根据WiFi P2P协议的规范,可以使多个智能终端组在一个网络群组,在该网络群组中,有且只有一个服务端角色,余者为客户端角色。所述的服务端与客户端两种角色,在本发明中,主要相对于以WiFi P2P协议所规范的两部智能终端而言,其中,作为客户端的智能终端的芯片模组工作于该协议所规范的P2P-Client模式下,即表现为客户端角色;而与之相对的本发明的智能终端则工作于该协议所规范的P2P-Group Owner(P2P GO)模式下,即表现为服务端角色。
Android系统中,封装了一个点对点连接管理类,即WiFiP2pManager,顾名思义,该类即用于依照WiFi P2P协议的规范来管理Android终端之间的点对点连接。该类构造了一个用于建立所述的网络群组的方法函数,具体引用形式为WiFiP2pManager.createGroup(wifip2pmanger.chanenl,wifip2pmanager.ActionListener),调用该方法,可以创建一个热点,使智能终端启动热点模式,并且将自身设置为服务端,由此创建的热点还可以供不支持WiFi P2P协议的传统WiFi设备与之连接。由此形成的网络群组,可以使用该类的另一方法函数:requestConnectionInfo(wifip2pmanger.chanenl,wifip2pmanager.ActionListener)去得到详细的连接信息。这个wifip2pInfo连接信息包含了拥有组者也即服务端的地址groupOwnerAddress和一个去说明当前设备是否是这个p2p组的拥有者的标志isGroupOwer,一个p2p的客户端因此可以和p2p组拥有者通过一个socket连接进行通信。
Android操作系统默认情况下,并不允许同一智能终端的WiFi芯片模组同时工作于客户端和服务端两种模式下,但是,通过自行创建所述的网络群组却可解决这一问题,其中createGroup()函数的调用起到关键的作用,其完成了本智能终端的热点模式的启动。
由于本发明重点是希望解决让客户端通过服务端所在的智能设备的WiFi功能访问外网的网络配置问题。在不考虑客户端自行连接外网的前提下,本智能终端能够访问外网,是接入本网络群组的客户端访问外网的前提。因此,较佳的方式中,是使本智能终端在完成上述热点模式的启动之前,便已启动了站点模式。
欲启动Android系统的站点模式,可以通过用户在系统设置页上手动开启或通过系统的站点进程来建立。所述站点进程,特指Android系统自身提供的wpa_supplicant进程,wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。经过编译后的wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
以下提供一个利用wpa_cli来完成网络连接的示例供本领域技术人员参照理解本发明,但不应理解为对本发明的实现的限制。
要实现网络连接功能,首先需要运行wpa_supplicant程序以加载基本功能;
执行:/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
其中:
-d:增加调试信息
-Dwext:wext,驱动名称
-iwlan0:wlan0,网络接口名称
/system/bin/wpa_supplicant:wpa_supplicant,可执行程序路径
/data/misc/wifi/wpa_supplicant.conf:wpa_supplicant的配置文件路径
然后,运行命令行工具wpa_cli;
执行:wpa_cli-iwlan0-p/data/system/wpa_supplicant
注意,-p/data/system/wpa_supplicant中的wpa_supplicant并不是可执行程序,而是个控制套接字。
此时会进入交互模式。其中交互模式的命令如下表:
Full command
Short command
Description
status
stat
displays the current connection status
disconnect
disc
prevents wpa_supplicant from connecting to any access point
quit
q
exits wpa_cli
terminate
term
kills wpa_supplicant
reconfigure
recon
reloads wpa_supplicant with the configuration file supplied(-cparameter)
scan
scan
scans for available access points(only scans it,doesn't displayanything)
scan_result
scan_r
displays the results of the last scan
list_networks
list_n
displays a list of configured networks and their status(active ornot,enabled or disabled)
select_network
select_n
select a network among those defined to initiate a connection(ieselect_network 0)
enable_network
enable_n
makes a configured network available for selection(ie enable_network0)
disable_network
disable_n
makes a configured network unavailable for selection(ie disable_network 0)
remove_network
remove_n
removes a network and its configuration from the list(ie remove_network 0)
add_network
add_n
adds a new network to the list.Its id will be created automatically
set_network
set_n
shows a very short list of available options to configure a networkwhen supplied with no parameters.
See next section for a list of extremely useful parameters to be usedwith set_network and get_network.
get_network
get_n
displays the required parameter for the specified network.See nextsection for a list of parameters
save_config
save_c
saves the configuration
以上命令项可以从Android的公开技术文档中查看,此处仅供参考。
设置网络的基本格式的指令为:set_network<network id><key><parameter>[<parameter>]
显示网络信息的基本格式的指令为:get_network<network id><key>
相应的参数如下表:
Key
Description
Parameters
ssid
Access point name
string
id_str
String identifying the network
string
priority
Connection priority over other APs
number(0 being the default low priority)
bssid
Mac address of the access point
mac address
scan_ssid
Enable/disbale ssid scan
0,1,2
key_mgmt
Type of key management
WPA-PSK,WPA_EAP,None
pairwise
Pairwise ciphers for WPA
CCMP,TKIP
group=TKIP
Group ciphers for WPA
CCMP,TKIP,WEP104,WEP40
psk
Pre-Shared Key(clear or encrypted)
string
wep_key0
WEP key(up to 4:wep_key[0123])
string
eap
Extensible Authentication Protocol
MD5,MSCHAPV2,OTP,GTC,TLS,PEAP,TTLS
identity
EAP identity string
string
password
EAP password
string
ca_cert
Pathname to CA certificate file
/full/path/to/certificate
client_cert
Pathname to client certificate
/full/path/to/certificate(PEM/DER)
private_key
Pathname to a client private key file
/full/path/to/private_key(PEM/DER/PFX)
同理,以上参数表也可通过公共途径从Android官方得到,仅供参考,恕不赘述。以下利用一用于连接无加密的AP的具体实例说明如何实现网络连接:
>add_network(将显示一网络ID,假定返回值为0)
>set_network 0ssid"666"
>set_network 0key_mgmt NONE
>enable_network 0
>quit
再利用一用于连接WEP加密的AP的具体实例加以说明:
>add_network(假定网络ID返回1)
>set_network 1ssid"666"
>set_network 1key_mgmt NONE
>set_network 1wep_key0"your ap password"
>enable_network 1
至于连接WPA-PSK/WPA2-PSK加密的AP的示例如下:
>add_network(假定网络ID返回2)
>set_network 2ssid"666"
>set_network 2psk"your pre-shared key"
>enable_network 2
到此,wifi模块就能连接上AP了。
以上是通过命令行工具wpa_cli来实现wifi网络的连接。当然,也可以通过wpa_supplicant的配置文件来实现连接。
不妨再回顾前面运行wpa_supplicant时执行的命令:
/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
我们在执行时加上了-c/data/misc/wifi/wpa_supplicant.conf,故而可以将要连接的AP的设置以一定的格式写入wpa_supplicant.conf配置文件中即可。例如:
ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=systemupdate_config=1
network={
ssid="my access point"
proto=WPA
key_mgmt=WPA-PSK
psk="you pass words"
}
可见,即使是调用站点进程启动智能终端WiFi芯片模组的站点模式,也可通过以上运用指令、运用配置文件两种不同方式,来实现由应用程序进程自行控制所述的站点进程的开启,从而使智能终端工作于站点模式之下。
由以上的分析可知,本发明可以借助多种方式激活智能终端的站点模式,并通过调用点对点连接管理类的createGroup方法来激活智能终端的热点模式,这两种模式可以并存于Android智能终端中。从而使得智能终端能够利用其站点模式接入外网,同时利用热点模式建构一个小型网络。
为使上述的双模状态更易于操作,体现更佳的用户体验,本发明的应用程序进程可以通过对用户界面进行设计来对此加以完善。
用户界面泛指能够用于实现人机交互并且能够接收用户控制指令的显示界面,例如,可以为Android系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。
本发明优选如下两种方式,用于接收所述的控制指令:
其一,通过在用户界面提供单个控制按键,以用于一键式地接收所述的控制指令,这种方式便于用户实现一键式操作。
其二,通过在用户界面对应热点模式和站点模式而分别提供控制按键,以分别对应不同按键而产生对应启动相应的模式的控制指令。
根据以上的方式提供的控制按键,通常这些按键可以优选设置在系统桌面通知栏列表处,或者以桌面悬浮窗的方式提供,既便于用户触控控制,又不影响用户视觉效果,当然也可作为系统的默认功能而随用户开启WiFi按键时激活。较佳的,所述应用程序可以将自身设为自启动项,使得系统启动时,可以自行加载所述的按键,从而便于用户操作。
当用户通过所述的用户界面,触控所述的控制按键之后,便产生相应的控制指令,该控制指令将被所述应用程序的进程接收,从而对应的控制热点模式和/或站点模式开启。
具体而言,用户既可以通过单个控制按键来同时开启热点模式和站点模式,也可以通过两个与两种模式相对应的按键来开启,实质上提供了多种操作变化例。对应这些变化,以下进一步示例说明。
设用户界面提供单个控制按键,用户通过该单个控制按键而触发其用户指令,此处便可以先调用createGroup()创建热点。继而,本发明的应用程序进程再自行启动该站点进程,由此便可实现两种模式的并存。反之,也可以先行启动站点进程,在其完成开启之后,再行参照上述示例开启热点模式。也就是说,对应于单个控制按键引起的控制指令,可以以不同的实施方式灵活安排所述热点模式和站点模式的启动顺序。
而对应用户界面提供不同的控制按键,分别表征开启不同的模式的实例而言,则可按用户点击不同控制按键的顺序而按序开启相应的模式,此举并不影响本发明的实施。
在优选的方案中,推荐优先让站点模式先于热点模式开启,在确保本智能终端可以连接外网的情况下,向其他智能终端提供接入功能,可以免除一些无用功,更为节能。
由此可见,将站点模式与热点模式相继启动后,便可以实现两种模式的共存。在此基础上,本发明的应用程序进程可以向用户界面输出一些结果信息,以告知用户该智能终端当前已经处于热点模式和站点模式共存的双模状态。至于所述的结果信息的表达形式,既可以是通过系统消息显示到通知栏中,也可以在桌面上弹窗显示,更优的方式可以是调用一个预设的第三方图标,用于表征该智能终端处于热点模式和站点模式共存的双模状态,将该第三方图标显示到用户界面的系统状态栏中,使得用户更易于获知相应的结果信息。
步骤S12、以系统最高权限调用网络守护进程修改网络共享配置信息使连通热点模式与站点模式之间的网络连接。
涉及到对网络守护进程直接调用的操作,依照Android的规范,需要获取系统的最高权限,因而,在获取Android系统最高权限或者Android系统已经开放最高权限的前提下,可以通过对所述网络守护进程进行调用,借此修改涉及到网络共享的配置信息,即网络共享配置信息,以便连通热点模式与站点模式之间的网络连接,让客户端可以通过服务端来访问外网。
所述的网络守护进程,即Netd,Network Daemon的缩写。Netd负责跟一些涉及物理端口的网络操作相关的功能实现,例如带宽控制(Bandwidth),网络地址转换(NAT),个人局域网(pan),PPP链接,soft-ap,本智能终端的热点模式所涉及的共享上网(Tether)等等……都是按照模块(.cpp+.h)组织在netd文件目录下的。
Android Netd相关的基本框架的四大部分:
(1)Linux Kernel用于检测网络相关的所有事件。
(2)Netd作为Kernel(内核层)与Framework(框架层)之间通信的桥梁。
(3)框架层操作Netd,向Netd发送操作命令。
(4)应用层与框架层交互,用于用户进行网络的操控。
Android为Netd提供了一个测试工具,即ndc,其主要功能有:
监视Netd中发生的事件。
支持通过命令行发送命令给Netd去执行。ndc的实现原理,便是连接上位于netd进程中的“netd”监听socket,然后从Netd接收信息或发送命令给Netd。
由此可见,可以通过ndc来驱动网络守护进程执行相关指令,本发明中,实现对网络共享配置信息的修改的功能,便可利用ndc命令来实施。
请先参照如下对Android系统实施的观测过程:
首先,通过分析,发现createGroup()创建热点之后,虽然可以被客户端连接,但其用于向用户反馈DHCP配置信息的配置进程DNSmasq的参数如下:
/system/bin/dnsmasq--keep-in-foreground--no-resolv--no-poll--dhcp-auth oritative--dhcp-option-force=43,ANDROID_METERED--pid-file--dhcp-rang e=192.168.42.2,192.168.42.254,1h--dhcp-range=192.168.43.2,192.168.43.254,1h--dhcp-range=192.168.44.2,192.168.44.254,1h--dhcp-range=192.168.45.2,192.168.45.254,1h--dhcp-range=192.168.46.2,192.168.46.254,1h--dhcp-range=192.168.47.2,192.168.47.254,1h--dhcp-range=192.168.48.2,192.168.48.254,1h--dhcp-range=192.168.49.2,192.168.49.254,1h
从中可以看出,其中增加了强制配置序列为43的控制选项即dhcp-option-force=43,ANDROID_METERED,序号43的官方释义是厂商指定选项,用于表示当前连接为计费连接,在这种情况下,客户端将不能利用服务端的外网连接,以免产生巨额费用。然而,这种设计逻辑是以服务端将通过运营商的计费连接而提供访问外网服务的,但服务端存在以WiFi站点模式建立的免费外网连接的情况,并未被Android所兼容。
继而,通过分析Android官方文档中对于TetherController(共享控制器)的源代码可知,在这种情况下,该处对ANDROID_METERED进行了规范,然而,却未见默认网关的设置。
而对客户端中进行分析,从core.java.android.net.DhcpInfoInternal也就是dhcp客户端那边,利用下述的代码实施检测:
以上的分析表明,如要令客户端通过服务端来连接外网,需要避开上述的控制选项的影响。
进而,通过分析本智能终端的热点模式开启前和开启后的数据包转发开关和数据
包过滤表即iptables,也发现影响客户端上网的因子。
具体而言,对于数据包转发开关,可以发现,cat/proc/sys/net/ipv4/ip_forward
的结果是1而不是0,因而理论上可以通过echo"1">/proc/sys/net/ipv4/ip_forward
enable来改变此一开关设置,使其打开数据包转发功能。然而,这种情况下,由于受
iptables的影响,即使做出上述的改变,客户端进行外网访问仍然未能畅通。当智能终端的
热点模式下的p2p0标识所对应的接口收到数据包,虽会查找路由,并且发到其站点模式下
wlan0标识所对应的接口,但是会被iptables的过滤规则所丢弃。
对于iptables,发现其存在两方面的影响,其一是其中包含有将接口p2p0的数据
包丢弃的规则,其二是欠缺将智能终端映射到公网的NAT规则。对于前者,可以通过以下指
令处理:iptables-D FORWARD 4,即删除forward里的第4条规则,也即natctrl_FORWARD规
则。这时候当p2p0收到包,会从wlan0发出。但是这个包的源ip是一个内网ip。因此,需要对
后者做处理如下:iptables-t nat-A POSTROUTING-o wlan0-j MASQUERADE,即向iptables
过滤表增加一条nat规则,添加之后,在另一个手机上,便可以ping通外网ip了。由客户端到
外网的连接,由此便畅通了。自然的,以及结合实践分析,网关也已经得到正确配置。
通过上述的处理,仅仅解决了IP层的问题,对于DNS解析的功能,则仍未实现。进一步通过分析DNSmasq的配置参数,发现其携带了--no-resolv选项,该选项正是导致影响客户端获取正确的DNS解析的原因。由此,可以通过修改startTethering方法或者增加一个startTetheringWithDns()方法,去掉--no-resolv参数。完成这些操作,客户端经服务端到外网,具体到基于域名的万维网的访问,便畅通无阻了。
以上,概括而言,本发明为实现客户端通过服务端访问外网而借助ndc工具驱动网络守护进程所做出的涉及到网络共享配置信息的修改,主要涉及到以下方面:
其一、开通连通热点模式与站点模式之间的网络连接的数据包转发功能:具体表现为可通过echo指令设置其参数为1来打开。
其二、修正用于畅通热点模式与站点模式之间的网络连接的数据包过滤表的设置
内容:具体表现为对iptables表格去除相应的过滤条目以及添加NAT映射记录。
其三、去除客户端共享上网限制解析DNS的选项:具体表现为可通过共享控制器(TetherController)的有关方法来去除--no-resolv选项。
由此可见,通过上述的方法,便可使本发明的智能终端实现连通其热点模式与其站点模式下之间的网络连接,为客户端提供接入外网的服务。
以上通过揭示对Android的系统原理的分析过程,揭示了本发明的实现原理,并提供了如何修改网络共享配置信息的一种实施例,除此之外,还可通过以下的方式来修改网络共享配置信息:
这种方式具体而言,即以系统最高权限调用ndc工具通过网络守护进程来实现修改的方式,请参阅如下代码及其说明:
ndc ipfwd enable
ndc tether dns set 0 114.114.114.114
//如果失败,通常意味着前面有手工操作没有完全撤销。执行ps|grep dnsmasq先强制关闭配置进程。如果还有残留进程,例如:
shell@CP8681_A01:/#ps|grep dnsmasq
dhcp 3557 325 10272 740 001a0338b66f61ac S/system/bin/dnsmasq
//执行kill 3557杀掉,然后
ndc tether stop,//停止共享
ndc tether start 192.168.49.2 192.168.49.254//启动共享,配置网段
ndc tether dns set 0 114.114.114.114//设置DNS
ndc nat enable p2p0wlan0 0//添加NAT规则
经测试,以上代码所起的效果与上方揭示的手动修改过程一致,经由此段代码作
用,数据包转发功能被打开,iptables过滤表得到正确的配置,DNS解析功能也得到正确的
维护。因此,本发明的应用程序可以在系统最高权限状态下,在启动热点模式之后,执行这
段代码,便实现了对网络共享配置信息的正确修改,客户端便可通过服务端来上网。
多数的Android系统智能终端,由于厂商的限制,并未开放其系统最高权限,或者未成功被ROOT,对于这种情况,以上以NDC指令直接驱动网络守护进行实施网络共享配置信息的修改的操作将不能成功。因此,需要另辟蹊径。
一种改进的方式是将以上以NDC表达的代码封装成一个方法函数(配置接口),对WiFiP2pManager类的开源代码文件即WifiP2pServiceImpl.java进行修改,由于WifiP2pServiceImpl.java可以直接通过mNwService导出的函数实现那些ndc命令,因在,可在里面增加该方法函数,并且导出给WiFiP2pManager类使用,这样,本发明的应用程序只需直接通过WiFiP2pManager类调用该配置接口,即可实施对网络共享配置信息的修改,而无需借助系统最高权限的获取。
由此可见,借助ndc命令控制所述网络守护进程以修改网络共享配置参数的方式也是多样化的。
通过实施上述的多种控制方式,均可使服务端的热点模式和站点模式之间的网络连接互相连通,路由的问题随之有解。
步骤S13、在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接。
客户端接入服务端提供的网络群组之后,将向服务端发送DHCP请求,服务端的配置进程读取经上述修改之后的正确的网络共享配置信息,反馈给客户端。客户端据此完成自身的网络设置后,便可经作为服务端本发明智能终端的热点接口、站点接口而访问外网。对于本智能终端而言,当其接收客户端访问外网的数据包时,将该数据包转发经所述站点模式的路径传输给所述的外网;当其接收外网访问客户端的数据包时,将其转发经所述热点模式的路径传输给该客户端。
进一步的,为完善本发明的应用程序进程的功能,可以增加后续步骤:该步骤响应于退出共享上网的用户指令,恢复所述的网络共享配置信息。
具体而言,本发明的应用程序可以参照前述的方式,向用户界面提供一个共享上网的控制按键,如沿用上述已经提供到用户界面的控制按键的一个复选控制操作也可。当该控制按键被触发时,便产生所述的用户指令,受该用户指令的作用,本发明便可实施断开所述的热点模式,由此便自动断开外部连接。
进一步,可以采用更为彻底的方式,先行对前述处理过程产生的网络共享配置信息进行清理,例如,参阅以下的ndc指令:
ndc ipfwd disable//关闭数据包转发功能
ndc tether stop//停止上网共享功能
ndc nat disable p2p0wlan0 0//关闭NAT映射功能
通过本发明的应用程序进程执行上述的命令,便可通过SOCKET端口控制网络守护进程执行相应的功能,从而避免前述的对网络共享配置信息对本机使用所带来的潜在的影响。可以知晓,在本发明的应用程序进程中直接调用上述的命令控制所述的网络守护进程的前提是已经获取系统的最高权限。
同理,根据上述构造方法函数并将其植入到WiFiP2pManager中的示例可知,此处的清理代码完全可以同样的方法被构造为方法函数(清退接口),添加到WiFiP2pManager类的代码文件中,导出为该类的相应的成员函数,后续直接由本发明的应用程序进程调用该清退接口即可执行,而不必考虑当前是否已经获得系统ROOT权限。
综上所述,本发明的方法解决了Android智能终端同时开启热点模式和站点模式的技术难题,并且允许接入其热点模式下的网络群组的客户端经由其站点模式相对应的外网接口访问外网。
根据计算机软件的模块化思维,本发明还提供一种智能终端,该智能终端包括建立单元11、配置单元12以及通信单元13,以下介绍各个单元所实现的具体功能:
所述的建立单元11,用于建立符合WiFi P2P规范的网络群组以完成本智能终端的热点模式的启动,使其与本智能终端的站点模式并存工作。
理论上可以通过Android系统的热点进程Hostapd来建立所述的热点模式,但是,实测中,hostapd进程启动时,会自动关闭站点进程,导致智能终端无法同时工作于热点模式和站点模式之下,因而,转而采用自行建立网络群组的方式,可以有效避免这一故障的发生。
根据WiFi P2P协议的规范,可以使多个智能终端组在一个网络群组,在该网络群组中,有且只有一个服务端角色,余者为客户端角色。所述的服务端与客户端两种角色,在本发明中,主要相对于以WiFi P2P协议所规范的两部智能终端而言,其中,作为客户端的智能终端的芯片模组工作于该协议所规范的P2P-Client模式下,即表现为客户端角色;而与之相对的本发明的智能终端则工作于该协议所规范的P2P-Group Owner(P2P GO)模式下,即表现为服务端角色。
Android系统中,封装了一个点对点连接管理类,即WiFiP2pManager,顾名思义,该类即用于依照WiFi P2P协议的规范来管理Android终端之间的点对点连接。该类构造了一个用于建立所述的网络群组的方法函数,具体引用形式为WiFiP2pManager.createGroup(wifip2pmanger.chanenl,wifip2pmanager.ActionListener),调用该方法,可以创建一个热点,使智能终端启动热点模式,并且将自身设置为服务端,由此创建的热点还可以供不支持WiFi P2P协议的传统WiFi设备与之连接。由此形成的网络群组,可以使用该类的另一方法函数:requestConnectionInfo(wifip2pmanger.chanenl,wifip2pmanager.ActionListener)去得到详细的连接信息。这个wifip2pInfo连接信息包含了拥有组者也即服务端的地址groupOwnerAddress和一个去说明当前设备是否是这个p2p组的拥有者的标志isGroupOwer,一个p2p的客户端因此可以和p2p组拥有者通过一个socket连接进行通信。
Android操作系统默认情况下,并不允许同一智能终端的WiFi芯片模组同时工作于客户端和服务端两种模式下,但是,通过自行创建所述的网络群组却可解决这一问题,其中createGroup()函数的调用起到关键的作用,其完成了本智能终端的热点模式的启动。
由于本发明重点是希望解决让客户端通过服务端所在的智能设备的WiFi功能访问外网的网络配置问题。在不考虑客户端自行连接外网的前提下,本智能终端能够访问外网,是接入本网络群组的客户端访问外网的前提。因此,较佳的方式中,是使本智能终端在完成上述热点模式的启动之前,便已启动了站点模式。
欲启动Android系统的站点模式,可以通过用户在系统设置页上手动开启或通过系统的站点进程来建立。所述站点进程,特指Android系统自身提供的wpa_supplicant进程,wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。经过编译后的wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
以下提供一个利用wpa_cli来完成网络连接的示例供本领域技术人员参照理解本发明,但不应理解为对本发明的实现的限制。
要实现网络连接功能,首先需要运行wpa_supplicant程序以加载基本功能;
执行:/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
其中:
-d:增加调试信息
-Dwext:wext,驱动名称
-iwlan0:wlan0,网络接口名称
/system/bin/wpa_supplicant:wpa_supplicant,可执行程序路径
/data/misc/wifi/wpa_supplicant.conf:wpa_supplicant的配置文件路径
然后,运行命令行工具wpa_cli;
执行:wpa_cli-iwlan0-p/data/system/wpa_supplicant
注意,-p/data/system/wpa_supplicant中的wpa_supplicant并不是可执行程序,而是个控制套接字。
此时会进入交互模式。其中交互模式的命令如下表:
Full command
Short command
Description
status
stat
displays the current connection status
disconnect
disc
prevents wpa_supplicant from connecting to any access point
quit
q
exits wpa_cli
terminate
term
kills wpa_supplicant
reconfigure
recon
reloads wpa_supplicant with the configuration file supplied(-cparameter)
scan
scan
scans for available access points(only scans it,doesn't displayanything)
scan_result
scan_r
displays the results of the last scan
list_networks
list_n
displays a list of configured networks and their status(active ornot,enabled or disabled)
select_network
select_n
select a network among those defined to initiate a connection(ieselect_network 0)
enable_network
enable_n
makes a configured network available for selection(ie enable_network0)
disable_network
disable_n
makes a configured network unavailable for selection(ie disable_network 0)
remove_network
remove_n
removes a network and its configuration from the list(ie remove_network 0)
add_network
add_n
adds a new network to the list.Its id will be created automatically
set_network
set_n
shows a very short list of available options to configure a networkwhen supplied with no parameters.
See next section for a list of extremely useful parameters to be usedwith set_network and get_network.
get_network
get_n
displays the required parameter for the specified network.See nextsection for a list of parameters
save_config
save_c
saves the configuration
以上命令项可以从Android的公开技术文档中查看,此处仅供参考。
设置网络的基本格式的指令为:set_network<network id><key><parameter>[<parameter>]
显示网络信息的基本格式的指令为:get_network<network id><key>
相应的参数如下表:
Key
Description
Parameters
ssid
Access point name
string
id_str
String identifying the network
string
priority
Connection priority over other APs
number(0being the default low priority)
bssid
Mac address of the access point
mac address
scan_ssid
Enable/disbale ssid scan
0,1,2
key_mgmt
Type of key management
WPA-PSK,WPA_EAP,None
pairwise
Pairwise ciphers for WPA
CCMP,TKIP
group=TKIP
Group ciphers for WPA
CCMP,TKIP,WEP104,WEP40
psk
Pre-Shared Key(clear or encrypted)
string
wep_key0
WEP key(up to 4:wep_key[0123])
string
eap
Extensible Authentication Protocol
MD5,MSCHAPV2,OTP,GTC,TLS,PEAP,TTLS identity
EAP identity string
string
password
EAP password
string
ca_cert
Pathname to CA certificate file
/full/path/to/certificate
client_cert
Pathname to client certificate
/full/path/to/certificate(PEM/DER)
private_key
Pathname to a client private key file
/full/path/to/private_key(PEM/DER/PFX)
同理,以上参数表也可通过公共途径从Android官方得到,仅供参考,恕不赘述。以下利用一用于连接无加密的AP的具体实例说明如何实现网络连接:
>add_network(将显示一网络ID,假定返回值为0)
>set_network 0ssid"666"
>set_network 0key_mgmt NONE
>enable_network 0
>quit
再利用一用于连接WEP加密的AP的具体实例加以说明:
>add_network(假定网络ID返回1)
>set_network 1ssid"666"
>set_network 1key_mgmt NONE
>set_network 1wep_key0"your ap password"
>enable_network 1
至于连接WPA-PSK/WPA2-PSK加密的AP的示例如下:
>add_network(假定网络ID返回2)
>set_network 2ssid"666"
>set_network 2psk"your pre-shared key"
>enable_network 2
到此,wifi模块就能连接上AP了。
以上是通过命令行工具wpa_cli来实现wifi网络的连接。当然,也可以通过wpa_supplicant的配置文件来实现连接。
不妨再回顾前面运行wpa_supplicant时执行的命令:
/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
我们在执行时加上了-c/data/misc/wifi/wpa_supplicant.conf,故而可以将要连接的AP的设置以一定的格式写入wpa_supplicant.conf配置文件中即可。例如:
ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=systemupdate_config=1
network={
ssid="my access point"
proto=WPA
key_mgmt=WPA-PSK
psk="you pass words"
}
可见,即使是调用站点进程启动智能终端WiFi芯片模组的站点模式,也可通过以上运用指令、运用配置文件两种不同方式,来实现由应用程序进程自行控制所述的站点进程的开启,从而使智能终端工作于站点模式之下。
由以上的分析可知,本发明可以借助多种方式激活智能终端的站点模式,并通过调用点对点连接管理类的createGroup方法来激活智能终端的热点模式,这两种模式可以并存于Android智能终端中。从而使得智能终端能够利用其站点模式接入外网,同时利用热点模式建构一个小型网络。
为使上述的双模状态更易于操作,体现更佳的用户体验,本发明的应用程序进程可以通过对用户界面进行设计来对此加以完善。
用户界面泛指能够用于实现人机交互并且能够接收用户控制指令的显示界面,例如,可以为Android系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。
本发明优选如下两种方式,用于接收所述的控制指令:
其一,通过在用户界面提供单个控制按键,以用于一键式地接收所述的控制指令,这种方式便于用户实现一键式操作。
其二,通过在用户界面对应热点模式和站点模式而分别提供控制按键,以分别对应不同按键而产生对应启动相应的模式的控制指令。
根据以上的方式提供的控制按键,通常这些按键可以优选设置在系统桌面通知栏列表处,或者以桌面悬浮窗的方式提供,既便于用户触控控制,又不影响用户视觉效果,当然也可作为系统的默认功能而随用户开启WiFi按键时激活。较佳的,所述应用程序可以将自身设为自启动项,使得系统启动时,可以自行加载所述的按键,从而便于用户操作。
当用户通过所述的用户界面,触控所述的控制按键之后,便产生相应的控制指令,该控制指令将被所述应用程序的进程接收,从而对应控制热点模式和/或站点模式开启。
具体而言,用户既可以通过单个控制按键来希望同时开启热点模式和站点模式,也可以通过两个与两种模式相对应的按键来开启,实质上提供了多种操作变化例。对应这些变化,以下进一步示例说明。
设用户界面提供单个控制按键,用户通过该单个控制按键而触发其用户指令,此处便可以先调用createGroup()创建热点。继而,本发明的应用程序进程再自行启动该站点进程,由此便可实现两种模式的并存。反之,也可以先行启动站点进程,在其完成开启之后,再行参照上述示例开启热点模式。也就是说,对应于单个控制按键引起的控制指令,可以以不同的实施方式灵活安排所述热点模式和站点模式的启动顺序。
而对应用户界面提供不同的控制按键,分别表征开启不同的模式的实例而言,则可按用户点击不同控制按键的顺序而按序开启相应的模式,此举并不影响本发明的实施。
在优选的方案中,推荐优先让站点模式先于热点模式开启,在确保本智能终端可以连接外网的情况下,向其他智能终端提供接入功能,可以免除一些无用功,更为节能。
由此可见,将站点模式与热点模式相继启动后,便可以实现两种模式的共存。在此基础上,本发明的应用程序进程可以向用户界面输出一些结果信息,以告知用户该智能终端当前已经处于热点模式和站点模式共存的双模状态。至于所述的结果信息的表达形式,既可以是通过系统消息显示到通知栏中,也可以在桌面上弹窗显示,更优的方式可以是调用一个预设的第三方图标,用于表征该智能终端处于热点模式和站点模式共存的双模状态,将该第三方图标显示到用户界面的系统状态栏中,使得用户更易于获知相应的结果信息。
所述的配置单元12,被配置为以系统最高权限调用网络守护进程修改网络共享配置信息使连通热点模式与站点模式之间的网络连接。
涉及到对网络守护进程直接调用的操作,依照Android的规范,需要获取系统的最高权限,因而,在获取Android系统最高权限或者Android系统已经开放最高权限的前提下,可以通过对所述网络守护进程进行调用,借此修改涉及到网络共享的配置信息,即网络共享配置信息,以便连通热点模式与站点模式之间的网络连接,让客户端可以通过服务端来访问外网。
所述的网络守护进程,即Netd,Network Daemon的缩写。Netd负责跟一些涉及物理端口的网络操作相关的功能实现,例如带宽控制(Bandwidth),网络地址转换(NAT),个人局域网(pan),PPP链接,soft-ap,本智能终端的热点模式所涉及的共享上网(Tether)等等……都是按照模块(.cpp+.h)组织在netd文件目录下的。
Android Netd相关的基本框架的四大部分:
(1)Linux Kernel用于检测网络相关的所有事件。
(2)Netd作为Kernel(内核层)与Framework(框架层)之间通信的桥梁。
(3)框架层操作Netd,向Netd发送操作命令。
(4)应用层与框架层交互,用于用户进行网络的操控。
Android为Netd提供了一个测试工具,即ndc,其主要功能有:
监视Netd中发生的事件。
支持通过命令行发送命令给Netd去执行。ndc的实现原理,便是连接上位于netd进程中的“netd”监听socket,然后从Netd接收信息或发送命令给Netd。
由此可见,可以通过ndc来驱动网络守护进程执行相关指令,本发明中,实现对网络共享配置信息的修改的功能,便可利用ndc命令来实施。
请先参照如下对Android系统实施的观测过程:
首先,通过分析,发现createGroup()创建热点之后,虽然产生可以被客户端连接,但其用于向用户反馈DHCP配置信息的配置进程DNSmasq的参数如下:
/system/bin/dnsmasq--keep-in-foreground--no-resolv--no-poll--dhcp-auth oritative--dhcp-option-force=43,ANDROID_METERED--pid-file--dhcp-rang e=192.168.42.2,192.168.42.254,1h--dhcp-range=192.168.43.2,192.168.43.254,1h--dhcp-range=192.168.44.2,192.168.44.254,1h--dhcp-range=192.168.45.2,192.168.45.254,1h--dhcp-range=192.168.46.2,192.168.46.254,1h--dhcp-range=192.168.47.2,192.168.47.254,1h--dhcp-range=192.168.48.2,192.168.48.254,1h--dhcp-range=192.168.49.2,192.168.49.254,1h
从中可以看出,其中增加了强制配置序列为43的控制选项即dhcp-option-force=43,ANDROID_METERED,序号43的官方释义是厂商指定选项,用于表示当前连接为计费连接,在这种情况下,客户端将不能利用服务端的外网连接,以免产生巨额费用。然而,这种设计逻辑是以服务端将通过运营商的计费连接而提供访问外网服务的,但服务端存在以WiFi站点模式建立的免费外网连接的情况,并未被Android所兼容。
继而,通过分析Android官方文档中对于TetherController(共享控制器)的源代码可知,在这种情况下,该处对ANDROID_METERED进行了规范,然而,却未见默认网关的设置。
而对客户端中进行分析,从core.java.android.net.DhcpInfoInternal也就是dhcp客户端那边,利用下述的代码实施检测:
以上的分析表明,如要令客户端通过服务端来连接外网,需要避开上述的控制选项的影响。
进而,通过分析本智能终端的热点模式开启前和开启后的数据包转发开关和数据
包过滤表即iptables,也发现影响客户端上网的因子。
具体而言,对于数据包转发开关,可以发现,cat/proc/sys/net/ipv4/ip_forward
的结果是1而不是0,因而理论上可以通过echo"1">/proc/sys/net/ipv4/ip_forward
enable来改变此一开关设置,使其打开数据包转发功能。然而,这种情况下,由于受
iptables的影响,即使做出上述的改变,客户端进行外网访问仍然未能畅通。当智能终端的
热点模式下的p2p0标识所对应的接口收到数据包,虽会查找路由,并且发到其站点模式下
wlan0标识所对应的接口,但是会被iptables的过滤规则所丢弃。
对于iptables,发现其存在两方面的影响,其一是其中包含有将接口p2p0的数据
包丢弃的规则,其二是欠缺将智能终端映射到公网的NAT规则。对于前者,可以通过以下指
令处理:iptables-D FORWARD 4,即删除forward里的第4条规则,也即natctrl_FORWARD规
则。这时候当p2p0收到包,会从wlan0发出。但是这个包的源ip是一个内网ip。因此,需要对
后者做处理如下:iptables-t nat-A POSTROUTING-o wlan0-j MASQUERADE,即向iptables
过滤表增加一条nat规则,添加之后,在另一个手机上,便可以ping通外网ip了。由客户端到
外网的连接,由此便畅通了。自然的,以及结合实践分析,网关也已经得到正确配置。
通过上述的处理,仅仅解决了IP层的问题,对于DNS解析的功能,则仍未实现。进一步通过分析DNSmasq的配置参数,发现其携带了--no-resolv选项,该选项正是导致影响客户端获取正确的DNS解析的原因。由此,可以通过修改startTethering方法或者增加一个startTetheringWithDns()方法,去掉--no-resolv参数。完成这些操作,客户端经服务端到外网,具体到基于域名的万维网的访问,便畅通无阻了。
以上,概括而言,本发明为实现客户端通过服务端访问外网而借助ndc工具驱动网络守护进程所做出的涉及到网络共享配置信息的修改,主要涉及到以下方面:
其一、开通连通热点模式与站点模式之间的网络连接的数据包转发功能:具体表现为可通过echo指令设置其参数为1来打开。
其二、修正用于畅通热点模式与站点模式之间的网络连接的数据包过滤表的设置
内容:具体表现为对iptables表格去除相应的过滤条目以及添加NAT映射记录。
其三、去除客户端共享上网限制解析DNS的选项:具体表现为可通过共享控制器(TetherController)的有关方法来去除--no-resolv选项。
由此可见,通过上述的方法,便可使本发明的智能终端实现连通其热点模式与其站点模式下之间的网络连接,为客户端提供接入外网的服务。
以上通过揭示对Android的系统原理的分析过程,揭示了本发明的实现原理,并提供了如何修改网络共享配置信息的一种实施例,除此之外,还可通过以下的方式来修改网络共享配置信息:
这种方式具体而言,即以系统最高权限调用ndc工具通过网络守护进程来实现修改的方式,请参阅如下代码及其说明:
ndc ipfwd enable
ndc tether dns set 0 114.114.114.114
//如果失败,通常意味着前面有手工操作没有完全撤销。执行ps|grep dnsmasq先强制关闭配置进程。如果还有残留进程,例如:
shell@CP8681_A01:/#ps|grep dnsmasq
dhcp 3557 325 10272 740 001a0338b66f61ac S/system/bin/dnsmasq
//执行kill 3557杀掉,然后
ndc tether stop,//停止共享
ndc tether start 192.168.49.2 192.168.49.254//启动共享,配置网段
ndc tether dns set 0 114.114.114.114//设置DNS
ndc nat enable p2p0wlan0 0//添加NAT规则
经测试,以上代码所起的效果与上方揭示的手动修改过程一致,经由此段代码作
用,数据包转发功能被打开,iptables过滤表得到正确的配置,DNS解析功能也得到正确的
维护。因此,本发明的应用程序可以在系统最高权限状态下,在启动热点模式之后,执行这
段代码,便实现了对网络共享配置信息的正确修改,客户端便可通过服务端来上网。
多数的Android系统智能终端,由于厂商的限制,并未开放其系统最高权限,或者未成功被ROOT,对于这种情况,以上以NDC指令直接驱动网络守护进行实施网络共享配置信息的修改的操作将不能成功。因此,需要另辟蹊径。
一种改进的方式是将以上以NDC表达的代码封装成一个方法函数(配置接口),对WiFiP2pManager类的开源代码文件即WifiP2pServiceImpl.java进行修改,由于WifiP2pServiceImpl.java可以直接通过mNwService导出的函数实现那些ndc命令,因在,可在里面增加该方法函数,并且导出给WiFiP2pManager类使用,这样,本发明的应用程序只需直接通过WiFiP2pManager类调用该配置接口,即可实施对网络共享配置信息的修改,而无需借助系统最高权限的获取。
由此可见,借助ndc命令控制所述网络守护进程以修改网络共享配置参数的方式也是多样化的。
通过实施上述的多种控制方式,均可使服务端的热点模式和站点模式之间的网络连接互相连通,路由的问题随之有解。
所述的通信单元13,用于在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接。
客户端接入服务端提供的网络群组之后,将向服务端发送DHCP请求,服务端的配置进程读取经上述修改之后的正确的网络共享配置信息,反馈给客户端。客户端据此完成自身的网络设置后,便可经作为服务端本发明智能终端的热点接口、站点接口而访问外网。对于本智能终端而言,当其接收客户端访问外网的数据包时,将该数据包转发经所述站点模式的路径传输给所述的外网;当其接收外网访问客户端的数据包时,将其转发经所述热点模式的路径传输给该客户端。
进一步的,为完善本发明的应用程序进程的功能,可以增加恢复单元,该恢复单元被配置为响应于退出共享上网的用户指令,恢复所述的网络共享配置信息。
具体而言,本发明的应用程序可以参照前述的方式,向用户界面提供一个共享上网的控制按键,如沿用上述已经提供到用户界面的控制按键的一个复选控制操作也可。当该控制按键被触发时,便产生所述的用户指令,受该用户指令的作用,本发明便可实施断开所述的热点模式,由此便自动断开外部连接。
进一步,可以采用更为彻底的方式,先行对前述处理过程产生的网络共享配置信息进行清理,例如,参阅以下的ndc指令:
ndc ipfwd disable//关闭数据包转发功能
ndc tether stop//停止上网共享功能
ndc nat disable p2p0wlan0 0//关闭NAT映射功能
通过本发明的应用程序进程执行上述的命令,便可通过SOCKET端口控制网络守护进程执行相应的功能,从而避免前述的对网络共享配置信息对本机使用所带来的潜在的影响。可以知晓,在本发明的应用程序进程中直接调用上述的命令控制所述的网络守护进程的前提是已经获取系统的最高权限。
同理,根据上述构造方法函数并将其植入到WiFiP2pManager中的示例可知,此处的清理代码完全可以同样的方法被构造为方法函数(清退接口),添加到WiFiP2pManager类的代码文件中,导出为该类的相应的成员函数,后续直接由本发明的应用程序进程调用该清退接口即可执行,而不必考虑当前是否已经获得系统ROOT权限。
综上所述,本发明的方法解决了Android智能终端同时开启热点模式和站点模式的技术难题,并且允许接入其热点模式下的网络群组的客户端经由其站点模式相对应的外网接口访问外网。
概而言之,通过本发明的处理,Android系统的智能终端便具备了双模功能,也即同时既可充当热点供其他设备接入,也可充当站点接入外部网络接入点,并且可以起到路由器的作用,允许接入该智能终端的客户端设备通过该智能终端访问外网。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种智能终端网络配置方法,其特征在于,包括如下步骤:
建立符合WiFi P2P规范的网络群组以完成本智能终端的热点模式的启动,使其与本智能终端的站点模式并存工作;
以系统最高权限调用网络守护进程修改网络共享配置信息使连通热点模式与站点模式之间的网络连接;
在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接。
2.根据权利要求1所述的方法,其特征在于,受控而启动所述网络群组的建立。
3.根据权利要求2所述的方法,其特征在于,通过在用户界面提供控制按键,以用于接收控制指令,以启动所述网络群组的建立。
4.根据权利要求1所述的方法,其特征在于,所述站点模式通过启动系统提供的站点进程即wpa_supplicant进程而实现。
5.根据权利要求1所述的方法,其特征在于,所述站点模式先于热点模式工作。
6.根据权利要求1所述的方法,其特征在于,启动所述热点模式使其与站点模式并存时,显示用于表征该智能终端处于热点模式和站点模式共存的双模状态的第三方图标。
7.根据权利要求1所述的方法,其特征在于,通过调用Android系统依照WiFi P2P协议的规范而提供的WifiP2pManager类的createGroup方法实现所述网络群组的建立。
8.根据权利要求1所述的方法,其特征在于,所述网络守护进程为Android系统的Netd守护进程,通过该网络守护进程提供的ndc工具控制该网络守护进程完成所述的网络共享配置信息。
9.根据权利要求1所述的方法,其特征在于,所述网络共享配置信息被修改为具备如下用途:
开通连通热点模式与站点模式之间的网络连接的数据包转发功能;
修正用于畅通热点模式与站点模式之间的网络连接的数据包过滤表的设置内容;
去除客户端共享上网限制解析DNS的选项。
10.一种智能终端,其特征在于,包括:
建立单元,用于建立符合WiFi P2P规范的网络群组以完成本智能终端的热点模式的启动,使其与本智能终端的站点模式并存工作;
配置单元,用于以系统最高权限调用网络守护进程修改网络共享配置信息使连通热点模式与站点模式之间的网络连接;
通信单元,用于在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610141032.2A CN106060970A (zh) | 2016-03-11 | 2016-03-11 | 智能终端及其网络配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610141032.2A CN106060970A (zh) | 2016-03-11 | 2016-03-11 | 智能终端及其网络配置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106060970A true CN106060970A (zh) | 2016-10-26 |
Family
ID=57484336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610141032.2A Pending CN106060970A (zh) | 2016-03-11 | 2016-03-11 | 智能终端及其网络配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106060970A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817742A (zh) * | 2016-12-30 | 2017-06-09 | 南京中科创达软件科技有限公司 | 一种Android上实现无线WiFi双工作模式的方法 |
CN109246258A (zh) * | 2018-10-16 | 2019-01-18 | Oppo广东移动通信有限公司 | Dns查询方法及相关产品 |
CN111328116A (zh) * | 2020-01-20 | 2020-06-23 | 广州华欣电子科技有限公司 | 无线设备双模式共存的控制方法、系统及无线设备 |
CN112165474A (zh) * | 2020-09-22 | 2021-01-01 | 珠海市魅族科技有限公司 | 一种网络监控方法及装置 |
CN112312394A (zh) * | 2020-11-27 | 2021-02-02 | 展讯半导体(成都)有限公司 | 一种无线保真Wi-Fi管理方法、装置及相关设备 |
WO2021218544A1 (zh) * | 2020-04-30 | 2021-11-04 | 华为技术有限公司 | 一种提供无线上网的系统、方法及电子设备 |
CN113766605A (zh) * | 2021-07-23 | 2021-12-07 | 深圳市智微智能科技股份有限公司 | android设备网络共享方法、系统、终端及存储介质 |
CN116055581A (zh) * | 2022-11-23 | 2023-05-02 | 广东博力威科技股份有限公司 | 数据传输控制方法、装置、设备及存储介质 |
CN116056096A (zh) * | 2022-12-09 | 2023-05-02 | 深圳市巨烽显示科技有限公司 | 利用无线Mesh网络节点进行配网的方法及相关设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140050146A1 (en) * | 2012-03-07 | 2014-02-20 | Qualcomm Incorporated | Multi-radio interference mitigation via frequency selectivity |
CN104202799A (zh) * | 2014-07-29 | 2014-12-10 | 福建星网锐捷通讯股份有限公司 | 一种wifi智能设备零配置接入无线网络的方法 |
CN104427488A (zh) * | 2013-08-29 | 2015-03-18 | 中兴通讯股份有限公司 | 一种终端及无线组网方法 |
CN104796932A (zh) * | 2015-03-20 | 2015-07-22 | 四川长虹电器股份有限公司 | 利用单一WiFi终端设备组建抗干扰能力子局域网的方法 |
US20150244876A1 (en) * | 2009-03-03 | 2015-08-27 | Mobilitie, Llc | Billing engine and method of use |
CN105101340A (zh) * | 2015-09-09 | 2015-11-25 | 深圳市唯传科技有限公司 | 基于智能移动终端的消息多跳控制方法及系统 |
CN105227693A (zh) * | 2015-09-30 | 2016-01-06 | 青岛海信移动通信技术股份有限公司 | 一种移动设备的dns的配置方法和装置 |
CN105228213A (zh) * | 2015-09-30 | 2016-01-06 | 青岛海信移动通信技术股份有限公司 | 一种移动设备进行中继的方法和装置 |
CN105228150A (zh) * | 2015-09-30 | 2016-01-06 | 青岛海信移动通信技术股份有限公司 | 一种移动设备进行中继的方法和装置 |
CN105307290A (zh) * | 2015-09-30 | 2016-02-03 | 青岛海信移动通信技术股份有限公司 | 一种移动设备的中继信道的配置方法和装置 |
CN105375970A (zh) * | 2015-09-30 | 2016-03-02 | 青岛海信移动通信技术股份有限公司 | 一种移动设备进行中继的方法和装置 |
CN105375969A (zh) * | 2015-09-30 | 2016-03-02 | 青岛海信移动通信技术股份有限公司 | 一种移动设备进行中继的方法和装置 |
-
2016
- 2016-03-11 CN CN201610141032.2A patent/CN106060970A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150244876A1 (en) * | 2009-03-03 | 2015-08-27 | Mobilitie, Llc | Billing engine and method of use |
US20140050146A1 (en) * | 2012-03-07 | 2014-02-20 | Qualcomm Incorporated | Multi-radio interference mitigation via frequency selectivity |
CN104427488A (zh) * | 2013-08-29 | 2015-03-18 | 中兴通讯股份有限公司 | 一种终端及无线组网方法 |
CN104202799A (zh) * | 2014-07-29 | 2014-12-10 | 福建星网锐捷通讯股份有限公司 | 一种wifi智能设备零配置接入无线网络的方法 |
CN104796932A (zh) * | 2015-03-20 | 2015-07-22 | 四川长虹电器股份有限公司 | 利用单一WiFi终端设备组建抗干扰能力子局域网的方法 |
CN105101340A (zh) * | 2015-09-09 | 2015-11-25 | 深圳市唯传科技有限公司 | 基于智能移动终端的消息多跳控制方法及系统 |
CN105227693A (zh) * | 2015-09-30 | 2016-01-06 | 青岛海信移动通信技术股份有限公司 | 一种移动设备的dns的配置方法和装置 |
CN105228213A (zh) * | 2015-09-30 | 2016-01-06 | 青岛海信移动通信技术股份有限公司 | 一种移动设备进行中继的方法和装置 |
CN105228150A (zh) * | 2015-09-30 | 2016-01-06 | 青岛海信移动通信技术股份有限公司 | 一种移动设备进行中继的方法和装置 |
CN105307290A (zh) * | 2015-09-30 | 2016-02-03 | 青岛海信移动通信技术股份有限公司 | 一种移动设备的中继信道的配置方法和装置 |
CN105375970A (zh) * | 2015-09-30 | 2016-03-02 | 青岛海信移动通信技术股份有限公司 | 一种移动设备进行中继的方法和装置 |
CN105375969A (zh) * | 2015-09-30 | 2016-03-02 | 青岛海信移动通信技术股份有限公司 | 一种移动设备进行中继的方法和装置 |
Non-Patent Citations (2)
Title |
---|
毛澄宇: ""基于Android终端的Wi-Fi中继功能的研究和实现"", 《电子质量》 * |
邓凡平: "《深入理解Android Wi Fi、NFC和GPS卷》", 30 March 2014 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817742A (zh) * | 2016-12-30 | 2017-06-09 | 南京中科创达软件科技有限公司 | 一种Android上实现无线WiFi双工作模式的方法 |
CN106817742B (zh) * | 2016-12-30 | 2020-07-24 | 南京中科创达软件科技有限公司 | 一种Android上实现无线WiFi双工作模式的方法 |
CN109246258A (zh) * | 2018-10-16 | 2019-01-18 | Oppo广东移动通信有限公司 | Dns查询方法及相关产品 |
CN111328116A (zh) * | 2020-01-20 | 2020-06-23 | 广州华欣电子科技有限公司 | 无线设备双模式共存的控制方法、系统及无线设备 |
WO2021218544A1 (zh) * | 2020-04-30 | 2021-11-04 | 华为技术有限公司 | 一种提供无线上网的系统、方法及电子设备 |
CN113676902A (zh) * | 2020-04-30 | 2021-11-19 | 华为技术有限公司 | 一种提供无线上网的系统、方法及电子设备 |
CN113676902B (zh) * | 2020-04-30 | 2024-04-23 | 华为技术有限公司 | 一种提供无线上网的系统、方法及电子设备 |
CN112165474A (zh) * | 2020-09-22 | 2021-01-01 | 珠海市魅族科技有限公司 | 一种网络监控方法及装置 |
CN112312394A (zh) * | 2020-11-27 | 2021-02-02 | 展讯半导体(成都)有限公司 | 一种无线保真Wi-Fi管理方法、装置及相关设备 |
CN112312394B (zh) * | 2020-11-27 | 2023-03-31 | 展讯半导体(成都)有限公司 | 一种无线保真Wi-Fi管理方法、装置及相关设备 |
CN113766605A (zh) * | 2021-07-23 | 2021-12-07 | 深圳市智微智能科技股份有限公司 | android设备网络共享方法、系统、终端及存储介质 |
CN116055581A (zh) * | 2022-11-23 | 2023-05-02 | 广东博力威科技股份有限公司 | 数据传输控制方法、装置、设备及存储介质 |
CN116056096A (zh) * | 2022-12-09 | 2023-05-02 | 深圳市巨烽显示科技有限公司 | 利用无线Mesh网络节点进行配网的方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105721220B (zh) | 智能终端及其网络底层配置方法 | |
CN105704226A (zh) | 智能终端及其网络配置方法 | |
CN106060970A (zh) | 智能终端及其网络配置方法 | |
CN102137395B (zh) | 配置接入设备的方法、装置及系统 | |
CN105847321A (zh) | 智能终端及其免系统权限网络配置方法 | |
US7620065B2 (en) | Mobile connectivity solution | |
EP1935143B1 (en) | Virtual lan override in a multiple bssid mode of operation | |
CN101335666B (zh) | 一种配置发送的方法、接入控制设备和接入点 | |
EP2389781B1 (en) | System and method for providing wireless local area networks as a service | |
CN103828412B (zh) | 用于远程配置无线设备的方法和系统 | |
EP2846586B1 (en) | A method of accessing a network securely from a personal device, a corporate server and an access point | |
CN102651707B (zh) | 一种无线网桥的自动配置方法 | |
US9191378B2 (en) | Communication apparatus and communication method | |
CN103634794B (zh) | 通过集成Portal的WLAN终端身份识别方法 | |
CN102026263A (zh) | 一种无线通信网络连接方法 | |
CN103313230B (zh) | 无线局域网网格网络中的网格点配置下发方法及网格点 | |
CN103297968B (zh) | 一种无线终端认证的方法、设备及系统 | |
US10257036B2 (en) | Secure plug and play configuration of wireless distribution system (WDS) Wi-Fi range extenders | |
CN104702608A (zh) | WiFi共享系统 | |
Neumann et al. | Community-lab: Architecture of a community networking testbed for the future internet | |
CN106993302A (zh) | 一种ap设备的测试方法及系统 | |
CN102035703A (zh) | 一种家庭无线网络及其实现方法 | |
CN114945192B (zh) | 一种EasyMesh网络快速组网方法以及系统 | |
CN109640350A (zh) | Ap的远程维护方法和装置 | |
CN105722076B (zh) | 一种利用路面井盖实现wifi网络覆盖的通信系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170719 Address after: 100102, 18 floor, building 2, Wangjing street, Beijing, Chaoyang District, 1801 Applicant after: BEIJING ANYUN SHIJI SCIENCE AND TECHNOLOGY CO., LTD. Address before: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park) Applicant before: Beijing Qihu Technology Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161026 |