一种WiFi的连接方法、电子设备、存储介质和芯片与流程
未命名
09-02
阅读:164
评论:0

一种wifi的连接方法、电子设备、存储介质和芯片
技术领域
1.本技术涉及终端技术领域,尤其涉及一种wifi的连接方法、电子设备、存储介质和芯片。
背景技术:
2.当前手机在利用无线保真(wireless fidelity,wifi)进行上网业务时,可能会出现丢网、断连等情况,在手机出现丢网、断连等情况时,通常会重启手机的wifi网络系统以改善该情况。但是,重启wifi网络系统的过程中可能会由于手机软件、硬件等自身缺陷导致wifi网络系统重启异常。
3.为了使wifi网络系统重启正常,一般的解决方案会在程序中加入大量的日志或者大量的追踪去定位存在缺陷的软件或硬件以查询缺陷原因,进而根据缺陷的软件或硬件以及缺陷原因制定恢复网络的策略,但是这种解决方案有以下缺点:第一、即使手机运行大量的日志程序或大量的追踪程序也依然存在无法定位到存在缺陷的软件或硬件的问题,从而无法制定恢复策略以恢复手机的网络,导致手机出现断网的情况, 影响手机的稳定性。
4.第二、手机运行大量的日志程序或者大量的追踪程序会增加手机的功耗,影响手机的性能。
5.第三、手机在通过定位缺陷、查询缺陷以及制定恢复策略对wifi网络进行处理时,处理时长较长,由于处理时长较长,会使用户明显感知到手机出现断网、断流现象。
6.综上可知,在手机出现丢网、断连等情况,一般的解决方案会影响手机的稳定性和性能,以及会使用户明显感知到手机出现断网、断流等现象,从而影响用户的使用体验。
技术实现要素:
7.本技术提供一种wifi的连接方法、电子设备、存储介质和芯片,可以提升手机的稳定性和性能,以及降低用户对断网、断连等现象的感知程度,从而提升用户的使用体验。
8.第一方面,提供了一种wifi的连接方法,应用于电子设备的wifi网络系统,所述wifi网络系统包括wifi驱动、无线配置服务模块和wifi芯片,所述无线配置服务模块配置于硬件抽象层,该方法包括:在检测到触发事件的情况下,所述wifi驱动重启所述wifi网络系统;在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态,所述wifi芯片用于连接外接无线设备;在所述wifi芯片的状态为所述关闭状态的情况下,所述无线配置服务模块向所述wifi驱动发送第一控制指令,所述第一控制指令用于指示所述wifi驱动修改所述wifi芯片的状态为开启状态;所述wifi驱动根据所述第一控制指令,将所述wifi芯片的状态由所述关闭状态修改为所述开启状态,以通过重启后的所述wifi网络系统实现所述电子设备与所述外接无线设备的连接。
9.本技术实施例,电子设备可以在wifi芯片的状态为关闭状态的情况下,通过无线
配置服务模块向wifi驱动发送第一控制指令,wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,可以使wifi网络系统的重启为正常重启,从而使电子设备通过重启后的wifi网络系统实现电子设备与外接无线设备的连接,恢复电子设备的上网功能,避免 了电子设备出现断网、断流等现象,相比于现有的通过在程序中加入大量的日志或者大量的追踪去定位存在缺陷的软件或硬件以查询缺陷原因以及制定恢复策略以恢复上网功能的方案,可有效地提升电子设备的稳定性;并且,本技术实施例无需在电子设备的程序中加入大量的日志或者大量的追踪,通过无线配置服务模块向wifi驱动发送的第一控制指令,就可以使得wifi驱动根据第一控制指令将wifi芯片的状态由关闭状态修改为开启状态,以恢复电子设备的上网功能,降低了电子设备的功耗,提升了电子设备的性能;此外,电子设备通过无线配置服务模块向wifi驱动发送第一控制指令以恢复电子设备的上网功能,相对于通过定位缺陷、查询缺陷以及制定恢复策略以恢复上网功能所花费的处理时长较少,由于本技术可以降低恢复网络的处理时长,从而可以降低用户对断网、断连等现象的感知程度,提升了用户的使用体验。
10.由上述可知,在电子设备检测到触发事件的情况下,本技术的方案可以提升电子设备的稳定性和性能,以及降低用户对断网、断连等现象的感知程度,从而提升用户的使用体验。
11.结合第一方面,在第一方面的某些实现方式中,在所述wifi驱动根据所述第一控制指令,将所述wifi芯片的状态由所述关闭状态修改为所述开启状态之后,所述方法还包括:在所述无线配置服务模块执行所述电子设备与所述外接无线设备的连接流程的过程中,所述无线配置服务模块确定所述wifi芯片的状态为所述开启状态;所述无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现所述电子设备与所述外接无线设备的连接。
12.本技术实施例,电子设备在wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态之后执行的电子设备与外接无线设备的连接流程的过程中,在无线配置服务模块确定wifi芯片的状态为开启状态的情况下,无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现电子设备与外接无线设备的连接,从而恢复电子设备的网络,避免了电子设备在执行电子设备与外接无线设备的连接流程的过程中,由于wifi芯片为关闭状态导致电子设备与外接无线设备无法连接的情况发生,可以保证电子设备与外接无线设备的正常连接,从而可以恢复电子设备的上网功能,提升用户体验。
13.此外,由于电子设备在执行电子设备与外接无线设备的连接流程的过程之前通过第一控制指令使得wifi驱动将wifi芯片的状态修改为开启状态,且在执行电子设备与外接无线设备的连接流程的过程中,通过无线配置服务模块再次确定wifi芯片的状态,能够尽可能保证在电子设备与外接无线设备的连接流程的过程中wifi芯片的状态为开启状态以保证电子设备与外接无线设备的正常连接,避免了由于电子设备自身的软件或硬件缺陷或网络不稳定等问题使wifi驱动未成功执行该第一控制指令,使得wifi芯片的状态仍然为关闭状态导致的电子设备与外接无线设备无法连接的情况的发生,因此,本技术实施例提升了电子设备的wifi网络系统的可靠性。
14.结合第一方面,在第一方面的某些实现方式中,所述在检测到所述wifi驱动完成
对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态,包括:在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,且在所述无线配置服务模块执行所述电子设备与所述外接无线设备的连接流程的过程中,所述无线配置服务模块确定所述wifi芯片的状态为所述关闭状态;以及,在所述wifi驱动根据所述第一控制指令,将所述wifi芯片的状态由所述关闭状态修改为所述开启状态之后,所述方法还包括:所述无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现所述电子设备与所述外接无线设备的连接。
15.本技术实施例,电子设备在检测到wifi驱动完成对wifi网络系统的重启的情况下,在无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,无线配置服务模块确定wifi芯片的状态为关闭状态,在wifi芯片的状态为关闭状态的情况下,无线配置服务模块向wifi驱动发送第一控制指令;wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,从而可以使无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现电子设备与外接无线设备的连接,避免了在无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,由于wifi芯片为关闭状态导致电子设备与外接无线设备无法连接的情况发生,可以保证电子设备与外接无线设备的正常连接,从而可以恢复电子设备的上网功能,提升用户体验。
16.结合第一方面,在第一方面的某些实现方式中,所述在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态,包括:在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块根据从套接字socket接口获取的所述wifi芯片的状态信息,确定所述wifi芯片的状态为所述关闭状态。
17.结合第一方面,在第一方面的某些实现方式中,所述在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态之前,所述方法还包括:所述wifi驱动接收第二控制指令,所述第二控制指令用于指示所述wifi驱动控制所述wifi芯片的状态为所述关闭状态;所述wifi驱动根据所述第二控制指令,控制所述wifi芯片的状态为所述关闭状态;所述wifi驱动向所述无线配置服务模块发送所述第二控制指令;以及,所述在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态,包括:在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块根据所述第二控制指令,确定所述wifi芯片的状态为所述关闭状态。
18.结合第一方面,在第一方面的某些实现方式中,所述wifi驱动向所述无线配置服务模块发送所述第二控制指令,包括:所述wifi驱动通过cfg80211接口和nl80211接口向所述无线配置服务模块发送所
述第二控制指令。
19.结合第一方面,在第一方面的某些实现方式中,所述在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态之前,所述方法还包括:所述wifi驱动向所述无线配置服务模块发送所述wifi网络系统的重启完成的消息;所述无线配置服务模块根据所述重启完成的消息,检测到所述wifi驱动完成对所述wifi网络系统的重启。结合第一方面,在第一方面的某些实现方式中,所述wifi驱动向所述无线配置服务模块发送所述wifi网络系统的重启完成的消息,包括:所述wifi驱动通过cfg80211接口和nl80211接口向所述无线配置服务模块发送所述wifi网络系统的重启完成的消息。
20.结合第一方面,在第一方面的某些实现方式中,所述触发事件包括所述wifi芯片与所述wifi驱动之间的通信链路断连事件或wifi网络状态异常事件。
21.结合第一方面,在第一方面的某些实现方式中,所述wifi驱动重启所述wifi网络系统,包括:所述wifi驱动控制所述wifi芯片下电,以使得所述wifi芯片处于所述关闭状态;所述wifi驱动控制所述wifi芯片上电,以使得所述wifi芯片处于所述开启状态;所述wifi驱动接收第二控制指令,所述第二控制指令用于指示所述wifi驱动控制所述wifi芯片的状态为所述关闭状态;所述wifi驱动根据所述第二控制指令,控制所述wifi芯片的状态为所述关闭状态。
22.第二方面,提供一种电子设备,所述电子设备用于执行上述第一方面提供的方法。具体地,所述电子设备可以包括用于执行上述第一方面中任一种可能实现方式的处理单元。
23.第三方面,提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或者多个计算机程序,所述一个或者多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行上述第一方面中任一项可能的实现中的方法。
24.第四方面,提供一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面所述的方法。
25.第五方面,提供一种芯片,包括存储器,用于存储指令;还包括处理器,用于从存储器中调用并运行指令,使得安装有芯片的电子设备执行上述第一方面所述的方法。
附图说明
26.图1是本技术实施例提供的一种电子设备100的结构示意图。
27.图2是本技术实施例提供的一种电子设备100的软件系统的示意图。
28.图3是本技术实施例提供的一种wifi的连接方法300的示意性流程图。
29.图4是本技术实施例提供的一种确定wifi芯片是否为up状态的示例图。
30.图5是本技术实施例提供的一种重启wifi子系统的示意性流程图。
31.图6是本技术实施例提供的另一种wifi的连接方法400的示意性流程图。
32.图7是本技术实施提供的另一种wifi的连接方法500的示意性流程图。
33.图8是本技术实施例提供的电子设备600的示例性框图。
34.图9是本技术实施例提供的电子设备700的示意性结构图。
具体实施方式
35.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“复数个”或者“多个”是指两个或多于两个。
36.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
37.本技术实施例提供的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等电子设备上,本技术实施例对电子设备的具体类型不作任何限制。
38.示例性的,图1示出了电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,天线1,天线2,移动通信模块140,无线通信模块150,音频模块160,传感器模块170,摄像头181,显示屏182等。其中传感器模块170可以包括压力传感器170a,陀螺仪传感器170b等。
39.可以理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
40.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
41.其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
42.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器
110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
43.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户身份识别 (subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
44.示例性的, mipi接口可以被用于连接处理器110与显示屏182,摄像头181等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头181通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏182通过dsi接口通信,实现电子设备100的显示功能。
45.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头181,显示屏182,无线通信模块150,音频模块160,传感器模块170等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
46.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
47.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
48.本技术实施例中,电子设备100可以通过无线通信模块150与路由设备进行连接,实现电子设备100的无线通信功能。具体的,电子设备100可以通过wifi网络实现电子设备100的无线通信功能。在用户利用电子设备100的wifi网络进行上网业务时,如果出现断网、断连等现象,处理器110可以在重启无线通信模块150之后通过使无线通信模块150与路由设备重新连接以恢复wifi网络,但是在重启无线通信模块150的过程中,由于电子设备100的软件、硬件等自身缺陷导致无线通信模块150重启异常,主要是因为无线通信模块150的wifi芯片在重启时无法重新开启导致的无线通信模块150重启异常,从而使无线通信模块150与路由设备无法重新连接。本技术实施例,处理器110可以在无线通信模块150与路由设备重新连接的过程中,在确定wifi芯片的状态为关闭状态的情况下,控制wifi芯片为开启状态,以保证无线通信模块150与路由设备可以重新连接。处理器110还可以在无线通信模块150与路由设备重新连接之前,在确定wifi芯片的状态为关闭状态的情况下,控制wifi芯片为开启状态,以保证无线通信模块150与路由设备可以重新连接,从而可以恢复wifi网络。
49.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块140,无线通信模块150,调制解调处理器以及基带处理器等实现。
50.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
51.移动通信模块140可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块140可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块140可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块140还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块140的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块140的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
52.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器,受话器等)输出声音信号,或通过显示屏182显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块140或其他功能模块设置在同一个器件中。
53.无线通信模块150可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
54.在一些实施例中,电子设备100的天线1和移动通信模块140耦合,天线2和无线通信模块150耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc ,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
55.电子设备100通过gpu,显示屏182,以及应用处理器等实现显示功能。gpu为图像处
理的微处理器,连接显示屏182和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
56.显示屏182用于显示图像,视频等。显示屏182包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备100可以包括1个或n个显示屏182,n为大于1的正整数。
57.电子设备100可以通过isp,摄像头181,视频编解码器,gpu,显示屏182以及应用处理器等实现拍摄功能。
58.isp 用于处理摄像头181反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头181中。
59.摄像头181用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头181,n为大于1的正整数。
60.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
61.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
62.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
63.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
64.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此
外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
65.电子设备100可以通过音频模块160,以及应用处理器等实现音频功能。例如音乐播放,录音等。
66.音频模块160用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块160还可以用于对音频信号编码和解码。在一些实施例中,音频模块160可以设置于处理器110中,或将音频模块160的部分功能模块设置于处理器110中。
67.压力传感器170a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器170a可以设置于显示屏182。压力传感器170a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器170a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏182,电子设备100根据压力传感器170a检测所述触摸操作强度。电子设备100也可以根据压力传感器170a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
68.陀螺仪传感器170b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器170b确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器170b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器170b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器170b还可以用于导航,体感游戏场景。
69.关于电子设备100的硬件结构就介绍到此,可以理解的是,图1示出的硬件结构中包含的部件,并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,本技术对此不作限定。
70.电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明电子设备100的软件结构。
71.图2是本技术实施例的电子设备100的软件系统的示意图。软件系统包括若干个层,每一层都有清晰的角色和分工,层与层之间通过软件接口通信。在一些实施例中,如图2所示, android系统可以包括五层,从上至下分别为应用层21、应用框架层22、硬件抽象层23、驱动层24以及硬件层25。
72.应用层21可以包括wlan应用程序,应用层21还可以包括图库、日历、通话、地图、导航、蓝牙、音乐、视频、短信息等应用程序,本技术实施例对此不作限定。
73.应用框架层22为应用层的应用程序提供应用程序编程接口(application programming interface,api)和编程框架;应用框架层可以包括一些预定义的函数。
74.例如,应用框架层22可以包括wifi服务(wifiservice),wifiservice是wifi功能的总入口,负责wifi功能的核心业务。wifiservice处理实际的驱动加载、扫描、链接、断开
等命令,以及底层上报的事件。
75.硬件抽象层(hardware abstraction layer,hal)23用于将硬件抽象化。比如,硬件抽象层可以包括无线配置服务模块,其中,无线配置服务模块包括无线网络配置模块(wifi protected access supplicant,wpa_ supplicant)和wificond模块。
76.wpa_supplicant主要是用于支持有线等效保密协议(wired equivalent privacy,wep),保护无线电脑网络安全系统(wi-fi protected access,wpa),wpa1和wpa2等,以及用于扫描无线接入点、加密认证以及关联无线接入点等,wpa_supplicant还用于与wifi驱动交互上报数据给用户,而用户可以发送命令给wpa_supplicant调动wifi驱动来对wifi芯片操作。
77.本技术实施例中,wpa_supplicant还可以用于判断wifi芯片的状态,在wifi芯片的状态处于关闭状态时,通过控制wifi驱动以使wifi芯片的状态处于开启状态。
78.wificond模块可以用于扫描wifi以及将扫描结果上报给上层。本技术实施例中,wificond模块还可以用于判断wifi芯片的状态。
79.驱动层24用于为不同硬件设备提供驱动。例如,驱动层可以包括wifi驱动。wifi驱动用于对wifi芯片的管理,例如,初始化、控制、参数配置、监控、数据交互等。
80.硬件层25可以包括wifi芯片以及其他硬件设备。wifi芯片是一种用于无线网络连接的芯片,它通过无线电波传输数据。wifi 芯片内部包含了一系列的电路和组件,包括射频收发器、基带处理器、天线等。 wifi芯片包括usb接口的wifi芯片、外设部件互连标准(peripheral component interconnect,pci)接口的wifi芯片和mini-pci接口的芯片等,本技术实施例对此不作限定。
81.本技术实施例中,wifi芯片也可以称为无线网卡、wlan0、wlan1等,本技术实施例对此不作限定。
82.可以理解的是,图2示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备200的具体限定。在本技术另一些实施例中,电子设备200可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本技术对此不作限定。
83.当手机与路由设备连接利用wifi进行上网业务时,可能会在通话、视频、大流量下载、应用体验等场景下有丢网、断连等现象。
84.例如:手机处于灭屏状态下,为了省电,手机会将wifi芯片切换至低功耗模式(即休眠模式),在低功耗模式下,wifi芯片与wifi驱动之间的pcie通信链路会断开,pcie通信链路断开后,手机无法实现上网功能。在手机亮屏之后,手机会唤醒wifi芯片,使wifi芯片从低功耗模式切换至工作模式,wifi芯片与wifi驱动之间的pcie通信链路会恢复连接,手机恢复上网功能。手机多次在灭屏和亮屏之间来回切换时,可能会导致pcie通信链路恢复失败,进而导致手机在亮屏状态下也无法实现上网功能,用户也就无法利用手机进行通话、视频、大流量下载。
85.又例如:用户利用手机进行视频通话时,由于手机软件中程序代码逻辑出现问题或者程序代码中参数有误,可能会导致手机与路由设备断连,进而导致用户无法利用手机进行视频通话。
86.手机出现无法实现上网功能时,可以通过强制重启wifi网络系统等恢复上网功能,但是由于手机的硬件(例如:手机的一个或多个寄存器状态异常)、软件(例如:手机中部
supplicant模块和wificond模块)、wifi驱动和wifi芯片,以及nl80211接口、cfg80211接口和mac80211接口等。关于无线配置服务模块、wifi驱动和wifi芯片的定义可以参考图2实施例的相关部分,此处不再赘述。
102.其中,nl80211接口用于与电子设备中的用户态应用程序进行交互,nl80211还可以对电子设备进行配置管理,其是一个基本的用户态协议。cfg80211接口是与wlan功能相关的管理接口,用于电子设备中的系统应用程序对wifi芯片进行控制。mac80211接口是wlan802.11协议层组件,提供802.11协议标准的媒体存取控制位址(media access control address,mac)层的功能。
103.本技术实施例中,在wifi驱动检测到发生pcie linkdown事件的情况下,可以使wifi驱动重启wifi子系统。pcie linkdown事件可以认为是重启wifi子系统的触发事件,在wifi驱动检测到发生触发事件的情况下,wifi驱动根据重启wifi子系统的指令,重启wifi子系统。
104.通俗的讲,wifi子系统重启机制是指在软件层面上先关闭wifi子系统,使wifi芯片处于down状态,然后重新打开wifi子系统,使wifi芯片恢复为up状态,以使电子设备可以重新恢复上网功能。本技术实施例中wifi子系统重启机制的内部实现过程可以参考图5中的描述,此处不再赘述。
105.s303、wifi驱动在wifi子系统重启过程中是否接收到netdev down指令。
106.应理解,netdev down指令是指强制关闭wifi芯片的指令。
107.在wifi子系统重启过程中,由于电子设备的硬件或软件等自身缺陷,例如:内核态或用户态运行程序时出现逻辑错误,又例如: 在wifi子系统重启过程中wifi芯片的寄存器状态异常,那么,内核态、用户态、寄存器都有可能向wifi驱动发送netdev down指令,wifi驱动根据该指令控制wifi芯片处于down状态。可以理解,wifi芯片为down状态是指wifi芯片处于关闭状态。
108.在wifi子系统重启后,如果wifi芯片为关闭状态,那么,wifi子系统的重启就是异常重启,在wifi子系统异常重启的情况下,电子设备就无法重新连接wifi,出现断网、断连现象。
109.在wifi子系统重启过程中,电子设备并未出现异常情况,也就是说内核态、用户态、寄存器等未向wifi驱动发送netdev down指令,自然地,wifi驱动未接收到netdev down指令,wifi子系统重启后wifi芯片为up状态。应理解,wifi芯片为up状态是指wifi芯片处于开启状态。
110.在wifi子系统重启后,如果wifi芯片为开启状态,那么,wifi子系统的重启就是正常重启,在wifi子系统为正常重启的情况下,可以重新使电子设备与路由设备连接,实现上网功能。
111.s304、wifi驱动在接收到netdev down指令的情况下,控制wifi芯片为down状态。
112.在一些实施例中,在wifi子系统重启过程中,wifi子系统会先控制wifi芯片处于down状态,然后控制wifi芯片处于up状态。由于电子设备的硬件或软件等自身缺陷,wifi驱动在控制wifi芯片处于up状态之后,接收到netdev down指令,wifi驱动将wifi芯片由up状态修改为down状态。
113.在另一些实施例中,在wifi子系统重启过程中,由于电子设备的硬件或软件等自
身缺陷,wifi驱动在控制wifi芯片处于down状态之后,在控制wifi芯片处于up状态之前或同时,接收到netdev down指令,原本wifi驱动需要将处于down状态的wifi芯片重新开启,使wifi芯片处于up状态,但是此时wifi驱动需要执行netdev down指令,控制wifi芯片就一直处于down状态。
114.s305、wifi驱动向无线配置服务模块发送wifi子系统重启完成的消息。
115.应理解,无线配置服务模块位于hal层。无线配置服务模块可以为图2示出的无线网络配置模块(即,wpa_supplicant模块),还可以为图2示出的wificond模块。关于wificond模块和wpa_supplicant模块的定义和作用已在其他实施例中陈述,此处不再赘述。
116.本技术实施例中,wifi驱动可以通过cfg80211接口和nl80211接口向无线配置服务模块发送重启完成的消息。关于cfg80211接口和nl80211接口的相关含义可以参考上文实施例,此处不再赘述。
117.本技术实施例wifi驱动向无线配置服务模块发送wifi子系统重启完成的消息的目的在于:一是为了让hal层中的无线配置服务模块接收到该消息之后,周期性的自动触发电子设备与路由设备的连接流程,例如图3中的a流程(电子设备与路由设备的连接流程):无线配置服务模块接收到该消息之后,每隔2毫秒执行一次a流程,其中,a流程包括s308至s310。
118.二是为了让hal层中的无线配置服务模块接收到该消息之后,确定wifi芯片的状态。例如图3中的b流程:无线配置服务模块接收到该消息之后,执行b流程,b流程包括s306和s307。
119.s306、无线配置服务模块确定wifi芯片是否为up状态。
120.应理解,无线配置服务模块接收到wifi驱动发送的wifi子系统重启完成的消息之后,可以通过套接字socket接口获取wifi芯片的状态信息,从而可以根据获取到的wifi芯片的状态信息,确定wifi芯片是否为up状态。
121.还可以理解,socket是一种接口技术,可以抽象成一个文件操作,可以让同一台计算机的进程之间通信,也可以让不同计算机的进程通信。本技术实施例,可以通过socket接口实现hal层与硬件层之间的通信。
122.在一示例中,如果s303判断出wifi驱动未接收到netdev down指令,那么,由于wifi驱动未接收到netdev down指令,wifi子系统重启之后wifi芯片为up状态,此时,s306通过socket接口确定出的wifi芯片的状态为up状态。
123.在另一示例中,如果在s303判断出wifi驱动接收到netdev down指令,那么,由于wifi驱动接收到netdev down指令,并且wifi驱动已经控制wifi芯片为down状态,wifi子系统重启之后wifi芯片为down状态,此时,s306通过socket接口确定出的wifi芯片的状态为down状态。
124.还应理解,wifi子系统重启之后wifi芯片为up状态,确定wifi子系统的重启为正常重启,wifi子系统重启之后wifi芯片为down状态,确定wifi子系统的重启为异常重启,因而,本技术实施例确定wifi芯片是否为up状态是为了确定wifi子系统的重启是正常重启还是异常重启。
125.s307、在确定wifi芯片为down状态的情况下,无线配置服务模块通过控制指令强制wifi芯片为up状态。
126.本技术实施例,无线配置服务模块通过socket接口获取到的wifi芯片的状态信息为wifi芯片处于down状态,此时无线配置服务模块向驱动层的wifi驱动发送控制指令,例如:控制指令为linux_set_iface_flags,wifi驱动根据控制指令控制wifi芯片为up状态。
127.s308、无线配置服务模块确定wifi芯片是否为up状态。
128.应理解,无线配置服务模块可以在检测到s305发送的wifi子系统重启完成的消息之后,周期性的自动触发电子设备与路由设备的连接流程,其中,连接流程包括s308、s309和s310。图8示出的连接流程可以是周期性自动触发的多次连接流程中的任一次连接流程。
129.实现中,无线配置服务模块可以通过socket接口获取wifi芯片的状态信息,从而可以根据获取到的wifi芯片的状态信息,确定wifi芯片是否为up状态。
130.还应理解,通过s308确定的wifi芯片的状态与wifi驱动是否接收到netdev down指令以及在执行电子设备与路由设备的连接流程a之前是否已经执行了b流程有关。以下通过三个示例(示例一、示例二和示例三),详细介绍了无线配置服务模块通过s308确定的wifi芯片的状态。
131.示例一,在s303中,如果wifi驱动未接收到netdev down指令,那么,wifi子系统的重启为正常重启,因而,不论执行a流程之前是否已经执行了b,在执行a流程时,s308确定出的wifi芯片的状态均为up状态。例如:图4是本技术实施例提供的一种确定wifi芯片是否为up状态的示例图。图4中的0,1,2,3和4代表时间戳上的时刻,比如,0代表第0毫秒,1代表第1毫秒等。参见图4中的(a),wifi驱动通过s303判断出未接收到netdev down指令时,通过s305向无线配置服务模块发送重启完成的消息,无线配置服务模块可以在接收到s305发送的消息后的第1毫秒执行a流程,第2毫秒执行b流程。参见图4中的(b),无线配置服务模块还可以在接收到s305发送的消息后的第1毫秒执行b流程,第2毫秒执行a流程。不论无线配置服务模块是在执行a流程后执行b流程,还是在执行b流程后执行a流程,a流程中的s308确定出的wifi芯片的状态均为up状态,在确定出wifi芯片的状态为up状态之后,可以继续执行s309和s310,以恢复电子设备的上网功能。
132.示例二,在s303中,如果wifi驱动接收到netdev down指令,那么,wifi子系统的重启为异常重启,因而,如果执行a流程之前已经执行了b,在执行a流程时,s308确定出的wifi芯片的状态为up状态。例如,参见图4中的(c),wifi驱动通过s303判断出接收到netdev down指令时,通过s305向无线配置服务模块发送重启完成的消息,无线配置服务模块可以在接收到s305发送的消息后的第1毫秒执行b流程,在执行b流程时通过s307强制wifi芯片为up状态;无线配置服务模块可以在接收到s305发送的消息后的第2毫秒执行a流程,此时,a流程中的s308确定出的wifi芯片的状态均为up状态,在确定出wifi芯片的状态为up状态之后,可以继续执行s309和s310,以恢复电子设备的上网功能。
133.示例三,在s303中,如果wifi驱动接收到netdev down指令,那么,wifi子系统的重启为异常重启,因而,假设周期性自动触发的a流程为两次,分别为第一次和第二次,第一次执行a流程之前还未执行b流程,第二次执行a流程之前已经执行了b流程,那么,第一次执行a流程时,a流程中的s308确定出的wifi芯片的状态为down状态,第二次执行a流程时,a流程中的s308确定出的wifi芯片的状态为up状态。例如,参见图4中的(d),wifi驱动通过s303判
断出接收到netdev down指令时,通过s305向无线配置服务模块发送重启完成的消息,无线配置服务模块可以在接收到s305发送的消息后周期性的自动触发a流程,比如,在第1毫秒触发一次a流程,间隔2毫秒之后,在第4毫秒又触发一次a流程。那么,在第1毫秒第一次执行a流程时,a流程中的s308确定出的wifi芯片的状态为down状态,由于wifi芯片的状态为down状态,无法执行s309和s310,无线配置服务模块在接收到s305发送的消息后的第3毫秒执行b流程,在执行b流程时通过s307强制wifi芯片为up状态,那么,在第4毫秒第二次执行a流程时,a流程中的s308确定出的wifi芯片的状态为up状态,在确定出wifi芯片的状态为up状态之后,可以继续执行s309和s310,以恢复电子设备的上网功能。
134.s309、无线配置服务模块在确定出wifi芯片为up状态的情况下,正常执行wifi扫描流程。
135.实现中,无线配置服务模块执行的wifi扫描流程可以为:示例性的,无线配置服务模块向wifi驱动下发扫描指令scanning,wifi驱动控制wifi芯片根据扫描指令scanning搜索路由设备发射的无线网络的名称(service set identifier,ssid),当wifi芯片搜索ssid时,会在每个可用的信道上进行搜索。搜索方式有被动扫描和主动扫描两种。
136.被动扫描:wifi芯片通过侦听路由设备定期发送的信标帧(beacon帧)来发现无线网络,该信标帧提供了路由设备的覆盖范围(basic service set,bss)。
137.主动扫描:wifi芯片发出探测请求帧(probe request帧),寻找与wifi芯片所属有相同ssid的路由设备,若找不到相同ssid的路由设备,则一直扫描下去。
138.s310、无线配置服务模块执行wifi关联流程,完成电子设备与路由设备的连接,实现电子设备的上网功能。
139.本技术实施例是在电子设备与路由设备正常连接时,发生了pcie linkdown事件之后,才可能触发wifi子系统重启机制,触发wifi子系统重启机制是为了使电子设备恢复上网功能,而电子设备恢复上网功能时所连接的路由设备可能与之前连接的路由设备相同,也可能与之前连接的路由设备不相同。
140.例如,假设在发生pcie linkdown事件之前,电子设备是与路由设备1进行连接实现上网功能,触发wifi子系统重启机制之后,电子设备可能重新与路由设备1的连接,恢复上网功能。
141.又例如,假设在发生pcie linkdown事件之前,电子设备是与路由设备1进行连接实现上网功能,触发wifi子系统重启机制之后,电子设备可能与电子设备之前连接过的路由设备2进行连接,恢复上网功能。路由设备1和路由设备2是不同的设备。
142.电子设备认证阶段的流程可以为:当电子设备扫描到与其具有相同ssid的路由设备,在ssid匹配的路由设备中,电子设备根据收到的路由设备的信号强度,选择一个信号最强的路由设备,然后进入认证阶段,认证方式有开放式和非开放式。
143.当路由设备向电子设备返回认证响应信息,身份认证获得通过后,进入关联阶段。wifi关联阶段的流程可以为:电子设备向路由设备发送关联请求,路由设备向电子设备返回关联响应。至此,电子设备与路由设备完成连接,电子设备可以恢复上网功能。
144.本技术实施例,在触发wifi子系统重启机制之后,由于电子设备在触发wifi子系统重启机制之前已经和路由设备连接过,因而,在恢复连接时,无需重新认证而只需要重新关联就可以恢复电子设备的上网功能。
145.本技术实施例,电子设备可以在wifi驱动完成对wifi子系统的重启之后,通过wifi驱动向hal层中的无线配置服务模块发送重启完成的消息,无线配置服务模块根据重启完成的消息确定wifi芯片的状态信息,以确定wifi子系统的重启是否为异常重启,在确定出wifi芯片的状态信息为down状态时,可以确定wifi子系统的重启为异常重启,此时,通过linux_set_iface_flags指令强制wifi芯片为up状态,在wifi驱动完成对wifi子系统的重启之后,无线配置服务模块执行电子设备与路由设备的连接流程中,确定出的wifi芯片的状态为up状态,由于wifi芯片的状态为up状态,所以无线配置服务模块可以正常执行wifi扫描流程以及执行wifi关联流程,完成电子设备与路由设备的连接,实现电子设备的上网功能,避免了电子设备出现断网、断流等现象,相比于现有的通过在程序中加入大量的日志或者大量的追踪去定位存在缺陷的软件或硬件以查询缺陷原因以及制定恢复策略以恢复上网功能的方案,可有效地提升电子设备的稳定性。
146.并且,本技术实施例由于无需在程序中加入大量的日志或者大量的追踪就可以在手机执行与路由设备的连接流程之前,使wifi芯片的状态恢复为开启状态,从而可以通过电子设备与路由设备的再次连接重新恢复上网功能,降低了电子设备的功耗,提升了电子设备的性能。
147.此外,电子设备执行与路由设备的连接流程之前,可以通过无线配置服务模块强制wifi芯片为up状态以恢复电子设备的上网功能相对于通过定位缺陷、查询缺陷以及制定恢复策略以恢复上网功能所花费的处理时长较少,由于本技术可以降低恢复网络的处理时长,从而可以降低用户对断网、断连等现象的感知程度,提升用户的使用体验。
148.并且,本技术实施例中,电子设备在执行与路由设备的连接流程之前,无线配置服务模块通过向wifi驱动发送控制指令,wifi驱动根据控制指令控制wifi芯片为up状态,在执行电子设备与路由设备的连接流程的过程中,通过无线配置服务模块再次确定wifi芯片的状态,能够尽可能保证电子设备与路由设备的连接流程的过程中wifi芯片的状态为开启状态以保证了电子设备与路由设备的正常连接,避免了由于电子设备自身的软件或硬件缺陷或网络不稳定等原因使wifi驱动未成功执行该第一控制指令,使得wifi芯片的状态仍然为关闭状态导致电子设备与路由设备无法连接的情况发生,因此,本技术实施例提升了电子设备的wifi网络系统的可靠性。
149.在一些实施例中,图3示出的s302的具体实现过程可以参考图5,图5是本技术实施例提供的一种重启wifi子系统的示意性流程图。
150.s3021、wifi驱动控制wifi芯片下电,使wifi芯片处于关闭状态。
151.实现中,wifi驱动向wifi芯片发送下电指令,可以控制wifi芯片下电。
152.wifi芯片下电可以理解为wifi芯片与电源断开连接, wifi芯片与电源断开连接可以使wifi芯片处于关闭状态,无法接收路由设备等设备发送的数据。
153.s3022、wifi驱动控制wifi芯片上电,使wifi芯片处于开启状态。
154.实现中,wifi驱动向wifi芯片发送上电指令,可以控制wifi芯片上电。
155.wifi芯片上电可以理解为wifi芯片与电源重新连接,wifi芯片与电源重新连接可以使wifi芯片处于开启状态,从而可以接收路由设备等设备发送的数据。
156.可以理解是,图5示出的步骤并不构成对重启wifi子系统的限定,在本技术另一些实施例中,重启wifi子系统可以包括更多的步骤,例如:wifi驱动初始化等,本技术对此不
作限定。
157.以上实施例结合附图3至附图5介绍了一种wifi的连接方法,该方法是在确定重启wifi子系统后wifi芯片的状态为关闭状态时,强制wifi芯片的状态为开启状态,然后执行电子设备与路由设备的连接流程,以恢复电子设备的上网功能。以下实施例结合附图6介绍了本技术实施例提供的另一种wifi的连接方法400的内部实现过程。
158.图6示出的wifi连接方法,是在执行电子设备与路由设备的连接过程中,确定wifi芯片的状态为关闭状态时,强制wifi芯片的状态为开启状态,以恢复电子设备的上网功能。
159.图6是本技术实施例提供的另一种wifi的连接方法400的示意性流程图。该方法400可由电子设备执行,也可由电子设备中的处理器或芯片执行,本技术实施例不做任何限定。为了便于描述,以电子设备为例对方法400做详细说明。
160.s401、wifi驱动检测是否发生pcie linkdown事件。
161.应理解,s401的实现过程和s301的实现过程相同,此处不再赘述。
162.s402、wifi驱动在检测到发生pcie linkdown事件的情况下,执行wifi子系统重启机制。
163.应理解,s402的实现过程和s302的实现过程相同,此处不再赘述。
164.s403、wifi驱动在wifi子系统重启过程中是否接收到netdev down指令。
165.应理解,s403的实现过程和s303的实现过程相同,此处不再赘述。
166.s404、wifi驱动在接收到netdev down指令的情况下,控制wifi芯片down状态。
167.应理解,s404的实现过程和s304的实现过程相同,此处不再赘述。
168.s405、wifi驱动向无线配置服务模块发送wifi子系统重启完成的消息。
169.应理解,s405的实现过程和s305的实现过程相同,此处不再赘述。
170.本技术实施例,wifi驱动向无线配置服务模块发送wifi子系统重启完成的消息在于,为了让无线配置服务模块接收到该消息之后,触发电子设备与路由设备的连接流程,示例性地,电子设备在接收到该消息后,可以电子设备与路由设备的连接流程,其中,电子设备与路由设备的连接流程包括s406至s409。
171.s406、无线配置服务模块确定wifi芯片是否为up状态。
172.实现中,无线配置服务模块可以通过socket接口获取wifi芯片的状态信息,从而可以根据获取到的wifi芯片的状态信息,确定wifi芯片是否为up状态。
173.在一示例中,如果s403判断出wifi驱动未接收到netdev down指令,那么,由于wifi驱动未接收到netdev down指令,wifi子系统重启之后wifi芯片为up状态,此时,在执行电子设备与路由设备的连接流程时,s406通过socket接口就可以确定wifi芯片为up状态,可以正常执行wifi扫描流程。
174.在另一示例中,如果在s403判断出wifi驱动接收到netdev down指令,那么,由于wifi驱动接收到netdev down指令,并且wifi驱动已经控制wifi芯片为down状态,wifi子系统重启之后wifi芯片为down状态,此时,在执行电子设备与路由设备的连接流程时,s406通过socket接口就可以确定wifi芯片为down状态,那么,就无法正常执行wifi扫描流程,此时需要通过s407的控制指令控制wifi芯片为up状态之后,才能正常执行wifi扫描流程,以恢复电子设备的上网功能。
175.s407、无线配置服务模块在确定wifi芯片为down状态的情况下,通过控制指令强
制wifi芯片为up状态。
176.本技术实施例,无线配置服务模块通过socket接口获取到的wifi芯片的状态信息为wifi芯片处于down状态时,确定wifi芯片为down状态,此时无线配置服务模块向驱动层的wifi驱动发送控制指令,例如:控制指令为linux_set_iface_flags,wifi驱动根据控制指令控制wifi芯片为up状态。
177.s408、正常执行wifi扫描流程。
178.本技术实施例,无线配置服务模块在确定wifi芯片为up状态的情况下以及在强制wifi芯片为up状态之后,正常执行wifi扫描流程。
179.在一实现方式中,无线配置服务模块向驱动层的wifi驱动发送控制指令之后,间隔预设时长,例如,预设时长可以为1毫秒,再次通过s406确定wifi芯片的状态,在确定wifi芯片为up状态之后,正常执行wifi扫描流程。该实现方式中,可以理解,该预设时长是预设的无线配置服务模块向驱动层的wifi驱动发送控制指令之后wifi驱动可以根据控制指令控制wifi芯片为up状态的时长,在预设时长后,可以使得无线配置服务模块通过s406确定wifi芯片的状态为up状态。
180.在另一实现方式中,无线配置服务模块向驱动层的wifi驱动发送控制指令,wifi驱动根据控制指令控制wifi芯片为up状态之后,wifi驱动通过cfg80211接口和nl80211接口向无线配置服务模块发送已经控制wifi芯片为up状态的消息,无线配置服务模块接收到该消息之后,可以确定wifi芯片为up状态,此时,无线配置服务模块正常执行wifi扫描流程。
181.应理解,正常执行wifi扫描流程的实现过程已在上文实施例中陈述,此处不再赘述。
182.本技术实施例,可以在无线配置服务模块向驱动层的wifi驱动发送控制指令之后,通过无线配置服务模块再次确定wifi芯片的状态,避免了由于电子设备自身的软件或硬件缺陷或网络不稳定等问题使wifi驱动未成功执行该控制指令,使得wifi芯片的状态仍然为关闭状态导致的电子设备与外接无线设备无法连接的情况的发生,因此,本技术实施例提升了电子设备的wifi网络系统的可靠性。
183.s409、无线配置服务模块执行wifi关联流程,完成电子设备与路由设备的连接,实现电子设备的上网功能。
184.应理解,s409的实现过程和s310的实现过程相同,此处不再赘述。
185.本技术实施例,电子设备可以在wifi驱动完成对wifi子系统的重启之后,通过wifi驱动向无线配置服务模块发送重启完成的消息,无线配置服务模块根据重启完成的消息自动触发wifi扫描流程,在执行wifi扫描流程的过程中,确定wifi芯片的状态信息,以确定wifi子系统的重启是否为异常重启,在确定出wifi芯片的状态信息为down状态时,可以确定wifi子系统的重启为异常重启,此时,通过控制指令强制wifi芯片为up状态,由于wifi芯片的状态为up状态,所以无线配置服务模块可以正常执行wifi扫描流程以及执行wifi关联流程,完成电子设备与路由设备的连接,实现电子设备的上网功能,避免了电子设备出现断网、断流等现象,提升了电子设备的稳定性。
186.并且,本技术实施例由于无需在程序中加入大量的日志或者大量的追踪就可以在电子设备执行与路由设备的连接流程的过程中,使wifi芯片的状态恢复为开启状态,从而
可以通过电子设备与路由设备的再次连接重新恢复上网功能,降低了电子设备的功耗,提升了电子设备的性能。
187.此外,电子设备执行与路由设备的连接流程的过程中,通过无线配置服务模块强制wifi芯片为up状态以恢复电子设备的上网功能相对于通过定位缺陷、查询缺陷以及制定恢复策略以恢复上网功能所花费的处理时长较少,由于本技术可以降低恢复网络的处理时长,从而可以降低用户对断网、断连等现象的感知程度,提升用户的使用体验。
188.以上实施例结合附图6介绍了一种wifi的连接方法,该方法可以在执行电子设备与路由设备的连接过程中,确定wifi芯片的状态为关闭状态时,强制wifi芯片的状态为开启状态,以恢复电子设备的上网功能。以下实施例结合附图7介绍了本技术实施例提供的另一种wifi的连接方法400的内部实现过程。
189.图7示出的wifi连接方法,既可以在执行电子设备与路由设备的连接流程之前,在确定重启wifi子系统后wifi芯片的状态为关闭状态时,强制wifi芯片的状态为开启状态,也可以在执行电子设备与路由设备的连接流程的过程中,在确定重启wifi子系统后wifi芯片的状态为关闭状态时,强制wifi芯片的状态为开启状态。
190.以下结合附图7介绍了本技术实施例提供的另一种wifi的连接方法的内部实现过程。
191.图7是本技术实施例提供的一种wifi的连接方法500的示意性流程图。该方法500可由电子设备执行,也可由电子设备中的处理器或芯片执行,本技术实施例不做任何限定。为了便于描述,以电子设备为例对方法500做详细说明。
192.s501、在检测到触发事件的情况下,wifi驱动重启wifi网络系统。
193.应理解,触发事件是指触发wifi驱动重启wifi网络系统的事件,触发事件可以导致电子设备无法实现上网功能,因而需要重启wifi网络系统以恢复电子设备的上网功能。
194.在一示例中,触发事件可以是wifi芯片与wifi驱动之间的通信链路断连事件。例如,pcie linkdown事件、安全数字输入输出接口(secure digital input and output,sdio)linkdown事件、通用串行总线(universal serial bus,usb)linkdown事件等。
195.本示例以触发事件为pcie linkdown事件为例,介绍检测触发事件的实现过程。
196.本示例中检测pcie linkdown事件的主体可以为电子设备的wifi驱动,也可以为电子设备的wlan应用程序。关于wifi驱动和wlan应用程序的含义已在上文实施例中陈述,此处不再赘述。
197.在一实现方式中,由于电子设备的wifi驱动可以最先感知到pcie linkup/ linkdown事件,因而,本技术实施例可以通过驱动层中的wifi驱动检测触发事件。
198.在另一实现方式中,电子设备也可以通过图2中的wlan应用程序时刻查询pcie总线的状态,在pcie总线处于断开链接的状态时,wlan应用程序检测到发生触发事件。
199.在另一实现方式中,wifi驱动感知到pcie总线处于断开链接的状态时,中断通知wlan应用程序,wlan应用程序即可检测到发生触发事件。
200.在另一示例中,触发事件可以是wifi网络状态异常事件。比如电子设备的wifi断连事件、wifi网络数据流断流事件等。
201.实现中,电子设备可以通过以下方式检测是否发生wifi网络状态异常事件:例如:电子设备可以通过向wifi网络系统发送网络查询请求检测是否发生wifi网
络状态异常事件,该网络查询请求用于指示wifi网络系统向电子设备返回请求响应。若电子设备接收到wifi网络系统返回的请求响应,意味着wifi网络系统可正常通信,wifi网络状态正常,则电子设备未检测到发生wifi网络状态异常事件。若电子设备未接收到wifi网络系统返回的请求响应,意味着wifi网络系统无法正常通信,则电子设备检测到发生wifi网络状态异常事件。
202.本技术实施例,在检测到发生触发事件的情况下,可以触发重启wifi网络系统的指令,电子设备中的wifi驱动根据重启wifi网络系统的指令,重启wifi网络系统。
203.本技术实施例提及的wifi网络系统可以为上文实施例中陈述的wifi子系统,例如,wifi网络系统包括wifi驱动、无线配置服务模块和wifi芯片等模块,关于wifi网络系统的结构以及wifi网络系统中各模块所起的作用已在上文实施例中陈述,此处不再赘述。
204.还可以理解,wifi网络系统的正常重启可以理解为先关闭wifi网络系统,使wifi芯片处于down状态,然后重新打开wifi网络系统,使wifi芯片恢复为up状态,在wifi芯片为up状态时,才能与路由设备等连接,使电子设备重新恢复上网功能。
205.应注意,本技术实施例以及其他实施例中,wifi芯片处于down状态是指wifi芯片处于关闭状态,wifi芯片处于up状态是指wifi芯片处于开启状态。
206.s502、在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块确定wifi芯片的状态为关闭状态,wifi芯片用于连接外接无线设备。
207.应理解,无线配置服务模块可以为图2示出的无线网络配置模块(即wpa_supplicant模块),还可以为图2示出的wificond模块。wifi芯片是一种用于无线网络连接的芯片,主要用于连接外接无线设备,实现电子设备的上网功能。外接无线设备是指可以向周围提供无线信号的设备,例如路由设备,无线基站等,本技术实施例对此不作限定。
208.其中,wpa_supplicant模块用于扫描无线接入点、加密认证以及关联无线接入点等,本技术实施例中,wpa_supplicant模块还可以用于检测wifi驱动是否完成对wifi网络系统的重启,以及判断wifi芯片的状态。wificond模块主要用于扫描wifi以及将扫描结果上报给上层(例如,应用层)。本技术实施例中,wificond模块还可以用于检测wifi驱动是否完成对wifi网络系统的重启,以及判断wifi芯片的状态。
209.还可以理解,电子设备中的wifi驱动在检测到触发事件之后,通过重启wifi网络系统以期恢复电子设备的上网功能。wifi网络系统正常重启时,是先关闭wifi芯片,使wifi芯片处于down状态,然后开启wifi芯片,使wifi芯片处于up状态。但是,在重启wifi网络系统的过程中,由于电子设备软件、硬件等自身缺陷导致wifi芯片关闭之后,wifi芯片无法重新开启,或者wifi芯片在关闭,重新开启之后,wifi芯片又被关闭,使wifi芯片处于关闭状态,进而导致wifi网络系统重启异常,导致电子设备的上网功能无法恢复。
210.因而,在检测到wifi驱动完成对wifi网络系统的重启的情况下,需要通过无线配置服务模块确定wifi芯片的状态是否为关闭状态,假设确定出wifi芯片的状态是关闭状态,证明wifi网络系统的重启为异常重启,那么电子设备继续执行本技术的s503和s504,从而恢复电子设备的上网功能。假设确定出的wifi芯片的状态是开启状态,证明wifi网络系统的重启就是正常重启,就无需执行s503和s504,通过正常重启的wifi网络系统与外接无线设备连接,就可以恢复上网功能。
211.实现中,无线配置服务模块的wpa_supplicant模块或者wificond模块在检测到
wifi驱动完成对wifi网络系统的重启的情况下,可以通过图3中s306确定wifi芯片的状态为关闭状态;还可以通过图6中s406可以确定wifi芯片的状态为关闭状态。
212.s503、在wifi芯片的状态为关闭状态的情况下,无线配置服务模块向wifi驱动发送第一控制指令。
213.本技术实施例中,第一控制指令用于指示wifi驱动修改wifi芯片的状态为开启状态。例如:第一控制指令可以是图3中s307的linux_set_iface_flags指令,也可以是图6中s407的linux_set_iface_flags指令。
214.实现中,电子设备的无线配置服务模块可以通过cfg80211接口和nl80211接口向wifi驱动发送linux_set_iface_flags指令。
215.应注意,关于cfg80211接口和nl80211接口的解释可以参考其他实施例中的描述,此处不再赘述。
216.s504、wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,以通过重启后的wifi网络系统实现电子设备与外接无线设备的连接。
217.应理解,通过重启后的wifi网络系统实现电子设备与外接无线设备的连接可以理解为在wifi网络系统重启后可以触发电子设备与外接无线设备的连接流程,通过电子设备与外接无线设备的连接流程恢复网络。电子设备与路由设备的连接流程可以参考图3中的s308至s310,也可以参考图6中的s406至s409。
218.由于wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,因而,在无线配置服务模块执行电子设备与路由设备的连接流程的过程中,可以正常执行wifi扫描流程、wifi关联流程,实现电子设备与外接无线设备的连接,以恢复电子设备的上网功能。关于电子设备的wifi扫描、wifi关联等实现过程已在上文实施例中陈述,此处不再赘述。
219.在一些实施例中,为了使无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,确定wifi芯片的状态为开启状态,以恢复电子设备的上网功能,可以在wifi驱动将wifi芯片的状态由关闭状态修改为开启状态之后执行连接流程,因而,在s504中的wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态之后,方法500还包括:在无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,无线配置服务模块确定wifi芯片的状态为开启状态;无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现电子设备与外接无线设备的连接。
220.应理解,电子设备与外接无线设备的连接流程可以在无线配置服务模块检测到wifi驱动完成对wifi网络系统的重启之后周期性的自动触发,比如,无线配置服务模块检测到wifi驱动完成对wifi网络系统的重启之后,无线配置服务模块每隔2毫秒自动执行一次电子设备与外接无线设备的连接流程。
221.本技术实施例,无线配置服务模块执行的电子设备与外接无线设备的连接流程可以是周期性的自动触发的多次连接流程中的一次,该次连接流程是在wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态之后执行的。例如,图4中的(d)示出的电子设备在执行完s305之后,在第1毫秒第一次执行a流程,在第3毫秒执行b流程,在第4
毫秒第二次执行a流程,本技术实施例的连接流程可以为第二次执行的a流程。
222.本技术实施例的实现过程可以为:wifi驱动通过图3中的s305向无线配置服务模块发送重启完成的消息,无线配置服务模块检测到重启完成的消息之后触发b流程以及周期性的自动触发a流程,在第3毫秒执行b流程的过程中,无线配置服务模块通过图3中的s306确定wifi芯片的状态为关闭状态之后,通过s307向wifi驱动发送linux_set_iface_flags指令,wifi驱动根据linux_set_iface_flags指令,将wifi芯片的状态由关闭状态修改为开启状态,随后无线配置服务模块在第4毫秒执行a流程。
223.无线配置服务模块在第4毫秒执行a流程的过程中,通过图3中的s308再次确定wifi芯片的状态为开启状态,随后无线配置服务模块执行图3中的s309的wifi扫描流程和图3中的s310的wifi关联流程,从而实现了电子设备与外接无线设备的连接,恢复了电子设备的上网功能。
224.本技术实施例,电子设备在wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态之后执行的电子设备与外接无线设备的连接流程的过程中,在无线配置服务模块确定wifi芯片的状态为开启状态的情况下,无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现电子设备与外接无线设备的连接,从而恢复电子设备的网络,避免了电子设备在执行电子设备与外接无线设备的连接流程的过程中,由于wifi芯片为关闭状态导致电子设备与外接无线设备无法连接的情况发生,可以保证电子设备与外接无线设备的正常连接,从而可以恢复电子设备的上网功能,提升用户体验。
225.此外,由于电子设备在执行电子设备与外接无线设备的连接流程的过程之前通过第一控制指令使得wifi驱动将wifi芯片的状态修改为开启状态,且在执行电子设备与外接无线设备的连接流程的过程中,通过无线配置服务模块再次确定wifi芯片的状态,能够尽可能保证在电子设备与外接无线设备的连接流程的过程中wifi芯片的状态为开启状态以保证电子设备与外接无线设备的正常连接,避免了由于电子设备自身的软件或硬件缺陷或网络不稳定等问题使wifi驱动未成功执行该第一控制指令,使得wifi芯片的状态仍然为关闭状态导致的电子设备与外接无线设备无法连接的情况的发生,因此,本技术实施例提升了电子设备的wifi网络系统的可靠性。
226.在另一些实施例中,为了使无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,确定wifi芯片的状态为开启状态,以恢复电子设备的上网功能,可以在检测到wifi驱动完成对wifi网络系统的重启的情况下,在无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,通过wifi驱动将wifi芯片的状态由关闭状态修改为开启状态,因而,s502中的在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块确定wifi芯片的状态为关闭状态,可以为:在检测到wifi驱动完成对wifi网络系统的重启的情况下,且在无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,无线配置服务模块确定wifi芯片的状态为关闭状态;以及,在s504中的在wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态之后,方法500还包括:无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现电子设备与外接无线设备的连接。
227.本技术实施例中,电子设备在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块执行电子设备与外接无线设备的连接流程。例如,参见图6,电子设备中的无线配置服务模块在接收到wifi驱动通过s405发送的重启完成的消息之后,执行s406至s409。
228.在无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,无线配置服务模块确定wifi芯片的状态为关闭状态。例如,通过s406确定wifi芯片的状态为关闭状态。
229.在确定wifi芯片的状态为关闭状态之后,电子设备可以继续执行s503和s504的步骤,以恢复电子设备的上网功能。
230.在一种实现方式中,无线配置服务模块通过s406确定wifi芯片的状态为关闭状态之后,无线配置服务模块通过s407向wifi驱动发送第一控制指令之后,第一控制指令用于指示wifi驱动修改wifi芯片的状态为开启状态,间隔预设时长,例如,预设时长可以为1毫秒,无线配置服务模块再次通过s406确定wifi芯片的状态,在确定wifi芯片的状态为开启状态时,无线配置服务模块执行s408的wifi扫描流程和s409的wifi关联流程,以实现电子设备与外接无线设备的连接。该实现方式中,无线配置服务模块向驱动层的wifi驱动发送控制指令之后的预设时长内,wifi驱动可以根据控制指令控制wifi芯片为开启状态。
231.在另一种实现方式中,无线配置服务模块通过s406确定wifi芯片的状态为关闭状态之后,无线配置服务模块通过s407向wifi驱动发送第一控制指令,wifi驱动根据控制指令控制wifi芯片为up状态之后,wifi驱动通过cfg80211接口和nl80211接口向无线配置服务模块发送已经控制wifi芯片为up状态的消息,无线配置服务模块接收到该消息之后,可以确定wifi芯片为开启状态,在确定wifi芯片的状态为开启状态时,无线配置服务模块执行s408的wifi扫描流程和s409的wifi关联流程,以实现电子设备与外接无线设备的连接。
232.本技术实施例,电子设备在检测到wifi驱动完成对wifi网络系统的重启的情况下,在无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,无线配置服务模块确定wifi芯片的状态为关闭状态,在wifi芯片的状态为关闭状态的情况下,无线配置服务模块向wifi驱动发送第一控制指令;wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,从而可以使无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现电子设备与外接无线设备的连接,避免了在无线配置服务模块执行电子设备与外接无线设备的连接流程的过程中,由于wifi芯片为关闭状态导致电子设备与外接无线设备无法连接的情况发生,可以保证电子设备与外接无线设备的正常连接,从而可以恢复电子设备的上网功能,提升用户体验。
233.并且,本技术实施例在wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,可以通过无线配置服务模块再次确定wifi芯片的状态,能够尽可能保证在电子设备与外接无线设备的连接流程的过程中wifi芯片的状态为开启状态以保证电子设备与外接无线设备的正常连接,避免了由于电子设备自身的软件或硬件缺陷或网络不稳定等问题使wifi驱动未成功执行该第一控制指令,使得wifi芯片的状态仍然为关闭状态导致的电子设备与外接无线设备无法连接的情况的发生,因此,本技术实施例提升了电子设备的wifi网络系统的可靠性。
234.本技术实施例,电子设备可以在wifi芯片的状态为关闭状态的情况下,通过无线
配置服务模块向wifi驱动发送第一控制指令,wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,可以使wifi网络系统的重启为正常重启,从而使电子设备通过重启后的wifi网络系统实现电子设备与外接无线设备的连接,恢复电子设备的上网功能,避免 了电子设备出现断网、断流等现象,相比于现有的通过在程序中加入大量的日志或者大量的追踪去定位存在缺陷的软件或硬件以查询缺陷原因以及制定恢复策略以恢复上网功能的方案,可有效地提升电子设备的稳定性;并且,本技术实施例无需在电子设备的程序中加入大量的日志或者大量的追踪,通过无线配置服务模块向wifi驱动发送的第一控制指令,就可以使得wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,以恢复电子设备的上网功能,降低了电子设备的功耗,提升了电子设备的性能。
235.此外,电子设备通过无线配置服务模块向wifi驱动发送第一控制指令以恢复电子设备的上网功能,相对于通过定位缺陷、查询缺陷以及制定恢复策略以恢复上网功能所花费的处理时长较少,由于本技术可以降低恢复网络的处理时长,从而可以降低用户对断网、断连等现象的感知程度,提升了用户的使用体验。
236.由上述可知,在电子设备检测到触发事件的情况下,本技术的方案可以提升电子设备的稳定性和性能,以及降低用户对断网、断连等现象的感知程度,从而提升用户的使用体验。
237.在一些实施例中,s502中的在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块确定wifi芯片的状态为关闭状态,包括:在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块根据从套接字socket接口获取的wifi芯片的状态信息,确定wifi芯片的状态为关闭状态。
238.应理解,socket是一种接口技术,本技术实施例可以通过socket接口实现hal层与硬件层之间的通信,关于socket接口的含义可以参考上文实施例,此处不再赘述。
239.在一实现方式中,请参考图3,假设wifi驱动在执行s303时接收到netdev down指令,那么无线配置服务模块在执行s306时,通过socket接口获取到的wifi芯片的状态信息为关闭状态,此时,无线配置服务模块根据从socket接口获取的wifi芯片的状态信息,确定wifi芯片的状态为关闭状态。
240.在另一实现方式中,请参考图6,假设wifi驱动在执行s403时接收到netdev down指令,那么无线配置服务模块在执行s406时,通过socket接口获取到的wifi芯片的状态信息为关闭状态,此时,无线配置服务模块根据从socket接口获取的wifi芯片的状态信息,确定wifi芯片的状态为关闭状态。
241.在一些实施例中,在s502之前,也就是在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块确定wifi芯片的状态为关闭状态之前,方法500还包括:wifi驱动接收第二控制指令,第二控制指令用于指示wifi驱动控制wifi芯片的状态为关闭状态;wifi驱动根据第二控制指令,控制wifi芯片的状态为关闭状态;wifi驱动向无线配置服务模块发送第二控制指令。
242.以及,s502中在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块确定wifi芯片的状态为关闭状态,包括:在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块根据
第二控制指令,确定wifi芯片的状态为关闭状态。
243.应理解,第二控制指令可以是图3中s303的netdev down指令,也可以是图6中s403的netdev down指令。
244.还可以理解, wifi网络系统正常重启,是先关闭wifi芯片,使wifi芯片处于down状态,然后开启wifi芯片,使wifi芯片处于up状态。但是,由于电子设备的硬件或软件等自身缺陷,例如:内核态或用户态运行程序时出现逻辑错误,又例如: wifi芯片的寄存器状态异常,那么,内核态、用户态、寄存器都有可能向wifi驱动发送netdev down指令,使wifi芯片处于down状态。也就是说,如果wifi驱动接收到netdev down指令,那么wifi驱动会根据netdev down指令,控制wifi芯片的状态为关闭状态,这样,wifi网络系统的重启为异常重启。例如,wifi驱动在关闭wifi芯片之后,开启wifi芯片之前接收到netdev down指令,那么,wifi驱动就无法开启wifi芯片,wifi芯片一直处于关闭状态。又例如,wifi驱动在关闭wifi芯片,开启wifi芯片之后,接收到netdev down指令,wifi驱动会将开启的wifi芯片重新关闭,使wifi芯片处于关闭状态。
245.实现中,无线配置服务模块在检测到wifi驱动完成对wifi网络系统的重启的情况下,确定wifi芯片的状态为关闭状态可以为:wifi驱动接收到第二控制指令之后,通过cfg80211接口和nl80211接口向无线配置服务模块发送接收到第二控制指令的消息,那么无线配置服务模块在检测到wifi驱动完成对wifi网络系统的重启的情况下,接收到wifi驱动发送的接收到第二控制指令的消息,可以确定wifi芯片的状态为关闭状态。
246.在一些实施例中,在s502之前,也就是在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块确定wifi芯片的状态为关闭状态之前,方法500还包括:wifi驱动向无线配置服务模块发送wifi网络系统的重启完成的消息;无线配置服务模块根据重启完成的消息,检测到wifi驱动完成对wifi网络系统的重启。
247.实现中,wifi驱动通过cfg80211接口和nl80211接口向无线配置服务模块发送wifi网络系统的重启完成的消息,例如:wifi驱动通过图3中的s305向无线配置服务模块发送wifi网络系统的重启完成的消息,又例如,wifi驱动通过图6中的s405向无线配置服务模块发送wifi网络系统的重启完成的消息。
248.无线配置服务模块接收到wifi驱动发送的重启完成的消息,可以检测到wifi驱动完成对wifi网络系统的重启。
249.应理解,wifi驱动工作在内核态,无线配置服务模块工作在用户态,内核态与用户态进行交互时,可以先将消息发送给cfg80211接口,然后通过nl80211接口发送给用户态。用户态是指提供应用程序运行的空间,可以使应用程序访问到内核管理的资源。内核态是指一种特殊的软件程序,用于控制计算机的硬件资源,例如,分配内存资源,并且提供稳定的环境供应用程序运行。
250.本技术实施例,通过wifi驱动向无线配置服务模块发送wifi网络系统的重启完成的消息,可以使无线配置服务模块快速的检测到wifi驱动完成对wifi网络系统的重启。
251.在一些实施例中,s501中的wifi驱动重启wifi网络系统,包括:wifi驱动控制wifi芯片下电,以使得wifi芯片处于关闭状态;wifi驱动控制wifi芯片上电,以使得wifi芯片处于开启状态;wifi驱动接收到第二控制指令,第二控制指令用于指示wifi驱动控制wifi芯片的状态为关闭状态;wifi驱动根据第二控制指令,控制wifi
芯片的状态为关闭状态。
252.应理解,本技术实施例提供的wifi驱动重启wifi网络系统的实现过程是wifi网络系统异常重启的实现过程。
253.本技术实施例中,wifi驱动控制wifi芯片下电,使wifi芯片处于关闭状态;wifi驱动控制wifi芯片上电,使wifi芯片处于开启状态的实现过程可以参考图5中的s3021和s3022,此处不再赘述。
254.本技术实施例中,wifi驱动接收到第二控制指令,第二控制指令用于指示wifi驱动控制wifi芯片的状态为关闭状态;wifi驱动根据第二控制指令,控制wifi芯片的状态为关闭状态的实现过程可以参考上文实施例,此处不再赘述。
255.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
256.下面结合附图详细描述本技术实施例提供的电子设备。
257.图8是本技术实施例提供的电子设备600的示例性框图。该电子设备600包括处理单元61,处理单元61用于执行以下操作:在检测到触发事件的情况下,wifi驱动重启wifi网络系统;在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块确定wifi芯片的状态为关闭状态,wifi芯片用于连接外接无线设备;在wifi芯片的状态为关闭状态的情况下,无线配置服务模块向wifi驱动发送第一控制指令,第一控制指令用于指示wifi驱动修改wifi芯片的状态为开启状态;wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,以通过重启后的wifi网络系统实现电子设备与外接无线设备的连接。
258.应理解,处理单元61可用于执行方法500中电子设备执行的各个步骤,具体描述可参见上文的相关描述,不再赘述。
259.此外,处理单元61还可用于执行方法300或方法400中电子设备执行的各个步骤,具体描述可参见上文的相关描述,不再赘述。
260.应理解,这里的电子设备600以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
261.在本技术的实施例,图6中的电子设备也可以是芯片或者芯片系统,例如:片上系统(system on chip,soc)。
262.图9是本技术实施例提供的电子设备700的示意性结构图。电子设备700用于执行上述方法实施例中对应的各个步骤和/或流程。
263.电子设备700包括处理器701、收发器702和存储器703。其中,处理器701、收发器702和存储器703通过内部连接通路互相通信,处理器701可以实现电子设备600中各种可能的实现方式中处理单元61的功能。存储器703用于存储指令,处理器701用于执行存储器703存储的指令,或者说,处理器701可以调用这些存储指令实现电子设备600中处理单元61的功能。
264.可选地,该存储器703可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器701可以用于执行存储器中存储的指令,并且当该处理器701执行存储器中存储的指令时,该处理器701用于执行上述与电子设备对应的方法实施例的各个步骤和/或流程。
265.处理器701用于执行以下步骤:在检测到触发事件的情况下,wifi驱动重启wifi网络系统;在检测到wifi驱动完成对wifi网络系统的重启的情况下,无线配置服务模块确定wifi芯片的状态为关闭状态,wifi芯片用于连接外接无线设备;在wifi芯片的状态为关闭状态的情况下,无线配置服务模块向wifi驱动发送第一控制指令,第一控制指令用于指示wifi驱动修改wifi芯片的状态为开启状态;wifi驱动根据第一控制指令,将wifi芯片的状态由关闭状态修改为开启状态,以通过重启后的wifi网络系统实现电子设备与外接无线设备的连接。
266.应理解,处理器701可用于执行方法500中电子设备执行的各个步骤,具体描述可参见上文的相关描述,不再赘述。
267.此外,处理器701还可用于执行方法300或方法400中电子设备执行的各个步骤,具体描述可参见上文的相关描述,不再赘述。
268.应理解,在本技术实施例中,上述装置的处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
269.在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
270.本技术实施例提供一种计算机程序产品,当所述计算机程序产品在电子设备运行时,使得电子设备执行上述实施例中的技术方案。其实现原理和技术效果与上述方法相关实施例类似,此处不再赘述。
271.本技术实施例提供一种可读存储介质,所述可读存储介质包含指令,当所述指令在电子设备运行时,使得所述电子设备执行上述实施例的技术方案。其实现原理和技术效果类似,此处不再赘述。
272.本技术实施例提供一种芯片,所述芯片用于执行指令,当所述芯片运行时,执行上述实施例中的技术方案。其实现原理和技术效果类似,此处不再赘述。
273.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分
地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,dvd))、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
274.应理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
275.还应理解,在本技术中,“当
…
时”、“若”以及“如果”均指在某种客观情况下ue或者基站会做出相应的处理,并非是限定时间,且也不要求ue或基站实现时一定要有判断的动作,也不意味着存在其它限定。
276.本领域普通技术人员可以理解:本技术中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本技术实施例的范围,也表示先后顺序。
277.本技术中对于使用单数表示的元素旨在用于表示“一个或多个”,而并非表示“一个且仅一个”,除非有特别说明。本技术中,在没有特别说明的情况下,“至少一个”旨在用于表示“一个或者多个”,“多个”旨在用于表示“两个或两个以上”。
278.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a可以是单数或者复数,b可以是单数或者复数。
279.本文中术语
“……
中的至少一个”或
“……
中的至少一种”,表示所列出的各项的全部或任意组合,例如,“a、b和c中的至少一种”,可以表示:单独存在a,单独存在b,单独存在c,同时存在a和b,同时存在b和c,同时存在a、b和c这六种情况,其中a可以是单数或者复数,b可以是单数或者复数,c可以是单数或者复数。
280.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
281.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
282.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以
通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
283.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
284.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
285.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
286.本技术中各个实施例之间相同或相似的部分可以互相参考。在本技术中各个实施例、以及各实施例中的各个实施方式/实施方法/实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实施方式/实施方法/实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以上所述的本技术实施方式并不构成对本技术保护范围的限定。
287.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准总之,以上所述仅为本技术技术方案的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种wifi的连接方法,应用于电子设备的wifi网络系统,所述wifi网络系统包括wifi驱动、无线配置服务模块和wifi芯片,所述无线配置服务模块配置于硬件抽象层,其特征在于,包括:在检测到触发事件的情况下,所述wifi驱动重启所述wifi网络系统;在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态,所述wifi芯片用于连接外接无线设备;在所述wifi芯片的状态为所述关闭状态的情况下,所述无线配置服务模块向所述wifi驱动发送第一控制指令,所述第一控制指令用于指示所述wifi驱动修改所述wifi芯片的状态为开启状态;所述wifi驱动根据所述第一控制指令,将所述wifi芯片的状态由所述关闭状态修改为所述开启状态,以通过重启后的所述wifi网络系统实现所述电子设备与所述外接无线设备的连接。2.根据权利要求1所述的方法,其特征在于,在所述wifi驱动根据所述第一控制指令,将所述wifi芯片的状态由所述关闭状态修改为所述开启状态之后,所述方法还包括:在所述无线配置服务模块执行所述电子设备与所述外接无线设备的连接流程的过程中,所述无线配置服务模块确定所述wifi芯片的状态为所述开启状态;所述无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现所述电子设备与所述外接无线设备的连接。3.根据权利要求1所述的方法,其特征在于,所述在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态,包括:在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,且在所述无线配置服务模块执行所述电子设备与所述外接无线设备的连接流程的过程中,所述无线配置服务模块确定所述wifi芯片的状态为所述关闭状态;以及,在所述wifi驱动根据所述第一控制指令,将所述wifi芯片的状态由所述关闭状态修改为所述开启状态之后,所述方法还包括:所述无线配置服务模块执行wifi扫描流程和wifi关联流程,以实现所述电子设备与所述外接无线设备的连接。4.根据权利要求1至3任一项所述的方法,其特征在于,所述在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态,包括:在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块根据从套接字socket接口获取的所述wifi芯片的状态信息,确定所述wifi芯片的状态为所述关闭状态。5.根据权利要求1至3任一项所述的方法,其特征在于,所述在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态之前,所述方法还包括:所述wifi驱动接收第二控制指令,所述第二控制指令用于指示所述wifi驱动控制所述wifi芯片的状态为所述关闭状态;
所述wifi驱动根据所述第二控制指令,控制所述wifi芯片的状态为所述关闭状态;所述wifi驱动向所述无线配置服务模块发送所述第二控制指令;以及,所述在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态,包括:在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块根据所述第二控制指令,确定所述wifi芯片的状态为所述关闭状态。6.根据权利要求5所述的方法,其特征在于,所述wifi驱动向所述无线配置服务模块发送所述第二控制指令,包括:所述wifi驱动通过cfg80211接口和nl80211接口向所述无线配置服务模块发送所述第二控制指令。7.根据权利要求1、2、3、6任一项所述的方法,其特征在于,所述在检测到所述wifi驱动完成对所述wifi网络系统的重启的情况下,所述无线配置服务模块确定所述wifi芯片的状态为关闭状态之前,所述方法还包括:所述wifi驱动向所述无线配置服务模块发送所述wifi网络系统的重启完成的消息;所述无线配置服务模块根据所述重启完成的消息,检测到所述wifi驱动完成对所述wifi网络系统的重启。8.根据权利要求7所述的方法,其特征在于,所述wifi驱动向所述无线配置服务模块发送所述wifi网络系统的重启完成的消息,包括:所述wifi驱动通过cfg80211接口和nl80211接口向所述无线配置服务模块发送所述wifi网络系统的重启完成的消息。9.根据权利要求1、2、3、6、8任一项所述的方法,其特征在于,所述触发事件包括所述wifi芯片与所述wifi驱动之间的通信链路断连事件或wifi网络状态异常事件。10.根据权利要求1、2、3、6、8任一项所述的方法,其特征在于,所述wifi驱动重启所述wifi网络系统,包括:所述wifi驱动控制所述wifi芯片下电,以使得所述wifi芯片处于所述关闭状态;所述wifi驱动控制所述wifi芯片上电,以使得所述wifi芯片处于所述开启状态;所述wifi驱动接收第二控制指令,所述第二控制指令用于指示所述wifi驱动控制所述wifi芯片的状态为所述关闭状态;所述wifi驱动根据所述第二控制指令,控制所述wifi芯片的状态为所述关闭状态。11.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或者多个计算机程序,所述一个或者多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1至10中任一项所述的方法。12.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至10中任一项所述的方法。13.一种芯片,其特征在于,所述芯片包括:存储器,用于存储指令;
处理器,用于从所述存储器中调用并运行所述指令,使得安装有所述芯片的电子设备执行如权利要求1至10中任一项所述的方法。
技术总结
本申请提供了一种WiFi的连接方法、电子设备、存储介质和芯片,在使用电子设备的过程中,出现丢网、断连等情况会重启WiFi网络,但在重启时,会出现WiFi芯片为关闭状态的情况,导致重启异常。针对这种情况,一般的解决方法是在电子设备的程序中加入大量的日志或者追踪,制定恢复策略使WiFi芯片恢复为开启状态。而本申请提供的方法,可以向WiFi驱动发送第一控制指令,将WiFi芯片的状态由关闭状态修改为开启状态,从而恢复上网功能,相对于一般的解决方法,提升了电子设备的稳定性和性能,并且,相对于一般的解决方法,可以降低了用户对断网、断连等现象的感知程度,提升了用户的使用体验。提升了用户的使用体验。提升了用户的使用体验。
技术研发人员:张云华 杨鹏 侯添译
受保护的技术使用者:荣耀终端有限公司
技术研发日:2023.08.02
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/