智能终端及其网络配置方法_5

文档序号:9923920阅读:来源:国知局
r>[0370] SSid
[0371] Access point name
[0372] string
[0373] id_str
[0374] String identifying the network
[0375] string
[0376] priority
[0377] Connection priority over other APs
[037引 number(0 being the default low priority)
[0379] bssid
[0380] Mac address of the access point
[0381] mac ad虹ess
[0382] scan_ssid
[0383] Enable/disbale ssid scan
[0384] 0,1,2
[0385] key_mgmt
[0386] Type of key management
[0387] WPA-P 涨,WPA_EAP,None
[038引 pairwise
[0389] Pairwise ciphers for WPA
[0390] CCMP,TKIP
[0391] group二TKIP
[0392] Group ciphers for WPA
[0393] CCMP,TKIP,肥P104,肥P40
[0394] psk
[039己] Pre-Shared Key(clear or encrypted)
[0396] string
[0397] wep_key0
[0398] 肥P key(up to 4:wep_key[0123])
[0399] string
[0400] eap
[0401] Extensible Authentication Protocol
[0402] MD5,MSCHAPV2,OTP,GTC,TLS,PEAP,ITLS
[0403] identity
[0404] EAP identity string
[0405] string
[0406] password
[0407] EAP password
[040引 string
[0409] ca_cert
[0410] Pathname to CA certificate file
[0411] /full/path/to/certificate
[0412] client-Cei't
[0413] Pathname to client certificate
[0414] /full/path/to/certificate(PEM/DER)
[0415] private_key
[0416] Pathname to a client private key file
[0417] ZfuivpativtcVprivate-Icey(PEMA)ERz^pra)
[0418] 同理,^上参数表也可通过公共途径从Android官方得到,仅供参考,恕不繁述。W 下利用一用于连接无加密的AP的具体实例说明如何实现网络连接:
[0419] 〉add_network(将显示一网络ID,假定返回值为0)
[0420] 〉set_network 0 ssid"666"
[0421] 〉set_network 0 key_m卵t NONE
[0422] 〉enabIe_network O
[0423] >quit
[0424] 再利用一用于连接WEP加密的AP的具体实例加 W说明:
[0425] 〉add_network(假定网络 ID 返回 1)
[0426] 〉set_network lssid"666"
[0427] >set_network lkey_mgmt NONE
[042引 >set_network lwep_keyO"your ap password"
[0429] 〉enabIe_network I
[0430] 至于连接WPA-P涨/WPA2-P涨加密的AP的示例如下:
[0431 ] 〉add_ne twork (假定网络 ID返回 2)
[0432] 〉set_network 2ssid"666"
[0433] >set_network 2psk"your pre-shared key"
[0434] >enable_network 2
[043日]到此,wifi模块就能连接上AP 了。
[0436] W上是通过命令行工具wpa_cli来实现wif i网络的连接。当然,也可W通过wpa_ supplicant的配置文件来实现连接。
[0437] 不妨再回顾前面运行wpa_supp 1 i cant时执行的命令:
[043引 /system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_ supplic过nt.conf
[0439] 我们在执行时加上了-c/data/misc/wif i/wpa_swplicant .conf,故而可 W 将要 连接的AP的设置1^一定的格式写入wpa_supplicant.conf配置文件中即可。例如:
[0440] ctrl_interface = DIR = /data/system/wpa_supplicant G民OUP = system update-conf ig = 1
[0441] network二{
[0442] ssid = "my access point"
[0443] proto 二 WPA
[0444] keyjngmt 二 WPA-P 涨 [044己] psk = "you pass words"
[0446] }
[0447] 可见,即使是调用站点进程启动智能终端WiFi芯片模组的站点模式,也可通过W 上运用指令、运用配置文件两种不同方式,来实现由应用程序进程自行控制所述的站点进 程的开启,从而使智能终端工作于站点模式之下。
[0448] 由W上的分析可知,本发明可W借助多种方式激活智能终端的站点模式,并通过 调用点对点连接管理类的createGroup方法来激活智能终端的热点模式,这两种模式可^ 并存于Android智能终端中。从而使得智能终端能够利用其站点模式接入外网,同时利用热 点模式建构一个小型网络。
[0449] 为使上述的双模状态更易于操作,体现更佳的用户体验,本发明的应用程序进程 可W通过对用户界面进行设计来对此加 W完善。
[0450] 用户界面泛指能够用于实现人机交互并且能够接收用户控制指令的显示界面,例 如,可W为Android系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下 同),也可W是从桌面呼出的通知栏或者交互页面中的一个选项,还可W是所述应用程序的 一个活动组件所构造的页面中的一个选项。
[0451] 本发明优选如下两种方式,用于接收所述的控制指令:
[0452] 其一,通过在用户界面提供单个控制按键,W用于一键式地接收所述的控制指令, 运种方式便于用户实现一键式操作。
[0453] 其二,通过在用户界面对应热点模式和站点模式而分别提供控制按键,W分别对 应不同按键而产生对应启动相应的模式的控制指令。
[0454] 根据W上的方式提供的控制按键,通常运些按键可W优选设置在系统桌面通知栏 列表处,或者W桌面悬浮窗的方式提供,既便于用户触控控制,又不影响用户视觉效果,当 然也可作为系统的默认功能而随用户开启WiFi按键时激活。较佳的,所述应用程序可W将 自身设为自启动项,使得系统启动时,可W自行加载所述的按键,从而便于用户操作。
[0455] 当用户通过所述的用户界面,触控所述的控制按键之后,便产生相应的控制指令, 该控制指令将被所述应用程序的进程接收,从而对应控制热点模式和/或站点模式开启。
[0456] 具体而言,用户既可W通过单个控制按键来希望同时开启热点模式和站点模式, 也可W通过两个与两种模式相对应的按键来开启,实质上提供了多种操作变化例。对应运 些变化,W下进一步示例说明。
[0457] 设用户界面提供单个控制按键,用户通过该单个控制按键而触发其用户指令,此 处便可W先调用createGroup()创建热点。继而,本发明的应用程序进程再自行启动该站 点进程,由此便可实现两种模式的并存。反之,也可W先行启动站点进程,在其完成开启之 后,再行参照上述示例开启热点模式。也就是说,对应于单个控制按键引起的控制指令,可 WW不同的实施方式灵活安排所述热点模式和站点模式的启动顺序。
[0458] 而对应用户界面提供不同的控制按键,分别表征开启不同的模式的实例而言,贝U 可按用户点击不同控制按键的顺序而按序开启相应的模式,此举并不影响本发明的实施。
[0459] 在优选的方案中,推荐优先让站点模式先于热点模式开启,在确保本智能终端可 W连接外网的情况下,向其他智能终端提供接入功能,可W免除一些无用功,更为节能。
[0460] 由此可见,将站点模式与热点模式相继启动后,便可W实现两种模式的共存。在此 基础上,本发明的应用程序进程可W向用户界面输出一些结果信息,W告知用户该智能终 端当前已经处于热点模式和站点模式共存的双模状态。至于所述的结果信息的表达形式, 既可W是通过系统消息显示到通知栏中,也可W在桌面上弹窗显示,更优的方式可W是调 用一个预设的第=方图标,用于表征该智能终端处于热点模式和站点模式共存的双模状 态,将该第=方图标显示到用户界面的系统状态栏中,使得用户更易于获知相应的结果信 息。
[0461] 所述的配置单元12,被配置为W系统最高权限调用网络守护进程修改网络共享配 置信息使连通热点模式与站点模式之间的网络连接。
[0462] 设及到对网络守护进程直接调用的操作,依照Amlroid的规范,需要获取系统的最 高权限,因而,在获取Amlroid系统最高权限或者Amlroid系统已经开放最高权限的前提下, 可W通过对所述网络守护进程进行调用,借此修改设及到网络共享的配置信息,即网络共 享配置信息,W便连通热点模式与站点模式之间的网络连接,让客户端可W通过服务端来 访问外网。
[0463] 所述的网络守护进程,即Netd,化twork化emon的缩写。Netd负责跟一些设及物理 端口的网络操作相关的功能实现,例如带宽控制(Bandwi化h),网络地址转换(NAT),个人局 域网(pan),PPP链接,SOf t-ap,本智能终端的热点模式所设及的共享上网(Te ther)等 等……都是按照模块(.CPP+.h)组织在netd文件目录下的。
[0464] Amlroid化td相关的基本框架的四大部分:
[0465] (1化inux Kernel用于检测网络相关的所有事件。
[0466] (2)化td作为Kerne 1 (内核层)与Framework (框架层)之间通信的桥梁。
[0467] (3)框架层操作化td,向化td发送操作命令。
[0468] (4)应用层与框架层交互,用于用户进行网络的操控。
[0469] Amlroid为化td提供了 一个测试工具,即ndc,其主要功能有:
[0470] 监视化td中发生的事件。
[0471] 支持通过命令行发送命令给化td去执行。ndc的实现原理,便是连接上位于netd进 程中的"netd"监听socket,然后从化td接收信息或发送命令给化td。
[0472] 由此可见,可W通过ndc来驱动网络守护进程执行相关指令,本发明中,实现对网 络共享配置信息的修改的功能,便可利用ndc命令来实施。
[0473] 请先参照如下对Android系统实施的观测过程:
[0474] 首先,通过分析,发现createG;roup()创建热点之后,虽然产生可W被客户端连 接,但其用于向用户反馈DHCP配置信息的配置进程DNSmasq的参数如下:
[0475] /system/bin/dnsnmsq-keep-in-fore邑round-no-resolv-no-poll-dhcp-auth oritative-dhcp-〇ption-force=43,ANDR0ID_METERED-pid-file-dhcp-rang e = 192.168.42.2,192.168.42.254,化一dhcp-range = 192.168.43.2,192.168.43.254, 化--dhcp-range=192.168.44.2,192.168.44.254,化一化cp-range=192.168.45.2, 192.168.45.254,化一化cp-range = 192.168.46.2,192.168.46.254,化一化cp-range = 192.168.47.2,192.168.47.254,化一dhcp-range = 192.168.48.2,192.168.48.254,化一 化cp-range = 192.168.49.2,192.168.49.254,化
[0476] 从中可W看出,其中增加了强制配置序列为43的控制选项即化cp-option-force = 43,ANDR0ID_METERED,序号43的官方释义是厂商指定选项,用于表示当前连接为计费连 接,在运种情况下,客户端将不能利用服务端的外网连接,W免产生巨额费用。然而,运种设 计逻辑是W服务端将通过运营商的计费连接而提供访问外网服务的,但服务端存在WWiFi 站点模式建立的免费外网连接的情况,并未被An化Oid所兼容。
[0477] 继而,通过分析An化Oid官方文档中对于TetherControl Ier (共享控制器)的源代 码可知,在运种情况下,该处对ANDR0ID_METER抓进行了规范,然而,却未见默认网关的设 置。
[0478] 而对客户端中进行分析,从core . java.an化Oid.net .DhcpInfOInternal也就是 化CP客户端那边,利用下述的代码实施检测: public boolean hasMet;eredHint() I
[0479] if (vendoiinfo != null) {. r別耻打巧打dorl打份.巴cmtdn s(" A N D反飢D-METE趾D "); } else { 1'己1:山'口化136;
[0480] } }
[0481] W上的分析表明,如
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1