本公开涉及网络通信,尤其涉及一种uefi环境下usb接口的mb协议驱动实现方法、uefi环境下usb接口的mb协议驱动实现装置、存储介质及电子设备。
背景技术:
1、uefi(unified extensible firmware interface)是一种用于操作系统和平台固件之间的接口标准。在uefi(unified extensible firmware interface)环境下,usb接口的驱动实现通常遵循uefi的驱动模型,特别是针对usb的mb(mobile broadband,移动宽带)协议,这通常涉及到uefi的块i/o协议(block i/o protocol)和usb协议栈的交互。尤其会涉及到uefi环境下mbb设备usb mb接口驱动实现。但现有情况下,uefi开发环境提供底层的usb host控制器driver,而没有支持mbb设备usb mb接口驱动。其次,常规的host(uefi)driver的枚举多配置usb mbb设备中usb mb接口采用的策略,需要遍历接入usb host控制器driver中的配置/接口/端点描述符信息配置/接口/端点描述符信息。在多配置/接口/端点情况下,这无疑会增加驱动匹配的工作量,降低接口配置效率,延长接口配置时间。
技术实现思路
1、有鉴于此,本公开实施例期望提供一种uefi环境下usb接口的mb协议驱动实现方法、uefi环境下usb接口的mb协议驱动实现装置、存储介质及电子设备。
2、本公开的技术方案是这样实现的:
3、第一方面,本公开提供一种uefi环境下usb接口的mb协议驱动实现方法,应用于主机侧。
4、本公开实施例提供的uefi环境下usb接口的mb协议驱动实现方法,包括:
5、获取外接设备的设备id;
6、基于所述外接设备的设备id判断所述外接设备是否属于quectel mbb设备;
7、若所述外接设备属于quectel mbb设备,则向所述外接设备发送基本描述符,以获取所述外接设备的mb接口信息;其中,所述mb接口信息至少包括以下信息之一:mb接口归属的配置id、接口id、端点id;
8、基于所述外接设备的mb接口信息,确定出所述外接设备内支持多套mbb设备usb配置中与所述外接设备的mb接口信息匹配的目标配置;
9、通过usb mb interfacedxe记录所述目标配置的usb配置id、接口id及端点id对所述外接设备进行初始化,并进入usb mb interfacedxe安装程序,完成usb mbinterfacedxe加载部署。
10、在一些实施例中,所述基于所述外接设备的mb接口信息,确定出所述外接设备内支持多套mbb设备usb配置中与所述外接设备的mb接口信息匹配的目标配置,包括:
11、增加支持所述目标配置下的mb接口信息到usb gadget层request标准的描述符表。
12、在一些实施例中,所述进入usb mb interfacedxe安装程序,完成usb mbinterfacedxe加载部署,包括:
13、打开统一可扩展固件接口uefi标准的usb总线控制器驱动协议,获取操作句柄usbio handle;
14、基于统一可扩展固件接口uefi标准的usb总线控制器驱动协议方法函数,切换mbb设备usb mb驱动到主机的control interface控制接口;
15、创建虚构无线广域网wwan protocol,并在所述无线广域网wwan protocol中实现mb控制接口协议;
16、向统一可扩展固件接口uefi安装在无线广域网wwan protocol中实现的mb控制接口协议,并提供用于将上层应用服务接入无线广域网wwan protocol中mb控制接口协议的write/read方法函数;
17、基于统一可扩展固件接口uefi标准的usb总线控制器驱动协议方法函数,切换mbb设备usb mb驱动到data interface数据接口;
18、通过在无线广域网wwan protocol中实现mb数据接口协议,建立所述主机侧与所述外接设备间数据层面的通信;
19、向统一可扩展固件接口uefi安装无线广域网wwan protocol中的mb数据接口协议,及在无线广域网wwan protocol中实现simple network协议;
20、将在无线广域网wwan protocol中实现的simple network协议安装到edk2的snpstack网络协议栈,完成统一可扩展固件接口uefi环境下ip数据包业务路由到mbb设备的mb数据接口。
21、在一些实施例中,所述创建虚构无线广域网wwan protocol,并在所述无线广域网wwan protocol中实现mb控制接口协议后,所述向统一可扩展固件接口uefi安装在无线广域网wwan protocol中实现的mb控制接口协议前,所述方法包括:
22、在无线广域网wwan protocol中控制接口协议及通信方法函数,完成usb mbcontrol interface端点控制调度数据传送;
23、基于无线广域网wwan protocol中控制接口协议及write/read方法函数完成对usb控制接口通信方法函数调度。
24、在一些实施例中,所述通过在无线广域网wwan protocol中实现mb数据接口协议,建立所述主机侧与所述外接设备间数据层面的通信,包括:
25、创建usb mb数据接口协议bulkin端点数据队列;
26、创建usb mb数据接口bulkin端点定时调度方法函数,并存储在所述bulkin端点数据队列中;
27、为无线广域网wwan protocol中的mb数据接口协议创建虚构的simple network协议,实现mb数据接口协议接入到edk2网络协议栈,以实现uefi环境全局共享mbb设备网络;
28、在simple network协议中实现start/initialize方法函数,完成mbb设备的mb数据接口ntb初始化;
29、在simple network协议中实现发送方法函数transmit,完成uefi环境下simplenetwork协议栈ip数据包对usb mb数据接口ntp报文进行打包,并发送打包的usb mb数据接口ntp报文到usb mb数据接口bulk out端点;
30、在simple network协议模型中实现发送方法函数receive,完成所述bulkin端点数据队列中读取mbb设备原始的ntp数据包,并拆包ntp报文为ip数据包提交给simplenetwork协议栈。
31、第二方面,本公开提供一种uefi环境下usb接口的mb协议驱动实现装置,应用于主机侧,所述装置包括:
32、第一信息获取模块,用于获取外接设备的设备id;
33、信息判断模块,用于基于所述外接设备的设备id判断所述外接设备是否属于quectel mbb设备;
34、第二信息获取模块,用于若所述外接设备属于quectel mbb设备,则向所述外接设备发送基本描述符,以获取所述外接设备的mb接口信息;其中,所述mb接口信息至少包括以下信息之一:mb接口归属的配置id、接口id、端点id;
35、配置确定模块,用于基于所述外接设备的mb接口信息,确定出所述外接设备内支持多套mbb设备usb配置中与所述外接设备的mb接口信息匹配的目标配置;
36、驱动加载模块,用于通过usb mb interfacedxe记录所述目标配置的usb配置id、接口id及端点id对所述外接设备进行初始化,并进入usb mb interfacedxe安装程序,完成usb mb interfacedxe加载部署。
37、在一些实施例中,所述配置确定模块,用于
38、增加支持所述目标配置下的mb接口信息到usb gadget层request标准的描述符表。
39、在一些实施例中,所述驱动加载模块,用于
40、打开统一可扩展固件接口uefi标准的usb总线控制器驱动协议,获取操作句柄usbio handle;
41、基于统一可扩展固件接口uefi标准的usb总线控制器驱动协议装置函数,切换mbb设备usb mb驱动到主机的control interface控制接口;
42、创建虚构无线广域网wwan protocol,并在所述无线广域网wwan protocol中实现mb控制接口协议;
43、向统一可扩展固件接口uefi安装在无线广域网wwan protocol中实现的mb控制接口协议,并提供用于将上层应用服务接入无线广域网wwan protocol中mb控制接口协议的write/read方法函数;
44、基于统一可扩展固件接口uefi标准的usb总线控制器驱动协议方法函数,切换mbb设备usb mb驱动到data interface数据接口;
45、通过在无线广域网wwan protocol中实现mb数据接口协议,建立所述主机侧与所述外接设备间数据层面的通信;
46、向统一可扩展固件接口uefi安装无线广域网wwan protocol中的mb数据接口协议,及在无线广域网wwan protocol中实现simple network协议;
47、将在无线广域网wwan protocol中实现的simple network协议安装到edk2的snpstack网络协议栈,完成统一可扩展固件接口uefi环境下ip数据包业务路由到mbb设备的mb数据接口。
48、第三方面,本公开提供一种计算机可读存储介质,其上存储有uefi环境下usb接口的mb协议驱动实现程序,该uefi环境下usb接口的mb协议驱动实现程序被处理器执行时,实现上述第一方面所述的uefi环境下usb接口的mb协议驱动实现方法。
49、第四方面,本公开提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的uefi环境下usb接口的mb协议驱动实现程序,所述处理器执行所述uefi环境下usb接口的mb协议驱动实现程序时,实现上述第一方面所述的uefi环境下usb接口的mb协议驱动实现方法。
50、根据本公开实施例的uefi环境下usb接口的mb协议驱动实现方法,包括获取外接设备的设备id;基于外接设备的设备id判断外接设备是否属于quectel mbb设备;若外接设备属于quectel mbb设备,则向外接设备发送基本描述符,以获取外接设备的mb接口信息;其中,mb接口信息至少包括以下信息之一:mb接口归属的配置id、接口id、端点id;基于外接设备的mb接口信息,确定出支持多套mbb设备usb配置中与外接设备的mb接口信息匹配的目标配置;通过usb mb interfacedxe记录目标配置的usb配置id、接口id及端点id对外接设备进行初始化,并进入usb mb interfacedxe安装程序,完成usb mb interfacedxe加载部署。本技术中通过向外接设备发送基本描述符,以获取外接设备的mb接口信息;基于外接设备的mb接口信息,确定出支持多套mbb设备usb配置中与外接设备的mb接口信息匹配的目标配置,然后进行适配目标配置的usb mb interfacedxe程序加载部署,完成uefi环境下usb接口的mb协议驱动实现,以替代多套mbb设备usb配置下的mb接口枚举匹配,从而有利于实现快速匹配到目标配置进行mb协议驱动实现。
51、本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。